*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{-webkit-font-smoothing:antialiased}:root{--page-bg:#ecebe3;--card-bg:#fff;--spruce:#354940;--spruce-dark:#1a2e1f;--spruce-mid:rgba(53,73,64,.45);--spruce-faint:rgba(53,73,64,.08);--bone:#f1f0ea;--fg-primary:#1f2e28;--border:rgba(53,73,64,.1);--radius:6px;--font:"Montserrat",Arial,sans-serif;--fm:"Montserrat",Arial,sans-serif;--bg-app:var(--page-bg);--bg-card:var(--card-bg);--bg-sidebar:#354940}html[data-theme=dark]{--page-bg:#070c09;--card-bg:#131a15;--fg-primary:#f1f0ea;--border:rgba(200,209,197,.1);--spruce-faint:rgba(200,209,197,.05);--bg-app:var(--page-bg);--bg-card:var(--card-bg);--bg-sidebar:#0a110d}html[data-theme=dark] body{background:#070c09!important}html:not([data-theme=dark]) body{background:#ecebe3!important}body{background:var(--bg-app,var(--page-bg,#ecebe3))!important;color:var(--fg-primary,#1f2e28);transition:background .2s ease,color .2s ease}.sidebar,body{font-family:var(--font)}.sidebar{width:240px;flex-shrink:0;background:#1a2e1f;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:width .2s;border-right:1px solid rgba(200,209,197,.06);overflow:visible}.sidebar.collapsed{width:60px}.sb-mark{width:28px;height:28px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.sb-wordmark{font-size:13px;font-weight:600;letter-spacing:.13em;color:rgba(200,209,197,.85);white-space:nowrap;font-family:var(--font);flex:1;overflow:hidden}.sidebar.collapsed .sb-wordmark{display:none}.sb-brand{position:relative;padding:14px 18px;display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:60px;flex-shrink:0}.sidebar.collapsed .sb-brand{padding:16px 0;justify-content:center}.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.sb-section{padding:8px 18px 3px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(200,209,197,.25);font-family:var(--font)}.sidebar.collapsed .sb-section{display:none}.sb-divider{height:1px;background:rgba(200,209,197,.08);margin:5px 8px}.sb-link{display:flex;align-items:center;gap:10px;padding:9px 18px;border-left:2px solid transparent;background:transparent;cursor:pointer;transition:background .12s;text-decoration:none;color:rgba(200,209,197,.5);font-size:12px;font-weight:400;white-space:nowrap;font-family:var(--font)}.sidebar.collapsed .sb-link{padding:9px 0;justify-content:center}.sb-link:hover:not(.a){background:rgba(200,209,197,.05)}.sb-link.a{border-left-color:#c8d9c0;background:rgba(200,209,197,.1);color:#c8d9c0;font-weight:600}.sb-user{padding:12px 14px;flex-shrink:0;display:flex;align-items:center;gap:8px}.sidebar.collapsed .sb-user{justify-content:center;padding:12px 0}.sb-avatar{width:30px;height:30px;border-radius:50%;background:#2a4a30;border:1px solid rgba(200,209,197,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;color:#c8d9c0}.sb-user-info{min-width:0;flex:1}.sb-user-name{font-size:12px;font-weight:600;color:rgba(200,209,197,.85)}.sb-user-company,.sb-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-user-company{font-size:10px;color:rgba(200,209,197,.35)}.sb-logout{background:none;border:none;cursor:pointer;display:flex;padding:5px;border-radius:5px;flex-shrink:0;color:rgba(200,209,197,.5)}.sb-logout:hover{background:rgba(200,209,197,.08)}.sb-collapse{position:absolute;top:18px;right:-12px;width:24px;height:24px;border-radius:50%;background:#2a4a30;border:1px solid rgba(200,209,197,.2);justify-content:center;cursor:pointer;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.25)}.sb-collapse,.tb-top{display:flex;align-items:center}.tb-top{justify-content:space-between;padding:18px 28px 16px;border-bottom:1px solid var(--border);background:var(--card-bg);flex-shrink:0}.tb-left{display:flex;flex-direction:column;gap:2px}.tb-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--spruce-mid)}.tb-title{font-size:22px;font-weight:700;color:var(--spruce);line-height:1.2}html[data-theme=dark] .tb-title{color:#f1f0ea}.tb-sub{font-size:12px;color:var(--spruce-mid);margin-top:2px}.tb-right{display:flex;align-items:center;gap:8px}.content{padding:24px 28px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.kpi{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);padding:16px 20px;box-shadow:0 1px 0 rgba(53,73,64,.04),0 0 0 1px rgba(53,73,64,.04);text-decoration:none;display:block;transition:box-shadow .15s;cursor:pointer;color:inherit}.kpi:hover{box-shadow:0 2px 8px rgba(53,73,64,.1)}.kpi-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--spruce-mid);margin-bottom:8px}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary);line-height:1}.kpi-sub{font-size:11px;color:var(--spruce-mid);margin-top:4px}.card{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 1px 0 rgba(53,73,64,.04);overflow:hidden;margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border)}.card-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--spruce)}html[data-theme=dark] .card-title{color:#f1f0ea}.card-body,.card-diagnosis{padding:18px 20px}.card-diagnosis{background:var(--spruce);border-radius:var(--radius);border:1px solid rgba(200,209,197,.12);margin-bottom:12px}.badge{display:inline-block;font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font)}.badge-active{background:#dcfce7;color:#166534}.badge-paused{background:#fef3e2;color:#c97b22}.badge-churned{background:#fcecea;color:#c0392b}.badge-spruce{background:var(--spruce);color:var(--bone)}.badge-starter{background:hsla(150,9%,58%,.15);color:#8a9e94}.badge-growth{background:rgba(53,73,64,.12);color:var(--spruce)}.badge-authority{background:rgba(42,59,51,.15);color:#2a3b33}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;border:none;font-family:var(--font);text-decoration:none;transition:opacity .15s;line-height:1}.btn:hover{opacity:.88}.btn-primary{background:var(--spruce);color:var(--bone)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--spruce)}.btn-sm{padding:6px 12px;font-size:11px}.table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font)}.table thead tr{background:var(--spruce)}.table thead th{text-align:left;padding:10px 16px;font-size:10px;font-weight:700;color:var(--bone);letter-spacing:.08em;text-transform:uppercase}.table tbody tr{border-top:1px solid rgba(53,73,64,.07)}.table tbody tr:hover{background:rgba(53,73,64,.03)}.table tbody td{padding:10px 16px}.tab-row{display:flex;gap:2px;background:rgba(53,73,64,.1);border-radius:3px;padding:2px;width:-moz-fit-content;width:fit-content}.tab{font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:5px 14px;border:none;border-radius:2px;cursor:pointer;font-family:var(--font);background:transparent;color:var(--spruce-mid);transition:background .12s}.tab.a{background:var(--spruce);color:var(--bone)}.tab:hover:not(.a){background:rgba(53,73,64,.08)}.plat-card{background:rgba(53,73,64,.04);border-radius:3px;padding:14px 16px}.plat-name{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--spruce-mid);margin-bottom:8px}.plat-name,.plat-num{font-weight:600;font-family:var(--font)}.plat-num{font-size:24px;color:var(--spruce);line-height:1;margin-bottom:10px}.fmt-row{margin-bottom:14px}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.asset-card{background:rgba(53,73,64,.04);border-radius:3px;padding:14px 16px;border-left:3px solid var(--spruce)}.heatmap{border-collapse:collapse;width:100%}.heatmap th{padding:0 2px 6px;text-align:center}.heatmap td{padding:2px}.heatmap-cell{width:28px;height:20px;border-radius:2px;display:flex;align-items:center;justify-content:center}.action-list{display:flex;flex-direction:column;gap:12px}.action-row{display:flex;gap:10px;align-items:flex-start}.action-num{width:20px;height:20px;border-radius:2px;background:var(--spruce);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-size:9px;font-weight:600;color:var(--bone);font-family:var(--font)}.intel-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}@media (max-width:768px){.intel-2col{grid-template-columns:1fr!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease both}.mobile-nav{display:none}@media (max-width:768px){.sidebar{display:none}.mobile-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:64px;background:#1a2e1f;border-top:1px solid rgba(200,209,197,.08);z-index:100;justify-content:space-around;padding:0 8px}.mobile-nav,.mobile-nav-item{align-items:center;font-family:var(--font)}.mobile-nav-item{display:flex;flex-direction:column;gap:3px;color:rgba(200,209,197,.5);font-size:10px;font-weight:600;letter-spacing:.04em;text-decoration:none;padding:4px 10px;border-radius:8px;transition:color .12s}.mobile-nav-item.active,.mobile-nav-item:hover{color:#c8d9c0;background:rgba(200,209,197,.08)}.mobile-nav-item svg{width:20px;height:20px}.content,main{padding:16px 16px 80px!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important}.overview-grid{grid-template-columns:1fr!important}.plat-grid{grid-template-columns:repeat(2,1fr)!important}.tb-top{padding:14px 16px!important;flex-wrap:wrap;gap:10px}.tb-title{font-size:20px!important}.tb-right{flex-wrap:wrap}.tab-row{overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}.asset-grid{grid-template-columns:1fr!important}.hide-mobile{display:none!important}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr!important}.kpi-value{font-size:24px!important}.tb-title{font-size:18px!important}}.card-flat{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 1px 0 rgba(53,73,64,.04);overflow:hidden;margin-bottom:16px}.btn-link{background:none;border:none;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--spruce);text-decoration:none;font-family:var(--font)}html[data-theme=dark] .btn-link{color:rgba(200,209,197,.7)}:root{--pos:#2a7a4f;--neg:#8b4b4b;--warn:#c97b22}.kpi-value.green,[class*=mrr] .kpi-value{color:var(--pos)!important}.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kpi-head .kpi-label{margin-bottom:0}.kpi-icon{width:28px;height:28px;border-radius:4px;background:var(--spruce-faint);display:flex;align-items:center;justify-content:center;flex-shrink:0}html[data-theme=dark] .kpi-icon{background:rgba(200,209,197,.07)}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:16px}@media (max-width:768px){.overview-grid{grid-template-columns:1fr!important}}.qa-list{display:flex;flex-direction:column;gap:2px}.qa-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;text-decoration:none;color:inherit;transition:background .12s}.qa-icon,.qa-row:hover{background:var(--spruce-faint)}.qa-icon{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}.qa-label{flex:1;font-size:13px;font-weight:600;color:var(--fg-primary);font-family:var(--font)}.qa-arrow{font-size:14px;color:var(--spruce-mid)}.roster-list{display:flex;flex-direction:column}.roster-row{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border)}.roster-row:last-child{border-bottom:none}.roster-avatar{width:32px;height:32px;border-radius:50%;background:var(--spruce-faint);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:700;color:var(--spruce)}html[data-theme=dark] .roster-avatar{color:rgba(200,209,197,.7)}.roster-info{flex:1;min-width:0}.roster-name{font-size:13px;font-weight:600;color:var(--fg-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-meta{font-size:10px;color:var(--spruce-mid);margin-top:1px}.act-list{display:flex;flex-direction:column}.act-row{display:flex;align-items:flex-start;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border)}.act-row:last-child{border-bottom:none}.act-tag{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:2px;background:var(--spruce);color:var(--bone);flex-shrink:0;margin-top:2px;font-family:var(--font)}.act-info{flex:1;font-size:12px;color:var(--fg-primary);line-height:1.5;min-width:0}.act-time{font-size:10px;color:var(--spruce-mid);flex-shrink:0;white-space:nowrap;margin-top:2px}.plat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width:768px){.plat-grid{grid-template-columns:repeat(2,1fr)!important}}[data-theme=dark] .card,[data-theme=dark] .card-flat{background:#131a15!important;border-color:rgba(200,209,197,.1)!important}[data-theme=dark] .sidebar{background:#0a110d!important}[data-theme=dark] .tb-top{background:#0d1410!important}[data-theme=dark] .kpi{background:#131a15!important;border-color:rgba(200,209,197,.08)!important}[data-theme=dark] .asset-card,[data-theme=dark] .plat-card{background:rgba(200,209,197,.04)!important}[data-theme=dark] .roster-avatar{background:rgba(200,209,197,.07)!important}[data-theme=dark] .card-title,[data-theme=dark] .plat-num,[data-theme=dark] .tb-title{color:#f1f0ea!important}[data-theme=dark] .qa-row:hover{background:rgba(200,209,197,.05)!important}[data-theme=dark] .qa-icon{background:rgba(200,209,197,.07)!important}[data-theme=dark] .tab-row{background:rgba(200,209,197,.08)!important}[data-theme=dark] .tab.a{background:#354940!important;color:#f1f0ea!important}[data-theme=dark] .table thead tr{background:#0a110d!important}[data-theme=dark] .table tbody tr:hover{background:rgba(200,209,197,.03)!important}[data-theme=dark] .card-diagnosis{background:rgba(53,73,64,.6)!important}[data-theme=dark] .action-num{background:#354940!important}