:root{--ink:#17332e;--muted:#73817d;--green:#12634e;--green-dark:#103e34;--lime:#c9e789;--bg:#f4f6f2;--line:#e4eae2;--white:#fff;--shadow:0 3px 18px #163c2810;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}h1,h2,h3,p{margin:0}h1{font-size:31px;letter-spacing:-1.1px;line-height:1.25}h2{font-size:17px;letter-spacing:-.25px}h3{font-size:16px}p{color:var(--muted)}small{font-size:12px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--green);display:block;margin-bottom:9px}.brand{display:flex;align-items:center;gap:11px;font-size:23px;letter-spacing:-1px;font-weight:750;color:#fff}.brand-light{font-weight:400;color:#d5e6da}.brand-symbol{display:flex;align-items:center;justify-content:center;position:relative;width:38px;height:38px;border-radius:12px;background:var(--lime);color:var(--green-dark);font-weight:800;font-style:italic;font-size:28px;letter-spacing:-3px;padding-right:4px}.brand-symbol span{font-size:17px;position:absolute;right:5px;top:1px;font-style:normal}.sidebar{width:244px;position:fixed;top:0;bottom:0;left:0;background:var(--green-dark);color:#d3e3d8;padding:29px 18px;display:flex;flex-direction:column;z-index:10}.sidebar .brand{margin:0 10px 42px}.side-caption{font-size:9px;letter-spacing:1.6px;color:#8fb4a2;padding:0 15px;margin-bottom:15px;font-weight:650}.sidebar nav a{padding:13px 16px;display:flex;align-items:center;gap:14px;margin-bottom:7px;border-radius:10px;font-weight:550;font-size:13px}.sidebar nav a>span{font-size:21px;line-height:1;width:20px;text-align:center}.sidebar nav a:hover{background:#ffffff0b}.sidebar nav .active{background:var(--lime);color:var(--green-dark)}.sidebar-bottom{margin-top:auto}.connection{margin:24px 10px 16px;padding:19px 4px;border-top:1px solid #ffffff19;display:flex;align-items:center;gap:10px;font-size:12px}.connection small{display:block;color:#9bbcaf;font-size:10px;margin-top:3px}.connection i{width:7px;height:7px;display:block;background:#b9d96f;border-radius:50%}.settings-link,.logout{display:block;padding:10px 15px;color:#b9d1c4;font-size:12px;background:transparent;border:0;width:100%;text-align:left}.workspace{margin-left:244px}.topbar{height:83px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.topbar .eyebrow{margin:0;font-size:8px;letter-spacing:1.6px}.top-title{font-size:14px;font-weight:650}.admin-pill{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.avatar{width:31px;height:31px;border-radius:50%;background:#eaf1df;color:var(--green);display:grid;place-items:center}.mode{background:#f3f5ee;color:#788373;font-size:10px;padding:4px 9px;border-radius:20px;font-weight:450}.workspace main{padding:19px 38px 22px;max-width:1720px;margin:auto}.sync{text-align:right;color:#7b8b75;font-size:10px;letter-spacing:.1px;margin-bottom:24px}.sync.stale{color:#9b7438}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{font-size:13px;margin-top:8px}.month-form label{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.month-form>div{display:flex;gap:8px}.month-form input{width:174px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;padding:10px 17px;font-size:12px;font-weight:600;min-height:40px;white-space:nowrap}.button:hover{background:var(--green-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:#dbe3d7}.button.secondary:hover{background:#edf3e8}.button.small{font-size:11px;padding:6px 12px;min-height:33px}.button.wide{width:100%;justify-content:space-between;margin-top:24px;height:46px;font-size:13px}.button.wide span{font-size:19px}.text-link{color:var(--green);font-size:12px;font-weight:650}.text-link:hover{text-decoration:underline}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px;min-width:0;box-shadow:var(--shadow)}.metric>div{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#708078;font-size:11px;font-weight:550;margin-bottom:18px}.metric i{font-style:normal;font-size:16px;width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#f0f4ea;color:var(--green)}.metric>strong{font-size:clamp(21px,1.8vw,29px);font-weight:650;letter-spacing:-1px;display:block;white-space:nowrap}.metric>small{display:block;margin-top:7px;font-size:10px}.metric.featured{background:var(--green);border-color:var(--green);color:#fff}.metric.featured>div,.metric.featured>small{color:#d0e2d5}.metric.featured i{background:#ffffff18;color:var(--lime)}.metric-note{color:#8b9589;font-size:10px;margin:12px 1px 23px}.chart-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;margin-bottom:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 24px}.panel-heading p{font-size:11px;margin-top:5px}.legend{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap;color:var(--muted)}.legend i{height:7px;width:7px;background:var(--green);border-radius:2px}.chart{width:100%;display:block;padding:0 18px 10px;height:258px}.chart text{font-family:inherit;font-size:10px;fill:#8b968b}.grid-line{stroke:#eef1e9;stroke-dasharray:4}.chart-bar{fill:#2b8062}.chart-bar:hover{fill:#a8c978}.status-list{padding:0 24px 16px}.status-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #f0f3ed}.status-list>div:last-child{border:0}.status-list>div>span:first-child{display:flex;align-items:center;gap:10px;color:#647569;font-size:12px}.status-list>div>span:last-child{display:flex;align-items:center;gap:13px}.status-list strong{font-size:12px;min-width:20px;text-align:right}.status-list small{font-size:10px;min-width:88px;text-align:right}.dot{height:7px;width:7px;display:inline-block;border-radius:50%;background:#dfb24e}.dot.status-1{background:#6e97c7}.dot.status-2{background:#31835d}.dot.status-3{background:#cf6c62}.dot.status-4{background:#9c7cae}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;text-align:left}th{color:#899387;font-size:9px;text-transform:uppercase;letter-spacing:.8px;background:#f8faf5;padding:12px 16px;border-block:1px solid var(--line);font-weight:600}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:24px}td{padding:17px 16px;border-bottom:1px solid #edf1e7;color:#425d51}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}td strong{font-size:11px;font-weight:550}td small{display:block;font-size:9px;color:#91a08c;margin-top:5px}.reference a{font-size:10px;color:var(--green);font-weight:600}.reference small{font-family:Consolas,monospace;font-size:9px}.number{text-align:right}.amount{font-weight:650;color:var(--ink);font-size:12px}.mono{font-family:Consolas,monospace;font-size:10px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:18px;padding:4px 9px;font-size:9px;font-weight:650;background:#fbf4df;color:#956e20}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.status-1{background:#edf3fa;color:#507daa}.badge.status-2{background:#edf6e8;color:#417a44}.badge.status-3{background:#fcf0ed;color:#b76057}.badge.status-4{background:#f4eef7;color:#9575a5}.row-view{height:26px;width:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:15px;color:var(--green)}.empty{text-align:center;padding:65px 20px}.empty p{font-size:12px;margin:8px 0 18px}.empty-icon{font-size:31px;display:block;color:#a5b594;margin-bottom:13px}.empty.compact{padding:39px 20px;min-height:260px}.empty.compact p{margin-bottom:0}.filter-form{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:21px 24px;margin-bottom:23px}.filter-form label{font-size:10px;font-weight:550;color:#70816f;min-width:134px;flex:1}.filter-form .search-field{flex:2;min-width:250px}.filter-form input,.filter-form select{margin-top:7px;width:100%}input,select{background:#fff;border:1px solid #dbe3d6;color:var(--ink);border-radius:7px;padding:10px 11px;min-height:40px;font-size:12px}input:focus,select:focus{border-color:#488063;outline:2px solid #9dbd832f}input::placeholder{color:#9aa797;font-size:11px}.filter-actions{display:flex;align-items:center;gap:14px}.filter-actions a{font-size:11px;color:var(--muted)}.filtered-total{text-align:right}.filtered-total small{font-size:10px;display:block;margin-bottom:5px}.filtered-total strong{font-size:20px;letter-spacing:-.6px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:7px}footer{margin-top:32px;display:flex;justify-content:space-between;color:#a0aa9a;font-size:10px}footer span{color:#8d9a85}.back-link{display:inline-block;margin:0 0 22px}.details{max-width:1050px}.details dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0 24px 22px;gap:0 40px}.details dl>div{padding:17px 0;border-bottom:1px solid #eef2e9;min-width:0}dt{font-size:11px;color:var(--muted);margin-bottom:8px}dd{font-size:13px;margin:0;overflow-wrap:anywhere}.detail-note{padding:20px 24px;background:#f8faf4;border-top:1px solid var(--line);font-size:11px}.page-heading>.badge{padding:7px 16px;font-size:12px}.security-panel{max-width:560px;padding:28px}.security-panel label{display:block;font-size:12px;margin-top:20px}.security-panel input{width:100%;margin-top:8px}.security-panel p{font-size:11px;margin:17px 0}.notice{padding:13px 16px;font-size:12px;background:#eaf4e3;border:1px solid #d4e7c8;border-radius:8px;color:#426342;margin-bottom:23px}.notice.error{background:#fff0ea;border-color:#f1d5c7;color:#a5523b}.login-shell{min-height:100vh;display:grid;grid-template-columns:47% 53%}.login-aside{background:var(--green-dark);color:#fff;padding:48px 58px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-aside>.brand{font-size:26px}.login-aside>div{padding-block:55px}.login-aside .eyebrow{color:#a6c39c;letter-spacing:2px;font-size:10px}.login-aside h1{font-size:clamp(38px,4.5vw,62px);font-weight:550;line-height:1.13;letter-spacing:-2.2px;margin-top:24px}.login-aside h1 em{font-style:normal;color:var(--lime)}.login-aside p{font-size:14px;line-height:1.85;color:#a7c2b4;margin-top:26px;max-width:360px}.login-aside small{color:#749a88;font-size:10px}.login-points{display:flex;flex-wrap:wrap;gap:15px 23px;margin-top:36px;font-size:11px;color:#c7dec9}.login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;background:#f7f9f4}.login-card{max-width:380px;width:100%;padding-top:20px}.login-card h2{font-size:33px;letter-spacing:-1px;margin-top:11px}.login-card>p{font-size:13px;margin:10px 0 34px}.login-card label{display:block;font-size:12px;font-weight:550;margin-top:20px;margin-bottom:8px}.login-card input{width:100%;height:46px;background:#fff}.login-note{font-size:10px;text-align:center;color:#98a18f;margin-top:25px;line-height:1.75}.login-main>small{margin-top:80px;font-size:10px;color:#a4ad9a}
@media(min-width:1600px){.metrics .metric>strong{font-size:30px}.metric{padding:24px}.chart{height:285px}table{font-size:12px}td{padding-block:20px}}
@media(max-width:1200px){.sidebar{width:210px}.workspace{margin-left:210px}.workspace main{padding:20px 23px}.topbar{padding:0 23px}.metrics{gap:10px}.metric{padding:16px}.metric>div{font-size:10px}.metric>strong{font-size:21px}.chart-grid{grid-template-columns:minmax(0,1.6fr) minmax(235px,1fr);gap:16px}.status-list{padding-inline:17px}.panel-heading{padding-inline:20px}.login-aside{padding:40px}}
@media(max-width:900px){.sidebar{width:190px;padding-inline:12px}.sidebar .brand{font-size:20px;margin-inline:5px}.workspace{margin-left:190px}.metrics{grid-template-columns:repeat(2,1fr)}.metric>strong{font-size:26px}.chart-grid{grid-template-columns:1fr}.status-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.chart{height:245px}.page-heading{align-items:start;flex-direction:column}.page-heading>.badge{align-self:start}.topbar{height:73px}.mode{display:none}.login-aside{padding:30px}.login-aside h1{font-size:40px}.login-main{padding:30px}.login-shell{grid-template-columns:45% 55%}}
@media(max-width:640px){.sidebar{position:static;width:auto;padding:17px 20px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}.sidebar .brand{margin:0;font-size:20px}.brand-symbol{width:31px;height:31px;font-size:23px;border-radius:9px}.brand-symbol span{font-size:13px}.side-caption,.sidebar-bottom{display:none}.sidebar nav{margin-left:auto;display:flex;gap:5px}.sidebar nav a{margin:0;padding:9px 11px;font-size:11px;gap:7px}.sidebar nav a>span{font-size:16px;width:14px}.workspace{margin-left:0}.topbar{height:58px;padding-inline:20px}.top-title{font-size:12px}.admin-pill{font-size:10px}.avatar{height:27px;width:27px}.workspace main{padding:17px 17px 25px}.sync{font-size:9px;text-align:left;margin-bottom:20px}.page-heading{gap:18px;margin-bottom:21px}h1{font-size:27px}.page-heading p{font-size:12px}.eyebrow{font-size:9px}.month-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.month-form label{margin:0}.month-form input{width:157px}.metrics{gap:10px}.metric{padding:14px}.metric>strong{font-size:21px}.metric>div{font-size:10px;margin-bottom:14px;min-height:24px}.metric i{display:none}.metric>small{font-size:9px}.metric-note{font-size:9px;margin-bottom:20px}.chart-grid{gap:18px}.panel-heading{padding:18px 17px;gap:10px}h2{font-size:15px}.panel-heading p{font-size:10px}.chart{padding:0 8px;height:190px}.status-list{gap:0 16px;padding-inline:17px}.status-list>div>span:last-child{display:block;text-align:right}.status-list>div>span:first-child{font-size:11px;gap:6px}.status-list small{display:block;min-width:0;font-size:9px}.legend{font-size:9px}.panel-heading .text-link{font-size:10px;white-space:nowrap}.filter-form{padding:17px;gap:14px 12px}.filter-form label{min-width:120px}.filter-form .search-field{min-width:100%;order:3}.filter-actions{order:4}.filtered-total strong{font-size:17px}.filtered-total small{font-size:9px}.pagination{padding:15px 17px;gap:13px;flex-wrap:wrap;font-size:10px}footer{display:block;font-size:9px;line-height:1.8}footer span{display:block}.details dl{grid-template-columns:1fr;padding-inline:18px}.details dl>div{padding:13px 0}.detail-note{padding:18px}.login-shell{display:flex;flex-direction:column}.login-aside{min-height:0;padding:23px 25px}.login-aside>div,.login-aside>small{display:none}.login-aside>.brand{font-size:22px}.login-main{min-height:calc(100vh - 77px);padding:35px 27px}.login-card{max-width:370px;padding-top:0}.login-card h2{font-size:30px}.login-main>small{margin-top:50px}.security-panel{padding:22px}.mobile-settings{display:inline}}
.mobile-settings{display:none}.topbar .logout{color:var(--green);padding:0;font-size:20px;width:24px}@media(max-width:640px){.mobile-settings{display:inline-flex;align-items:center;font-size:19px;color:var(--green)}.admin-pill{gap:8px}.sidebar nav a{padding-inline:8px}.sidebar{gap:10px}}
