:root{font-family:Aptos,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:dark;--bg: #06101a;--sidebar: #081521;--panel: #0b1724;--panel-2: #101d2d;--line: #20354c;--text: #f2f6fb;--muted: #a0adba;--accent: #1778ff;--accent-2: #ff7a31;--accent-soft: rgba(23, 120, 255, .17);--teal: #14c7b7;--violet: #8b5cf6;--rose: #f43f5e;--amber: #f59e0b;--success: #22c55e;--danger: #ef4444;background:var(--bg);color:var(--text)}:root[data-theme=light]{color-scheme:light;--bg: #eef3f8;--sidebar: #ffffff;--panel: #ffffff;--panel-2: #f4f7fb;--line: #d8e2ed;--text: #132130;--muted: #627181;--accent-soft: rgba(23, 120, 255, .12)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;min-width:1180px;min-height:680px;overflow:hidden;background:linear-gradient(180deg,#07121d 0%,var(--bg) 100%);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}input,select{min-height:38px;border:1px solid var(--line);background:#09121ec7;color:var(--text);border-radius:7px;padding:0 12px}:root[data-theme=light] input,:root[data-theme=light] select{background:#fff}.login-screen{height:100vh;display:grid;place-items:center;padding:32px}.login-panel,.admin-form-panel,.report-panel,.chart-panel,.table-panel,.insight-panel,.metric-card{border:1px solid var(--line);background:linear-gradient(180deg,#0f1d2df5,#08121ef5);border-radius:8px;box-shadow:inset 0 1px #ffffff08}:root[data-theme=light] .login-panel,:root[data-theme=light] .admin-form-panel,:root[data-theme=light] .report-panel,:root[data-theme=light] .chart-panel,:root[data-theme=light] .table-panel,:root[data-theme=light] .insight-panel,:root[data-theme=light] .metric-card{background:#fff}.login-panel{width:min(430px,100%);padding:28px}.login-brand{margin-bottom:28px}.login-form{display:grid;gap:16px}label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.primary-button,.secondary-button,.icon-text-button,.icon-button,.nav-item,.clear-button,.export-button,.tcp-download-link{border:1px solid var(--line);color:var(--text);background:var(--panel-2);border-radius:7px}.primary-button,.export-button{min-height:40px;background:linear-gradient(180deg,#1882ff,#0b56c9);border-color:#156fe1;color:#fff;font-weight:800}.secondary-button,.clear-button{padding:7px 10px}.danger-button{color:#ffb4b4;border-color:#ef444480}.inline-action,.export-button,.icon-text-button,.tcp-download-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.tcp-download-link{min-height:40px;padding:0 12px;color:var(--text);text-decoration:none}.tcp-download-link:hover{border-color:var(--accent);color:#fff}.tcp-download-link.compact{width:64px;padding:0 10px}.icon-button{width:40px;height:40px;display:grid;place-items:center}.error-banner,.success-banner,.loading-panel{border-radius:7px;padding:12px;font-weight:700}.error-banner{color:var(--danger);background:#ef444421}.success-banner{color:var(--success);background:#22c55e21}.loading-panel{border:1px solid var(--line);background:var(--panel)}.app-shell{height:100vh;display:grid;grid-template-columns:72px minmax(0,1fr);overflow:hidden}.sidebar{position:relative;z-index:10;width:72px;height:100vh;overflow:hidden;border-right:1px solid var(--line);background:#06101afa;padding:14px;display:flex;flex-direction:column;gap:16px;transition:width .18s ease,box-shadow .18s ease}.sidebar:hover{width:236px;box-shadow:20px 0 45px #00000052}:root[data-theme=light] .sidebar{background:#fff}.sidebar-text{opacity:0;pointer-events:none;transition:opacity .12s ease}.sidebar:hover .sidebar-text{opacity:1;pointer-events:auto}.brand-block{display:flex;align-items:center;gap:10px;min-height:42px}.brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#1778ff,#14c7b7);color:#fff;font-weight:900}.brand-name{font-size:18px;font-weight:900}.brand-subtitle{color:var(--muted);font-size:11px}.nav-list{display:grid;gap:8px}.nav-item{width:100%;min-height:40px;display:flex;align-items:center;gap:11px;padding:0 12px;text-align:left;background:transparent}.nav-item svg{flex:0 0 auto}.nav-item.active{background:linear-gradient(180deg,#126bdf,#0b4fb1);border-color:#1778ff;color:#fff}.sidebar-filters{display:none;gap:12px;min-width:206px;overflow:hidden}.sidebar:hover .sidebar-filters{display:grid}.filter-title{padding-top:10px;border-top:1px solid var(--line);text-transform:uppercase;font-size:12px;font-weight:900}.filter-group{display:grid;gap:8px}.filter-group>span{color:var(--muted);font-size:12px;font-weight:800}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{min-height:34px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:7px}.segmented button.active{background:var(--accent);border-color:var(--accent);color:#fff}.check-row{display:flex;grid-template-columns:none;align-items:center;gap:8px;min-height:22px;color:var(--text);font-size:12px}.check-row input{min-height:auto;width:14px;height:14px;padding:0}.clear-button{min-height:36px}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.user-chip{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:7px;color:var(--muted);word-break:break-word;font-size:12px}.user-chip strong{color:var(--text)}.workspace{min-width:0;height:100vh;display:grid;grid-template-rows:74px minmax(0,1fr);overflow:hidden}.topbar{height:74px;border-bottom:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#050d16d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=light] .topbar{background:#ffffffe6}.topbar h1{margin:0;font-size:20px;line-height:1.1}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.topbar-actions{display:flex;align-items:center;gap:10px}.date-pill{height:40px;min-width:228px;padding:0 12px;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:#09121ec7;font-size:13px}.content-area{min-height:0;padding:10px 12px 10px 14px;overflow:hidden}.page-grid,.dashboard-grid,.users-grid,.revenue-360{min-height:0;display:grid;gap:12px}.report360-view{height:100%;min-height:0;display:grid;grid-template-rows:116px 236px minmax(0,1fr);gap:10px}.overview-card-row{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.overview-card{min-width:0;padding:14px 14px 10px;border:1px solid var(--line);border-radius:8px;display:grid;gap:7px;overflow:hidden}.overview-card.blue{background:linear-gradient(135deg,#1778ff42,#06101af5);border-color:#1778ff80;color:#4c9dff}.overview-card.violet{background:linear-gradient(135deg,#8b5cf63d,#06101af5);border-color:#8b5cf67a;color:#a78bfa}.overview-card.teal{background:linear-gradient(135deg,#14c7b738,#06101af5);border-color:#14c7b773;color:#2dd4bf}.overview-card.amber{background:linear-gradient(135deg,#f59e0b33,#06101af5);border-color:#f59e0b73;color:#f59e0b}.overview-card.rose{background:linear-gradient(135deg,#f43f5e33,#06101af5);border-color:#f43f5e73;color:#fb7185}.overview-card-top{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px}.overview-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#ffffff14}.overview-card span{color:var(--text);font-size:13px;font-weight:800}.overview-card strong{display:block;margin-top:4px;color:var(--text);font-size:22px;line-height:1.05;overflow-wrap:anywhere}.overview-card-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.overview-card-meta span{color:var(--muted);font-size:11px}.overview-card-meta em{font-style:normal;font-weight:900}.good{color:var(--success)}.bad{color:var(--danger)}.sparkline{width:100%;height:22px}.report-panel,.chart-panel,.table-panel,.insight-panel,.admin-form-panel{min-height:0;padding:12px;overflow:hidden}.trend-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.panel-heading.compact{margin-bottom:8px}.panel-heading h2,.insight-panel h2,.admin-form-panel h2{margin:0;color:var(--text);font-size:15px;text-transform:uppercase}.panel-heading span{color:var(--muted);font-size:12px}.panel-heading>div{display:grid;gap:3px}.period-tabs{display:grid;grid-template-columns:repeat(3,86px);border:1px solid var(--line);border-radius:7px;overflow:hidden}.period-tabs button{height:34px;border:0;background:transparent;color:var(--text);font-size:12px}.period-tabs button.active{background:var(--accent)}.overview-lower-grid{min-height:0;display:grid;grid-template-columns:1fr 1.12fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}.donut-layout{height:calc(100% - 34px);min-height:0;display:flex;align-items:center;justify-content:center;gap:18px}.css-donut{position:relative;width:min(178px,44%);aspect-ratio:1;flex:0 0 min(178px,44%);border-radius:999px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff0d}.css-donut:after{content:"";position:absolute;top:28%;right:28%;bottom:28%;left:28%;border-radius:inherit;background:var(--panel)}.css-donut-center{position:relative;z-index:1;display:grid;place-items:center;text-align:center}.css-donut-center strong{font-size:16px}.css-donut-center span{color:var(--muted);font-size:11px}.legend-list{flex:1;display:grid;gap:8px;min-width:0;max-height:100%;overflow:auto}.legend-list div,.source-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--muted);font-size:12px}.legend-list span,.source-row span{width:10px;height:10px;border-radius:999px}.legend-list strong,.source-row strong{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-list em,.source-row em{font-style:normal}.internal-table-scroll,.table-panel{min-height:0;max-height:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:7px 8px;border-bottom:1px solid rgba(32,53,76,.7);text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;color:var(--muted);background:var(--panel-2);font-size:11px;text-transform:uppercase;letter-spacing:0}tbody tr{transition:background .14s ease}tbody tr:hover{background:var(--panel-2)}tbody tr.clickable-row{cursor:pointer}tbody tr.selected-row{background:var(--accent-soft)}.admin-action-stack{display:grid;gap:8px;min-width:360px}.action-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.action-row input{min-width:180px}.muted-text{color:var(--muted)}.insight-stack{display:grid;gap:10px}.insight-stack div{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px}.insight-stack p{margin:0;color:var(--text);font-size:12px;line-height:1.35}.insight-dot{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:#fff}.dot-1{background:var(--accent)}.dot-2{background:var(--violet)}.dot-3{background:var(--accent-2)}.dot-4{background:var(--success)}.cost-card-grid{height:calc(100% - 34px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.cost-card-grid .overview-card{min-height:0}.cost-card-grid .overview-card strong{font-size:20px}.cost-breakup{display:grid;grid-template-rows:auto minmax(0,1fr)}.company-breakup-layout{height:calc(100% - 34px);min-height:0;display:grid;grid-template-columns:minmax(130px,.9fr) minmax(0,1.1fr);align-items:center;gap:16px}.company-breakup-layout .css-donut{width:min(160px,100%);flex-basis:auto;justify-self:center}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,.9fr)}.revenue-kpis,.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}.revenue-panels,.users-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:12px}.users-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.metric-card{min-height:110px;padding:14px;display:grid;align-content:space-between}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:26px}.insight-list{display:grid;gap:10px}.insight-list div{padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2)}.insight-list p{margin:5px 0 0;color:var(--muted)}.source-list{display:grid;gap:8px}@media(max-width:1250px){body{min-width:1024px}.overview-card strong{font-size:19px}.overview-card-row{gap:8px}.period-tabs{grid-template-columns:repeat(3,72px)}}
