:root{background:#f6f7f9;color:#172026;font-family:Inter,Arial,Helvetica,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.dashboard-shell{background:#f6f7f9;color:#172026;display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:18px;min-width:0;padding:18px 14px;position:sticky;top:0;height:100vh}.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-nav span,.collapse-button span{display:none}.sidebar-collapsed .brand-row,.sidebar-collapsed .brand-block{justify-content:center}.sidebar-collapsed .brand-mark{flex-basis:42px;height:42px;width:42px}.sidebar-collapsed .sidebar-nav button,.sidebar-collapsed .collapse-button{justify-content:center;padding:0}.brand-row,.brand-block,.topbar,.topbar-actions,.panel-heading,.kpi-header,.kpi-footer,.confidence-row{align-items:center;display:flex}.brand-row{justify-content:flex-start;min-height:48px}.brand-block{gap:10px;min-width:0}.brand-mark{background:#111827;border-radius:10px;color:#fff;display:grid;flex:0 0 40px;font-size:16px;font-weight:800;height:40px;place-items:center;width:40px}.brand-block p,.eyebrow{color:#64748b;font-size:12px;font-weight:800;margin:0;text-transform:uppercase}.brand-block strong{display:block;font-size:15px;margin-top:2px;white-space:nowrap}.sidebar-nav{display:grid;gap:5px}.sidebar-nav button{align-items:center;background:transparent;border-radius:8px;color:#475569;display:flex;gap:10px;height:44px;padding:11px 12px;text-align:left;transition:background .16s ease,color .16s ease;width:100%}.sidebar-nav button svg{height:18px;width:18px}.sidebar-nav button.active{background:#eef2ff;color:#1d4ed8;font-weight:800}.sidebar-nav button:hover{background:#f1f5f9;color:#0f172a}.sidebar-footer{display:flex;justify-content:center;margin-top:auto;padding-top:12px}.collapse-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:999px;color:#64748b;display:flex;height:34px;justify-content:center;padding:0;transition:background .16s ease,border-color .16s ease,color .16s ease;width:34px}.collapse-button:hover{background:#f8fafc;border-color:#e2e8f0;color:#0f172a}.collapse-button svg{height:17px;width:17px}.main-area{min-width:0;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #e2e8f0;gap:20px;justify-content:space-between;min-height:82px;padding:18px 28px}.topbar-actions{flex-wrap:wrap;gap:10px;justify-content:flex-end}h1,h2,h3{margin:0}h1{font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.1;margin-top:4px}h2{font-size:19px;font-weight:800}h3{font-size:15px;font-weight:800}.primary-button,.secondary-button{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:800;gap:8px;min-height:40px;padding:9px 13px}.primary-button{background:#1d4ed8;color:#fff}.secondary-button{background:#fff;border:1px solid #cbd5e1;color:#334155}.primary-button svg,.secondary-button svg{height:16px;width:16px}.primary-button:disabled{background:#1e40af;opacity:.86}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.content-stack{display:grid;gap:20px;padding:24px 28px 32px}.kpi-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.kpi-card{display:grid;gap:16px;min-height:124px;padding:18px}.kpi-header,.kpi-footer,.panel-heading,.confidence-row{justify-content:space-between}.kpi-header span,.confidence-row span,th,td:nth-child(3),td:nth-child(4),.muted-text{color:#64748b}.kpi-header svg{color:#2563eb;height:21px;width:21px}.kpi-footer strong{font-size:25px}.panel{padding:22px}.panel-heading{gap:14px;margin-bottom:20px}.panel-heading .eyebrow{margin-bottom:6px}.trend-pill,.status-pill,.table-pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;line-height:1;padding:7px 9px}.trend-pill{align-items:center;background:#dcfce7;color:#166534;gap:4px}.trend-pill svg{height:13px;width:13px}.status-pill,.table-pill{background:#f1f5f9;border:1px solid #e2e8f0;color:#334155}.decision-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr)}.profile-grid,.metrics-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.flow-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.flow-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:220px;padding:16px}.step-number{background:#e0ecff;border-radius:8px;color:#1d4ed8;display:grid;height:42px;margin-bottom:16px;place-items:center;width:42px}.step-number svg{height:21px;width:21px}.flow-card p{color:#64748b;font-size:11px;font-weight:800;margin:0 0 8px;text-transform:uppercase}.flow-card ul{color:#475569;display:grid;gap:9px;list-style:none;margin:16px 0 0;padding:0}.flow-card li{align-items:center;display:flex;font-size:13px;gap:8px}.flow-card li span{background:#2563eb;border-radius:999px;flex:0 0 6px;height:6px;width:6px}.recommendation-panel{display:grid;gap:14px}.confidence-card{background:#f8fafc;border-radius:8px;display:grid;gap:14px;padding:18px}.confidence-row strong{font-size:27px}.confidence-card p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.progress-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden;width:100%}.progress-track>span{background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:inherit;box-shadow:inset 0 -1px #0f172a29;display:block;height:100%}.journey-track{display:grid;gap:8px;grid-template-columns:repeat(13,minmax(0,1fr));padding:6px 0 2px}.journey-step{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:8px;color:inherit;display:grid;gap:6px;min-height:156px;min-width:0;overflow:hidden;padding:9px 7px;position:relative;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.journey-step:hover,.journey-step.active{border-color:#93c5fd;box-shadow:0 10px 24px #2563eb1a;transform:translateY(-1px)}.journey-step.active{background:linear-gradient(180deg,#fff,#eff6ff)}.journey-step:after{background:#dbe3ee;content:"";height:2px;left:38px;position:absolute;right:8px;top:24px}.journey-step:last-child:after{display:block}.day-pill{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:11px;font-weight:800;justify-self:start;padding:4px 7px;position:relative;z-index:1}.journey-icon{background:#1d4ed8;border-radius:8px;color:#fff;display:grid;height:30px;place-items:center;position:relative;z-index:1;width:30px}.journey-icon svg{height:16px;width:16px}.journey-step strong{color:#0f172a;display:-webkit-box;font-size:12px;line-height:1.2;min-width:0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.journey-step small{color:#64748b;font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.journey-step p,.rule-card dd,.metric-card p,.alert-list p,.client-card p,.phase-summary p{color:#64748b;font-size:13px;line-height:1.5;margin:0}.journey-step p{display:-webkit-box;font-size:11px;line-height:1.35;min-width:0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.customer-count{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#047857;font-size:10px;font-weight:800;justify-self:start;max-width:100%;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.phase-detail{display:grid;gap:18px}.phase-summary{display:grid;gap:12px;grid-template-columns:minmax(150px,.35fr) minmax(150px,.25fr) minmax(280px,1fr)}.phase-summary article,.client-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:8px;padding:14px}.phase-summary span{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.phase-summary strong{color:#0f172a;font-size:20px}.client-detail-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.client-card strong{color:#1d4ed8;font-size:18px}.rule-card{display:grid;gap:14px}.rule-card h3{font-size:16px;line-height:1.35}.rule-card dl{display:grid;gap:12px;margin:0}.rule-card dt{color:#334155;font-size:12px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.rule-card dd{margin:0}.metric-card{display:grid;gap:8px;min-height:142px}.metric-card span{color:#64748b;font-size:13px;font-weight:800}.metric-card strong{color:#0f172a;font-size:28px}.ops-loop{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.loop-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;min-height:72px;padding:12px}.loop-item span{background:#1d4ed8;border-radius:999px;color:#fff;display:grid;flex:0 0 28px;font-size:12px;font-weight:800;height:28px;place-items:center;width:28px}.loop-item strong{font-size:14px;line-height:1.3}.alert-list{display:grid;gap:12px}.alert-list p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:860px;text-align:left;width:100%}th{color:#64748b;font-size:13px;font-weight:800;padding:13px 12px 13px 0}td{border-top:1px solid #e2e8f0;font-size:14px;padding:15px 12px 15px 0;vertical-align:middle}td:first-child{color:#0f172a;font-weight:800}.auth-shell{align-items:center;background:#f6f7f9;display:grid;min-height:100vh;padding:24px;place-items:center}.auth-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 20px 70px #0f172a1f;display:grid;gap:28px;max-width:460px;padding:32px;width:100%}.auth-form,.user-form{display:grid;gap:14px}label{color:#334155;display:grid;font-size:13px;font-weight:800;gap:8px}input,select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font:inherit;min-height:42px;outline:none;padding:10px 12px}input:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.form-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#be123c;font-size:13px;margin:0;padding:10px 12px}.form-success{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;color:#047857;font-size:13px;margin:0;padding:10px 12px}.user-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#334155;display:inline-flex;font-size:13px;font-weight:800;min-height:40px;padding:8px 12px}.users-grid{display:grid;gap:20px;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);padding:24px 28px 32px}.account-grid{display:grid;grid-template-columns:minmax(320px,520px);padding:24px 28px 32px}.empty-page{align-items:center;color:#64748b;display:grid;gap:12px;justify-items:start;min-height:260px}.empty-page svg{color:#2563eb;height:34px;width:34px}.icon-button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#dc2626;display:inline-flex;height:36px;justify-content:center;width:36px}.icon-button.neutral{color:#334155;flex:0 0 36px}.icon-button svg{height:16px;width:16px}@media(max-width:1180px){.kpi-grid,.flow-grid,.profile-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-grid,.users-grid,.account-grid,.client-detail-grid,.phase-summary{grid-template-columns:1fr}.ops-loop{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.dashboard-shell,.dashboard-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #e2e8f0;border-right:0;height:auto;position:static}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-nav span{display:block}.sidebar-collapsed .brand-row,.sidebar-collapsed .brand-block{justify-content:flex-start}.sidebar-collapsed .sidebar-nav button{justify-content:flex-start;padding:0 12px}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column;padding:20px}.topbar-actions{justify-content:flex-start}.content-stack,.users-grid,.account-grid{padding:20px}}@media(max-width:620px){.sidebar-nav,.kpi-grid,.flow-grid,.profile-grid,.metrics-grid,.ops-loop{grid-template-columns:1fr}.panel,.kpi-card,.auth-panel{padding:18px}.panel-heading{align-items:flex-start;flex-direction:column}.primary-button,.secondary-button{justify-content:center;width:100%}.topbar-actions{width:100%}}
