:root{--bg: #09090b;--surface: #141416;--surface-2: #1b1b20;--surface-3: #23232a;--border: #303039;--border-soft: rgba(255, 255, 255, .07);--text: #f5f5f2;--muted: #a5a5ad;--muted-2: #777781;--accent: #8b5cf6;--accent-soft: rgba(139, 92, 246, .16);--gold: #f59e0b;--gold-soft: rgba(245, 158, 11, .14);--green: #22c55e;--green-soft: rgba(34, 197, 94, .13);--red: #ef4444;--red-soft: rgba(239, 68, 68, .13);--blue: #38bdf8;--blue-soft: rgba(56, 189, 248, .13);color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:244px;z-index:20}.brand{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;min-height:86px;padding:20px}.brand-mark{align-items:center;background:var(--surface-3);border:1px solid var(--border);border-radius:8px;color:var(--gold);display:inline-flex;font-size:12px;font-weight:800;height:42px;justify-content:center;letter-spacing:.08em;width:42px}.brand-title{font-size:15px;font-weight:800}.brand-subtitle{color:var(--muted);font-size:12px;margin-top:2px}.nav-list{display:grid;gap:4px;padding:12px}.nav-button,.mobile-nav button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;gap:10px;min-height:42px;padding:0 12px;text-align:left}.nav-button:hover,.mobile-nav button:hover{background:var(--surface-2);color:var(--text)}.nav-button.active,.mobile-nav button.active{background:var(--accent-soft);border-color:#8b5cf64d;color:var(--text)}.sidebar-footer{border-top:1px solid var(--border);color:var(--muted);display:flex;font-size:12px;justify-content:space-between;margin-top:auto;padding:16px 20px}.logout-link{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:12px;padding:0}.logout-link:hover{color:var(--text)}.main-panel{margin-left:244px;min-height:100vh;padding:28px 34px 48px}.mobile-header,.mobile-nav{display:none}.top-actions{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}h1{font-size:25px;line-height:1.1;margin:0}.top-actions p{color:var(--muted);font-size:14px;margin:6px 0 0}.action-row,.toolbar,.row-actions,.platform-links{align-items:center;display:flex;gap:8px}.button,.icon-button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;justify-content:center;min-height:38px;transition:.12s ease}.button{border:1px solid transparent;gap:8px;padding:0 14px;white-space:nowrap}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:#7c3aed}.button.secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.button.secondary:hover,.icon-button:hover{border-color:#8b5cf680}.button.fit{width:fit-content}.button.full{width:100%}.button:disabled{cursor:not-allowed;opacity:.6}.icon-button{background:var(--surface-2);border:1px solid var(--border);height:36px;padding:0;width:36px}.icon-button.danger{color:#fca5a5}.view-stack,.followup-stack,.roi-stack{display:grid;gap:16px}.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card,.panel,.follow-alert,.notice,.metric,.roi-panel,.breakeven,.empty-panel,.compact-empty,.followup-card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.stat-card{min-height:140px;padding:18px}.stat-card svg{color:var(--muted)}.stat-card.accent .stat-value,.metric.accent strong,.result-row strong.accent{color:var(--accent)}.stat-card.warning .stat-value,.metric.warning strong,.result-row strong.warning{color:var(--gold)}.stat-card.success .stat-value,.metric.success strong,.result-row strong.success{color:var(--green)}.stat-card.danger .stat-value,.result-row strong.danger{color:var(--red)}.stat-value{font-size:32px;font-weight:850;letter-spacing:0;line-height:1;margin-top:14px}.stat-label{font-size:13px;font-weight:700;margin-top:8px}.stat-sublabel{color:var(--muted);font-size:12px;margin-top:2px}.alert-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.notice{align-items:center;display:flex;gap:10px;padding:12px 14px}.notice.danger,.follow-alert.danger,.group-title.danger{background:var(--red-soft);border-color:#ef444457}.notice.warning,.follow-alert.warning,.group-title.warning{background:var(--gold-soft);border-color:#f59e0b57}.follow-alert{padding:14px}.follow-alert-title,.panel-title,.group-title{align-items:center;display:flex;font-size:13px;font-weight:800;gap:8px;text-transform:uppercase}.alert-line{align-items:center;background:transparent;border:0;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;margin-top:10px;padding:0;width:100%}.alert-line small{color:var(--muted)}.panel{padding:18px}.panel.flush{overflow:hidden;padding:0}.panel-title{color:var(--muted);margin-bottom:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:13px;min-width:760px;width:100%}th{border-bottom:1px solid var(--border);color:var(--muted-2);font-size:11px;font-weight:800;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid var(--border-soft);padding:13px 14px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#ffffff06}td strong{display:block;font-size:13.5px}td small{color:var(--muted);display:block;font-size:11px;margin-top:2px}.positive{color:var(--green);font-weight:750}.muted{color:var(--muted)}.actions-col{width:96px}.badge,.date-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;min-height:24px;padding:0 9px;white-space:nowrap}.badge.neutral,.date-pill.neutral{background:#a5a5ad24;color:var(--muted)}.badge.info{background:var(--blue-soft);color:var(--blue)}.badge.accent{background:var(--accent-soft);color:#c4b5fd}.badge.success,.date-pill.success{background:var(--green-soft);color:#86efac}.badge.danger,.date-pill.danger{background:var(--red-soft);color:#fca5a5}.date-pill.warning{background:var(--gold-soft);color:#fcd34d}.platform-links a{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--muted);display:inline-flex;height:30px;justify-content:center;width:30px}.platform-links a:hover{border-color:#8b5cf699;color:var(--text)}.toolbar{flex-wrap:wrap}.search-box,.select-box{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted);display:flex;gap:8px;min-height:40px;padding:0 11px}.search-box{min-width:min(320px,100%)}.search-box input,.select-box select,input,select,textarea{background:transparent;border:0;color:var(--text);outline:none}.search-box input{width:100%}.select-box select{min-width:150px}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-height:40px;padding:9px 11px;width:100%}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8b5cf6b3}.empty-panel,.compact-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:9px;justify-content:center;min-height:260px;padding:28px;text-align:center}.compact-empty{min-height:120px}.compact-empty.tall{min-height:300px}.split-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.segmented{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:inline-flex;gap:4px;padding:4px;width:fit-content}.segmented button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;gap:7px;min-height:32px;padding:0 11px}.segmented button.active{background:var(--surface-3);color:var(--text)}.form-grid{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.one{grid-template-columns:1fr}.field{display:grid;gap:6px}.field.span-2{grid-column:1 / -1}.field>span{color:var(--muted);font-size:12px;font-weight:750}.inputs-table input{min-width:110px}.metric-grid,.estimator-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.estimator-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.metric{min-height:84px;padding:14px}.metric span{color:var(--muted);display:block;font-size:12px;font-weight:750}.metric strong{display:block;font-size:22px;margin-top:8px}.roi-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.roi-panel{background:var(--surface-2);padding:14px}.roi-panel h3{font-size:13px;margin:0 0 10px;text-transform:uppercase}.result-row{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;gap:12px;justify-content:space-between;padding:8px 0}.result-row:last-child{border-bottom:0}.result-row span{color:var(--muted);font-size:12px}.result-row strong{font-size:13px;text-align:right}.breakeven{padding:14px}.breakeven span{color:var(--muted);display:block;font-size:12px}.breakeven strong{color:var(--gold);display:block;font-size:24px;margin-top:2px}.progress-track{background:var(--surface-3);border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-fill{background:var(--gold);height:100%}.followup-group{display:grid;gap:8px}.group-title{border:1px solid var(--border);border-radius:8px;justify-content:space-between;padding:10px 12px}.group-title.success{background:var(--green-soft);border-color:#22c55e47}.group-title.neutral{background:var(--surface)}.followup-card{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;padding:14px;text-align:left;width:100%}.followup-card:hover{border-color:#8b5cf68c}.followup-card span{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.followup-card em{color:var(--muted);font-size:12px;font-style:normal}.modal-backdrop{align-items:flex-start;background:#000000b8;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;overflow-y:auto;padding:28px 16px;position:fixed;z-index:60}.modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 80px #00000080;max-width:840px;width:min(840px,100%)}.modal-header,.modal-footer{align-items:center;display:flex;justify-content:space-between;padding:18px 20px}.modal-header{border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px;margin:0}.modal-header span{color:var(--muted);display:block;font-size:12px;margin-top:3px}.modal-tabs{margin:16px 20px 0}.modal-body{max-height:68vh;overflow-y:auto;padding:18px 20px}.modal-footer{border-top:1px solid var(--border);gap:10px;justify-content:flex-end}.spin{animation:spin 1s linear infinite}.auth-page{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:18px;max-width:420px;padding:22px;width:100%}.login-brand{border:0;min-height:auto;padding:0 0 4px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.stat-grid,.alert-grid,.split-layout,.roi-grid,.estimator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.sidebar{display:none}.main-panel{margin-left:0;padding:18px 16px 88px}.mobile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.top-actions{align-items:stretch;flex-direction:column}.action-row{width:100%}.action-row .button{flex:1}.mobile-nav{background:var(--surface);border-top:1px solid var(--border);bottom:0;display:grid;grid-template-columns:repeat(4,1fr);left:0;padding:8px;position:fixed;right:0;z-index:50}.mobile-nav button{flex-direction:column;font-size:11px;gap:3px;justify-content:center;min-height:54px;padding:0 4px;text-align:center}.stat-grid,.alert-grid,.split-layout,.roi-grid,.form-grid,.metric-grid,.estimator-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search-box,.select-box,.toolbar .button{width:100%}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100vh;width:100%}.modal-body{max-height:none}.segmented{overflow-x:auto;width:calc(100% - 40px)}.followup-card{align-items:flex-start;flex-direction:column}}
