:root{font-family:DM Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:dark;--bg:#071322;--surface:#0b1c32;--surface2:#0e233b;--surface3:#102943;--line:#233b57;--line-strong:#355375;--ink:#f1f7ff;--muted:#95a8c3;--muted2:#7290b4;--accent:#1f83ff;--cyan:#22d8e9;--positive:#25d6a8;--negative:#ff7e96;--shadow:0 12px 40px rgba(0,0,0,.18)}:root[data-theme=light]{color-scheme:light;--bg:#eef4ff;--surface:#fff;--surface2:#f6faff;--surface3:#eaf3ff;--line:#dbe7f9;--line-strong:#abc7f2;--ink:#142c50;--muted:#6c819e;--muted2:#7c90ac;--accent:#156ae9;--cyan:#0ca5cb;--positive:#068e72;--negative:#df3e60;--shadow:0 12px 34px rgba(32,90,165,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #38aaff;outline-offset:2px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Plus Jakarta Sans,sans-serif;letter-spacing:-.045em}svg{flex-shrink:0}a{color:inherit;text-decoration:none}.logo-line{display:flex;align-items:center;gap:12px}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(130deg,#0678ff,#0a44b1);color:#fff;box-shadow:0 8px 22px #0086ff4f}.logo-copy{display:flex;flex-direction:column}.logo-copy strong{font-weight:800;font-size:20px;letter-spacing:-.05em;white-space:nowrap}.logo-copy strong span{color:var(--cyan)}.logo-copy small{margin-top:2px;letter-spacing:.1em;font-size:8px;font-weight:800;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;position:relative;background:#071322;overflow:hidden}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 48% 50% at 15% 30%,#0578b22c,transparent),radial-gradient(ellipse 30% 40% at 80% 90%,#04409f45,transparent),linear-gradient(125deg,#07101e,#081d32)}.login-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#1be9ff08 1px,transparent 1px),linear-gradient(90deg,#1be9ff08 1px,transparent 1px);background-size:50px 50px;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}.login-layout{position:relative;z-index:1;width:min(1110px,calc(100% - 40px));display:grid;grid-template-columns:1fr 450px;gap:45px;align-items:center}.login-feature{padding:25px 30px;color:#fff}.login-hero{margin:100px 0 80px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--cyan);text-transform:uppercase}.login-hero h1{font-size:clamp(36px,4vw,58px);line-height:1.13;max-width:570px;margin:20px 0}.login-hero h1 em{font-style:normal;color:#20d0ff}.login-hero p{font-size:17px;color:#9dbcd9;max-width:470px;line-height:1.7}.login-features{display:flex;flex-direction:column;gap:15px;color:#b7d4f1;font-size:14px}.login-features span{display:flex;align-items:center;gap:10px}.login-features svg{color:#25c6ea}.login-form-wrapper{width:100%}.login-card{background:#fff;color:#132749;border-radius:24px;padding:44px;box-shadow:0 25px 95px #0008}.login-icon{width:55px;height:55px;display:grid;place-items:center;color:#1266d7;border-radius:16px;background:#e8f2ff;margin-bottom:24px}.login-card h2{font-size:27px;margin-bottom:8px}.login-card>p{color:#71829b;line-height:1.6;margin-bottom:29px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.form-stack input,.form-stack select{height:46px;border:1px solid #cbdcf1;background:#f8fbff;color:#12274b;border-radius:11px;padding:0 13px;outline:none}.form-stack input:focus,.form-stack select:focus{border-color:#3589fc;box-shadow:0 0 0 3px #3589fc24}.input-icon{display:flex;align-items:center;gap:8px;border:1px solid #cbdcf1;background:#f8fbff;border-radius:11px;padding:0 13px;color:#6985a5}.input-icon input{border:0;box-shadow:none!important;background:transparent;flex:1;width:100%;padding:0}.login-submit{margin-top:10px;height:49px!important;justify-content:center;width:100%}.login-footer{display:flex;align-items:center;gap:7px;justify-content:center;font-size:11px;margin-top:27px;color:#6b84a5}.login-footer svg{color:#0085e5}.primary-btn{border:0;background:linear-gradient(105deg,#267fff,#0955ce);color:#fff;border-radius:10px;padding:11px 17px;font-weight:800;font-size:13px;display:inline-flex;gap:9px;align-items:center;box-shadow:0 5px 18px #0064d533}.primary-btn:hover{filter:brightness(1.09)}.primary-btn.full{justify-content:center}.error-box{padding:12px 14px;background:#ffebef;color:#b72e49;border-radius:9px;border:1px solid #f8bcc8;font-size:13px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:center;background:#06172d;color:#fff}.spinner{width:20px;height:20px;border:2px solid #85b9ff65;border-top-color:#17def1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{display:flex;min-height:100vh}.sidebar{width:252px;flex:0 0 252px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 16px 17px;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar .logo-line{padding:0 10px}.sidebar .logo-copy strong{font-size:18px}.sidebar-label{font-size:10px;color:var(--muted2);font-weight:800;letter-spacing:.12em;margin:53px 13px 17px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav button{border:0;background:transparent;color:var(--muted);width:100%;border-radius:11px;padding:14px 12px;display:flex;align-items:center;gap:12px;font-size:13px;text-align:left;font-weight:700;position:relative}.side-nav button:hover{background:var(--surface3);color:var(--ink)}.side-nav button.selected{background:linear-gradient(90deg,#1768ea,#144fc1);box-shadow:0 10px 20px #136ce129;color:#fff}.side-nav .nav-light{width:6px;height:6px;background:#fff;border-radius:99px;margin-left:auto}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:18px}.security-mini{display:flex;align-items:flex-start;gap:9px;padding:14px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:12px}.security-mini svg{color:var(--cyan)}.security-mini b{display:block;font-size:12px}.security-mini small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.sidebar-bottom>a{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);font-weight:700;padding-left:10px}.sidebar-bottom>small{text-align:center;font-size:10px;color:var(--muted2)}.workspace{min-width:0;flex:1}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(18px,2.8vw,46px);border-bottom:1px solid var(--line);background:var(--surface)}.top-title{display:flex;gap:13px;align-items:center}.top-title>div>span{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:6px}.top-title h2{font-size:17px;letter-spacing:-.02em;margin:0}.top-actions{display:flex;gap:10px;align-items:center}.live{display:flex;align-items:center;gap:7px;color:var(--positive);font-size:10px;letter-spacing:.06em;font-weight:800;margin-right:10px;white-space:nowrap}.live i{width:7px;height:7px;background:#14d5a2;border-radius:50%;box-shadow:0 0 0 4px #14d5a220}.icon-btn{border:1px solid var(--line);width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--surface2);color:var(--muted)}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.top-admin{display:flex;align-items:center;gap:10px;margin-left:13px}.initials{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:#1875f526;color:var(--accent);border:1px solid var(--line-strong)}.admin-name{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:4px;white-space:nowrap}.admin-name small{color:var(--muted);font-weight:500;font-size:10px}.hamburger{display:none}.page-wrap{padding:clamp(20px,3.2vw,46px);max-width:1750px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.page-heading h1{font-size:31px;margin:11px 0 8px;letter-spacing:-.045em}.page-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.outline-btn,.ghost-btn{display:flex;align-items:center;gap:8px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface2);color:var(--ink);padding:10px 15px;font-size:12px;font-weight:700}.ghost-btn{background:transparent}.filterbar{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 18px;display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-bottom:22px;box-shadow:var(--shadow)}.filter-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;white-space:nowrap}.filter-label svg{color:var(--accent)}.period-tabs{display:flex;gap:4px;border:1px solid var(--line);background:var(--surface2);border-radius:9px;padding:4px}.period-tabs button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;padding:8px 12px;border-radius:7px}.period-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 3px 8px #116eff33}.period-range{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}.dates{display:flex;gap:8px}.dates label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.dates input{height:32px;border:1px solid var(--line);border-radius:6px;background:var(--surface2);color:var(--ink);padding:3px 7px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric,.mini-card,.panel,.chart-container{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.metric{padding:22px 21px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#2c8aff,transparent)}.metric-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.metric-top>span{color:var(--muted);font-weight:600;font-size:12px}.metric-icon{width:37px;height:37px;border-radius:10px;background:#1677ed21;color:#268afe;display:grid;place-items:center}.metric strong{display:block;font:800 28px Plus Jakarta Sans,sans-serif;letter-spacing:-.05em;margin:12px 0 6px}.metric small,.mini-card small{font-size:11px;color:var(--muted)}.positive{color:var(--positive)!important}.negative{color:var(--negative)}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.mini-card{padding:19px 20px;background:var(--surface2)}.mini-card>span{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);font-weight:700}.mini-card>span svg{color:var(--cyan)}.mini-card strong{font-size:22px;display:block;font-family:Plus Jakarta Sans,sans-serif;margin:12px 0 3px}.finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.finance-kpis>div{padding:19px 21px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,var(--surface2),var(--surface));display:flex;flex-direction:column}.finance-kpis span{color:var(--muted);font-size:12px;font-weight:700}.finance-kpis strong{font-family:Plus Jakarta Sans,sans-serif;font-size:23px;letter-spacing:-.04em;margin:8px 0 5px}.finance-kpis small{color:var(--muted2);font-size:11px}.charts-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:20px}.chart-container{position:relative;padding:20px 22px 10px;min-width:0}.chart-head{display:flex;gap:15px;align-items:flex-start;justify-content:space-between}.chart-head h3,.panel-title h3{font-size:15px;margin:0 0 6px}.chart-head p,.panel-title p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.legend{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);white-space:nowrap}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.blue-dot{background:#367afc}.cyan-dot{background:#19c6e3}.activity-chart{width:100%;height:220px;color:var(--muted);margin:14px 0 0}.axis{fill:var(--muted);font-size:12px}.chart-empty{text-align:center;color:var(--muted);position:absolute;bottom:80px;width:85%;font-size:12px}.bar-field{height:224px;display:flex;align-items:stretch;justify-content:center;gap:10px;margin:25px 6px 5px;max-width:100%}.bar-column{flex:1;min-width:8px;max-width:34px;display:flex;flex-direction:column;align-items:center;gap:7px}.bar-pair{display:flex;align-items:flex-end;gap:3px;justify-content:center;height:194px;width:100%;border-bottom:1px solid var(--line)}.bar{width:40%;max-width:12px;border-radius:5px 5px 0 0}.bar.income{background:linear-gradient(#18d9ec,#2e84e4)}.bar.expense{background:linear-gradient(#6786ff,#3346b3)}.bar-column>small{color:var(--muted);font-size:9px}.empty-graph{margin:auto;font-size:12px;text-align:center;color:var(--muted);max-width:270px;line-height:1.8}.section-panel{padding:0;overflow:hidden;margin-bottom:17px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.text-btn{background:transparent;border:0;color:var(--accent);font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;min-width:690px}thead{background:var(--surface2);color:var(--muted2)}thead th{font-weight:800;font-size:10px;letter-spacing:.06em;padding:16px 22px;white-space:nowrap}td{padding:16px 22px;border-top:1px solid var(--line);color:var(--muted);white-space:nowrap}tbody tr:hover{background:var(--surface2)}.bold-cell{color:var(--ink);font-weight:700}.table-icon{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:9px;border-radius:8px;color:var(--accent);background:var(--surface3);vertical-align:middle}.badge{display:inline-flex;align-items:center;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap;background:var(--surface3);color:var(--muted)}.badge.good{background:#17cda21c;color:var(--positive)}.badge.warn{background:#e7aa341b;color:#c78d21}.align-right{text-align:right}.money-cell{font-weight:800;color:var(--ink)}.data-note{display:flex;align-items:start;gap:8px;color:var(--muted);font-size:11px;line-height:1.7;padding:0 3px}.data-note svg{color:var(--accent);margin-top:1px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface2);border-radius:10px;padding:0 11px;color:var(--muted)}.search-box input{min-width:195px;background:transparent;color:var(--ink);border:0;outline:none;height:39px;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:6px}.pagination .icon-btn{width:30px;height:30px}.empty-text,.empty-state{padding:34px;text-align:center;color:var(--muted);font-size:12px}.empty-state svg{color:var(--accent)}.empty-state h4{font-size:14px;color:var(--ink);margin:12px 0 5px}.finance-metrics{margin-top:4px}.security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sec-panel{padding:26px}.sec-icon{width:54px;height:54px;background:var(--surface3);color:var(--accent);border-radius:14px;display:grid;place-items:center;margin-bottom:24px}.sec-panel h3{font-size:18px}.sec-panel p{color:var(--muted);font-size:12px;line-height:1.8}.sec-row{display:flex;gap:8px;align-items:start;font-size:12px;color:var(--muted);margin-top:20px}.sec-row svg{color:var(--positive)}.user-detail{border-bottom:1px solid var(--line);padding:12px 0;display:flex;flex-direction:column;gap:6px}.user-detail label{color:var(--muted);font-size:11px}.user-detail strong,.user-detail code{font-size:12px;overflow-wrap:anywhere}.sec-panel>.outline-btn{margin-top:20px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:500;padding:18px}.modal{max-width:470px;width:100%;border-radius:18px;background:#fff;color:#122849;padding:26px;box-shadow:0 30px 90px #0008}.modal-heading{display:flex;align-items:center;justify-content:space-between}.modal-heading h3{font-size:19px;margin:0}.modal-heading .icon-btn{background:#f5f8fc;color:#26446b}.modal>p{font-size:12px;line-height:1.7;color:#70829d;margin:13px 0 23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-loading{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;margin:10px 0}.mobile-overlay{display:none}@media(max-width:1280px){.metrics-grid,.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-grid{grid-template-columns:1fr 1fr}.legend{flex-wrap:wrap}.security-grid{grid-template-columns:1fr 1fr}.top-admin .admin-name{display:none}}@media(max-width:980px){.sidebar{position:fixed;z-index:200;transform:translate(-103%);transition:transform .2s ease}.sidebar.expanded{transform:translate(0)}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#0008}.hamburger{display:grid}.charts-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr 440px;gap:0}.login-feature{padding:20px}.login-hero{margin:65px 0}.login-hero h1{font-size:38px}}@media(max-width:760px){.topbar{height:70px}.live,.logout{display:none}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:24px}.login-layout{grid-template-columns:1fr;width:100%;max-width:460px}.login-feature{display:none}.login-form-wrapper{padding:15px}.login-card{padding:30px}.metrics-grid,.mini-grid,.finance-kpis{grid-template-columns:1fr 1fr}.finance-kpis strong{font-size:17px}.security-grid{grid-template-columns:1fr}.page-wrap{padding:17px}.filterbar{gap:12px}.period-tabs{flex-wrap:wrap}.metric strong{font-size:24px}.chart-head{flex-direction:column}.top-title>div>span{display:none}.top-title h2{font-size:15px}.top-actions{gap:6px}.top-admin{margin-left:0}.period-range{display:none}}@media(max-width:430px){.metrics-grid,.mini-grid,.finance-kpis{grid-template-columns:1fr}.metric{padding:17px}.filterbar{padding:11px}.period-tabs button{font-size:11px;padding:8px}.chart-container{padding:15px}.login-card{padding:24px}}
