:root{--bg-base: #0f1115;--bg-surface: #171a21;--bg-card: #1e222b;--border: #2a3140;--border-green: #22c55e;--green-glow: rgba(34, 197, 94, .15);--green-border: rgba(34, 197, 94, .45);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--r-md: 8px;--r-lg: 12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg-base);color:var(--text-primary)}a{color:#86efac}.app-loading{padding:48px;text-align:center;color:var(--text-secondary)}.btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:var(--r-md);padding:8px 14px;cursor:pointer;font-size:14px}.btn.green{border-color:var(--green-border);background:#22c55e2e}.btn.ghost{background:transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}.toast{position:fixed;right:16px;bottom:16px;background:#14532d;border:1px solid var(--green-border);padding:12px 16px;border-radius:var(--r-md);z-index:1000}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:900}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;max-width:720px;width:calc(100% - 32px);max-height:90vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,rgba(34,197,94,.08),transparent 40%),var(--bg-base)}.auth-card{width:100%;max-width:440px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);padding:28px}.auth-title{font-size:26px;margin:0 0 8px}.auth-subtitle{color:var(--text-secondary);margin:0 0 18px}.auth-label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px}.auth-input,.auth-select,.auth-textarea{width:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);color:var(--text-primary);padding:10px 12px;margin-bottom:14px}.auth-textarea{min-height:96px;resize:vertical}.auth-btn{width:100%;height:42px;border:1px solid var(--green-border);border-radius:var(--r-md);background:#22c55e33;color:var(--text-primary);font-weight:600;cursor:pointer}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-error{color:#ef4444;font-size:14px;margin:0 0 10px}.auth-footer{margin-top:16px;font-size:14px;color:var(--text-secondary);text-align:center}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tab{flex:1;padding:8px;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.auth-tab.active{border-color:var(--green-border);color:var(--text-primary);background:#22c55e1f}.settlement-panel h2{margin-bottom:12px}.settlement-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:20px}.settlement-actions label{display:flex;flex-direction:column;gap:4px;font-size:13px}.settlement-actions input[type=month]{padding:8px}.settlement-search{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 12px}.settlement-search-field{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:240px;flex:1}.settlement-search-field input{padding:8px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:100%;max-width:360px}.settlement-search-hint{margin:0 0 24px;font-size:13px;color:var(--text-secondary)}.settlement-batch-desc{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.settlement-cooling-info{margin:0 0 16px;padding:10px 12px;background:#3b82f61f;border:1px solid rgba(59,130,246,.28);border-radius:var(--radius-sm);font-size:13px;color:var(--accent-soft);line-height:1.5}.settlement-force-hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.45}.settlement-force-hint strong{color:var(--text-secondary)}.settlement-progress-cell{min-width:200px;max-width:280px;color:var(--text);vertical-align:middle}.settlement-progress-compact{display:flex;align-items:center;gap:8px;width:100%;padding:4px 6px;margin:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.settlement-progress-compact:hover{background:var(--hover);border-color:var(--line)}.settlement-progress-compact-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--muted-soft)}.settlement-progress-compact-dot--done{background:var(--green)}.settlement-progress-compact-dot--current{background:var(--accent-2);box-shadow:0 0 0 2px #60a5fa4d}.settlement-progress-compact-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.settlement-progress-compact-label{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settlement-progress-compact-eta{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settlement-progress-compact-meta{flex-shrink:0;font-size:10px;font-weight:600;color:var(--accent-soft);padding:2px 6px;border-radius:999px;background:#3b82f61f}.settlement-progress-modal{width:min(720px,calc(100vw - 40px))}.settlement-progress-modal-sub{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.settlement-progress-steps-head--modal{margin-bottom:12px}.settlement-progress-timeline{margin-bottom:16px;padding:12px 4px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-subtle)}.settlement-progress-timeline-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:10px}.settlement-progress-timeline-label{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:center}.settlement-progress-timeline-date{font-size:10px;color:var(--muted);line-height:1.2;word-break:break-word}.settlement-progress-timeline-name{font-size:11px;font-weight:600;color:var(--muted)}.settlement-progress-timeline-label--done .settlement-progress-timeline-date,.settlement-progress-timeline-label--done .settlement-progress-timeline-name{color:var(--green-soft)}.settlement-progress-timeline-label--current .settlement-progress-timeline-date,.settlement-progress-timeline-label--current .settlement-progress-timeline-name{color:var(--accent-soft)}.settlement-progress-timeline-track{position:relative;height:8px;margin:0 8px;background:var(--surface);border-radius:4px}.settlement-progress-timeline-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--green),var(--accent-2));border-radius:4px;transition:width .2s ease}.settlement-progress-timeline-dots{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:0 2px}.settlement-progress-timeline-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--muted-soft);background:var(--card);z-index:1}.settlement-progress-timeline-dot--done{border-color:var(--green);background:var(--green)}.settlement-progress-timeline-dot--current{border-color:var(--accent-2);background:var(--accent-2);box-shadow:0 0 0 3px #60a5fa40}.settlement-progress-step-list--modal,.settlement-progress-steps-head{margin-bottom:8px}.settlement-progress-steps-remaining{display:inline-block;font-size:12px;font-weight:600;color:var(--accent-soft);padding:2px 8px;border-radius:999px;background:#3b82f626}.settlement-progress-steps-remaining--done{color:var(--green-soft);background:#22c55e26}.settlement-progress-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.settlement-progress-step{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35}.settlement-progress-step-marker{flex-shrink:0;width:10px;height:10px;margin-top:3px;border-radius:50%;border:2px solid var(--muted-soft);background:transparent}.settlement-progress-step--done .settlement-progress-step-marker{border-color:var(--green);background:var(--green)}.settlement-progress-step--current .settlement-progress-step-marker{border-color:var(--accent-2);background:var(--accent-2);box-shadow:0 0 0 2px #60a5fa40}.settlement-progress-step--upcoming .settlement-progress-step-marker{border-color:var(--muted-soft);background:transparent}.settlement-progress-step--skipped .settlement-progress-step-marker{border-color:var(--line-strong);background:var(--surface)}.settlement-progress-step-body{display:flex;flex-direction:column;gap:1px;min-width:0}.settlement-progress-step-label{font-weight:600;color:var(--text)}.settlement-progress-step--done .settlement-progress-step-label{color:var(--green-soft)}.settlement-progress-step--current .settlement-progress-step-label{color:var(--accent-soft)}.settlement-progress-step--upcoming .settlement-progress-step-label,.settlement-progress-step--skipped .settlement-progress-step-label{color:var(--muted)}.settlement-progress-step-eta{font-size:11px;color:var(--text-secondary);word-break:break-word}.settlement-progress-step--current .settlement-progress-step-eta{color:var(--text);font-weight:500}.settlement-batch-actions{display:flex;flex-wrap:wrap;gap:6px}.settlement-batch-row-active{background:#4caf501f}.settlement-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:24px}.settlement-table th,.settlement-table td{border:1px solid var(--line);padding:8px;text-align:left;color:var(--text)}.settlement-table th{color:var(--text-secondary);font-weight:600}.portal-shell{display:flex;min-height:100vh}.portal-sidebar{width:240px;background:var(--bg-surface);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:16px}.portal-brand{font-weight:700;font-size:18px}.portal-nav{display:flex;flex-direction:column;gap:8px;flex:1}.portal-nav a{text-decoration:none;color:var(--text-secondary);padding:8px 10px;border-radius:var(--r-md)}.portal-nav a.active{color:var(--text-primary);background:#22c55e1f;border:1px solid var(--green-border)}.portal-user{border-top:1px solid var(--border);padding-top:12px}.portal-user-email{font-size:13px;color:var(--text-secondary);margin-bottom:8px;word-break:break-all}.portal-main{flex:1;padding:24px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px}.summary-card h3{margin:0 0 6px;font-size:13px;color:var(--text-secondary);font-weight:500}.summary-card p{margin:0;font-size:22px;font-weight:700}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}.data-table th{color:var(--text-secondary);font-weight:600}.policy-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;margin-bottom:20px;color:var(--text-secondary);font-size:14px;line-height:1.5}.affiliate-panel h2{margin-bottom:12px}.affiliate-filters{display:flex;gap:8px;margin-bottom:16px}.affiliate-table{width:100%;border-collapse:collapse;font-size:13px}.affiliate-table th,.affiliate-table td{border:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}.affiliate-actions{display:flex;gap:6px;flex-wrap:wrap}.device-price-panel h2{margin-bottom:12px}.device-price-tabs-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.device-price-tabs{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.device-price-sync-products{flex-shrink:0;white-space:nowrap}.device-price-form{margin-bottom:20px}.device-price-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.device-price-form-header .device-price-preview{margin:0;flex:1;min-width:0}.device-price-preview{color:#333}.device-price-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.device-price-row+.device-price-row{margin-top:12px}.device-price-row--actions{grid-template-columns:repeat(3,minmax(0,1fr))}.device-price-save{flex-shrink:0;min-width:96px;margin:0}.device-price-field{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:0}.device-price-field span{white-space:nowrap}.device-price-field input,.device-price-field select{width:100%;box-sizing:border-box;padding:8px;border:1px solid #ccc;border-radius:4px}.device-price-field input[type=number]{-moz-appearance:textfield}.device-price-field input[type=number]::-webkit-inner-spin-button,.device-price-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.device-price-history table{width:100%;border-collapse:collapse;font-size:13px}.device-price-history th,.device-price-history td{border:1px solid #ddd;padding:6px 8px;text-align:left}.device-price-check{margin-bottom:20px}.device-price-check-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.device-price-check-header h3{margin:0}.device-price-check table{width:100%;border-collapse:collapse;font-size:13px}.device-price-check th,.device-price-check td{border:1px solid #ddd;padding:6px 8px;text-align:left;vertical-align:middle}.device-price-check-row-mismatch{background:#ffc4001f}.device-price-check-mismatch{background:#ff787840;font-weight:600}.device-price-check-ok{color:#2e7d32;font-weight:600}.device-price-sync-btn{padding:4px 10px;font-size:12px;white-space:nowrap}
