@font-face{font-family:system;src:local("Arial")}*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#263b30;background:#f7f8f4;font-size:14px}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a7c6a8;outline-offset:3px}button{border:0}input,select,textarea{width:100%;border:1px solid #dce3db;border-radius:9px;background:#fff;color:#263b30;padding:11px 12px}textarea{resize:vertical}label{display:block;line-height:1.6;font-size:13px;font-weight:550}label input,label textarea{margin-top:7px}[hidden]{display:none!important}.wordmark{font-family:Georgia,serif;font-weight:bold;font-size:39px;letter-spacing:-2.8px;line-height:1}.wordmark span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:0;vertical-align:top;display:inline-block;margin:6px 0 0 5px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#829383;font-weight:650}.subtle{color:#7a877d;line-height:1.8;margin:0}.fine{font-size:12px;color:#97a098;line-height:1.8}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:550}.primary{background:#3e674d;color:white}.primary:hover{background:#31573e}.secondary{background:white;border:1px solid #dce3db;color:#536759}.secondary:hover{background:#f2f5ef}.text-button{background:transparent;color:#718275;padding:5px 9px}.text-button:hover{background:#eaf0e6}.dot{display:inline-block;width:6px;height:6px;background:#6d976f;border-radius:50%;flex-shrink:0}.boot{min-height:100vh;display:grid;place-items:center;color:#7a877d}.login-page{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr;background:#fcfdf9}.login-art{background:#e8eddf;position:relative;padding:48px;display:flex;min-height:700px;align-items:center;justify-content:center;overflow:hidden}.art-label{position:absolute;top:44px;left:44px;font-size:10px;letter-spacing:2px;color:#7d8d76}.art-caption{position:absolute;bottom:104px;left:48px;font-family:Georgia,serif;font-size:38px;line-height:1.18;letter-spacing:-1px;color:#536e4c}.art-foot{position:absolute;bottom:42px;left:48px;letter-spacing:2px;font-size:9px;color:#8c9a83}.cup{width:180px;height:250px;position:relative;margin-top:-130px;transform:rotate(-12deg)}.cup-body{height:215px;position:absolute;top:40px;width:164px;left:8px;background:#87a773;clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);border-radius:0 0 24px 24px;display:grid;place-items:center;border-bottom:8px solid #fcf9e8}.cup-body span{font:bold 62px Georgia,serif;color:#f6f0d8;letter-spacing:-5px;border:1px solid #dbe1c6;border-radius:50%;height:92px;width:92px;text-align:center;padding-top:8px}.cup-lid{position:absolute;z-index:2;top:30px;width:180px;height:22px;border-radius:50%;background:#f7f2dc;border:5px solid white;box-shadow:0 7px 0 #d4d9ba}.straw{position:absolute;width:13px;height:140px;top:-80px;left:126px;background:#426447;border-radius:5px;border:3px solid white;transform:rotate(17deg)}.login-side{display:grid;place-items:center;padding:55px}.login-card{width:min(370px,100%)}.login-card .eyebrow{margin-top:48px}.login-card h1{font-size:33px;font-weight:550;letter-spacing:-1px;margin:13px 0 10px}.login-card form{margin-top:35px}.login-card label+label{margin-top:20px}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;right:4px;top:12px}.login-card .primary{width:100%;height:46px;margin-top:12px;justify-content:space-between}.login-note{margin-top:28px;display:flex;align-items:center;gap:9px;color:#83907f;font-size:11px}.login-card .fine{margin-top:12px}.form-error{color:#ac5147;font-size:12px;line-height:1.6;min-height:10px;margin:10px 0}.workspace{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fcfdf9;border-right:1px solid #e4e9e0;padding:32px 23px 24px;display:flex;flex-direction:column}.sidebar .wordmark{padding-left:13px}.sidebar-caption{color:#8e9a8c;font-size:10px;letter-spacing:2px;padding-left:15px;margin-top:12px}.sidebar nav{display:flex;flex-direction:column;gap:8px;margin-top:51px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#7d897e;padding:13px 14px;border-radius:10px;font-size:13px}.sidebar nav a:hover{background:#f0f4ec}.sidebar nav a.active{background:#e9efdf;color:#456548;font-weight:600}.nav-icon{width:20px;font-size:22px;line-height:18px;font-family:Arial,sans-serif;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:30px}.source-label{font-size:10px;color:#8b9789;letter-spacing:1px;margin:0 4px 6px}.sidebar-bottom select{background:#f7f9f3;font-size:12px;padding:9px}.local-status{margin:25px 3px 0;font-size:11px;color:#6a7f68;display:flex;gap:7px;align-items:center}.local-status span:last-child{margin-left:auto;color:#a0aa9b;font-size:10px}.sidebar-bottom p{font-size:10px;color:#a1aa9e;margin-top:12px}.main{min-width:0}.topbar{height:75px;border-bottom:1px solid #e5e9e1;padding:0 37px;display:flex;align-items:center;justify-content:space-between;background:#fcfdf9}.topbar>div:first-child{font-size:12px}.breadcrumb{color:#94a08f}.crumb-separator{margin:0 13px;color:#c2cbbb}.top-actions{display:flex;align-items:center;gap:12px}.date-label{font-size:11px;color:#8f9b8a;margin-right:9px}.admin-avatar{display:grid;place-items:center;border-radius:50%;background:#e9efdf;color:#597153;width:29px;height:29px;font-size:11px}.top-actions .text-button{font-size:11px;padding:4px;min-height:30px}.content{max-width:1450px;margin:auto;padding:32px 37px 18px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:2px 0 24px}.page-head h1{font-size:28px;font-weight:550;letter-spacing:-.8px;margin:9px 0 7px}.page-head .subtle{font-size:12px}.page-head .secondary{font-size:11px;min-width:103px}.scope-notice{display:flex;align-items:center;gap:9px;color:#7a8b72;font-size:11px;background:#edf2e6;padding:11px 14px;border:1px solid #e2ead7;border-radius:8px;margin-bottom:24px;line-height:1.6}.scope-notice span:last-child:not(:first-child){margin-left:auto;color:#9aa58f;font-size:10px;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.kpi{padding:21px 22px;background:white;border:1px solid #e4e9e0;border-radius:12px;min-height:143px;position:relative}.kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#85927e}.kpi-symbol{font:20px Georgia,serif;color:#b1bca5;background:#f4f6ef;width:30px;height:30px;display:grid;place-items:center;border-radius:9px}.kpi strong{display:block;font-size:35px;font-weight:550;letter-spacing:-1.5px;line-height:1.1;margin:12px 0 9px;font-variant-numeric:tabular-nums}.kpi small{color:#98a18f;font-size:10px}.kpi small em{font-style:normal;color:#648660}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:20px}.panel{background:white;border:1px solid #e4e9e0;border-radius:12px;overflow:hidden}.panel-head{padding:22px 23px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-head h2{font-size:14px;font-weight:600;margin:0 0 7px}.panel-head p{font-size:10px;color:#97a08f;margin:0;line-height:1.8}.muted-pill{font-size:9px;border:1px solid #e2e7dc;color:#8b9b83;border-radius:20px;padding:5px 9px;white-space:nowrap}.chart{height:225px;position:relative;margin:25px 23px 0;display:grid;grid-template-columns:repeat(14,1fr);gap:8px;align-items:end;border-bottom:1px solid #e7ecdf;background:repeating-linear-gradient(to top,transparent 0,transparent 54px,#f1f4ec 54px,#f1f4ec 55px)}.chart-column{height:100%;display:flex;justify-content:flex-end;flex-direction:column;align-items:center;gap:2px;position:relative}.chart-zero{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;color:#a3ad9b;pointer-events:none}.chart-labels{display:flex;justify-content:space-between;color:#9ca692;font-size:9px;margin:11px 23px 18px}.chart-legend{display:flex;gap:18px;align-items:center;border-top:1px solid #eef1e8;padding:13px 23px;font-size:10px;color:#8c9c82}.chart-legend .dot{margin-right:5px}.service-list{padding:6px 23px 16px}.service-group{padding:17px 0;border-bottom:1px solid #edf1e7}.service-group:last-child{border:0}.service-title{font-size:11px;font-weight:600;color:#63765d;margin-bottom:13px;display:flex;align-items:center;gap:8px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;color:#879480;font-size:11px}.badge{display:inline-block;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:500;white-space:nowrap;line-height:1.4}.badge.green{background:#edf4e8;color:#67815c}.badge.amber{background:#fbf3e4;color:#ad8c43}.badge.red{background:#f8eae6;color:#b46758}.badge.gray{background:#f1f3ef;color:#8a9682}.badge.lilac{background:#f0ecf7;color:#9080aa}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.insight{display:flex;gap:15px;align-items:flex-start;padding:18px 20px;border:1px solid #e4e9e0;border-radius:11px;background:#fcfdf9}.insight>span{color:#a6b296;font-size:20px}.insight h3{font-weight:550;font-size:12px;margin:0 0 6px}.insight p{font-size:10px;color:#94a08b;line-height:1.9;margin:0}.toolbar{background:white;border:1px solid #e4e9e0;border-radius:11px;padding:16px;display:flex;gap:10px;align-items:center;margin-bottom:17px}.toolbar input{max-width:330px}.toolbar select{width:auto;min-width:120px}.toolbar input,.toolbar select{font-size:12px;height:38px;padding:8px 12px}.toolbar .toolbar-hint{color:#a0aa98;font-size:10px;margin-left:auto}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}.table th{font-size:10px;color:#98a18e;background:#fbfcf8;font-weight:500;letter-spacing:.2px;border-bottom:1px solid #e7ecdf;padding:15px 18px}.table td{padding:17px 18px;font-size:12px;color:#5c6e54;border-bottom:1px solid #f0f3eb;line-height:1.6}.table tr:last-child td{border:0}.table code,.user-reference code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#8a9a81}.table .minor{font-size:10px;color:#9aa58e;margin-top:3px}.table .row-actions{display:flex;gap:5px}.row-action{font-size:10px;border:1px solid #dfe6d7;background:white;border-radius:6px;padding:5px 9px;color:#79906b}.row-action.danger{color:#b17c6b;border-color:#ecded7}.row-action:hover{background:#f2f6eb}.pagination{border-top:1px solid #edf1e7;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:#98a38d;font-size:11px}.pagination>div{display:flex;gap:8px;align-items:center}.pagination button{font-size:11px;border:1px solid #dfe6d7;background:white;border-radius:6px;padding:6px 11px;color:#7d9071}.pagination button:disabled{opacity:.4;cursor:default}.empty{padding:70px 20px;text-align:center}.empty-symbol{font-size:35px;color:#c0ccb5;margin-bottom:15px}.empty h3{font-size:14px;font-weight:500;color:#6d8062;margin-bottom:8px}.empty p{font-size:11px;color:#a0aa95;line-height:1.8;max-width:380px;margin:auto}.loading{padding:90px;text-align:center;color:#9aa88f;font-size:12px}.error-panel{padding:45px;text-align:center;line-height:2;color:#ab7663}.page-footer{display:flex;justify-content:space-between;gap:15px;margin-top:30px;padding-top:17px;border-top:1px solid #e4e9e0;color:#a0aa96;font-size:9px}.privacy-note{font-size:11px;color:#8c9b80;line-height:1.9;padding:16px 20px;border-bottom:1px solid #edf1e7;background:#fbfcf8}dialog{border:1px solid #e0e7d8;border-radius:16px;padding:26px;width:min(470px,calc(100vw - 32px));color:#3c5235;background:#fffefb;box-shadow:0 25px 90px #24351f25}dialog::backdrop{background:#1b2d224d;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}dialog h2{font-size:22px;font-weight:550;margin:10px 0}dialog .subtle{font-size:12px;margin-bottom:16px}.user-reference{background:#f2f5ed;padding:13px;border-radius:9px;margin-bottom:19px;display:flex;flex-direction:column;gap:6px}.user-reference code{overflow-wrap:anywhere}dialog label+label{margin-top:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.primary.danger{background:#ac6656}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);border:1px solid #dce6d3;border-radius:10px;box-shadow:0 8px 30px #34532713;padding:13px 20px;background:#fffefb;color:#607753;z-index:9;font-size:12px;max-width:calc(100vw - 32px)}@media(min-width:1500px){.content{padding-top:39px}.chart{height:270px}.kpi{min-height:154px}}@media(max-width:1050px){.overview-grid{grid-template-columns:1fr}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.service-group{border:0}.content{padding:27px 24px 16px}.topbar{padding:0 24px}.kpi{padding:16px}.kpi strong{font-size:30px}.insight-grid{gap:10px}.insight{padding:15px}.date-label{display:none}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:20px 20px 0;border-right:0;border-bottom:1px solid #e4e9e0;display:grid;grid-template-columns:1fr auto;gap:12px}.sidebar .wordmark{padding:0;font-size:31px}.sidebar-caption{display:none}.sidebar nav{grid-row:2;grid-column:1/-1;flex-direction:row;margin:0;gap:4px;justify-content:space-between}.sidebar nav a{padding:13px 8px;font-size:11px;gap:5px}.nav-icon{font-size:17px;width:16px}.sidebar-bottom{padding:0;grid-column:2;grid-row:1;max-width:150px;align-self:center}.source-label,.local-status,.sidebar-bottom p{display:none}.sidebar-bottom select{height:33px;padding:5px 8px;font-size:10px}.topbar{height:55px;padding:0 20px}.topbar>div:first-child{font-size:10px}.content{padding:24px 17px 14px}.page-head{align-items:flex-end;gap:10px;margin-bottom:19px}.page-head h1{font-size:25px}.page-head .subtle{font-size:11px}.page-head .secondary{font-size:10px;min-width:77px;padding:8px 10px}.eyebrow{font-size:8px}.scope-notice{font-size:10px;align-items:flex-start;margin-bottom:17px;padding:10px}.scope-notice .dot{margin-top:5px}#lastUpdated{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:17px}.kpi{min-height:127px;padding:15px}.kpi-top{font-size:10px}.kpi-symbol{width:26px;height:26px;font-size:16px}.kpi strong{font-size:30px}.kpi small{font-size:9px}.overview-grid{gap:16px}.panel-head{padding:19px 17px 0}.chart{margin:20px 17px 0;height:185px;gap:5px}.chart-labels{margin:10px 17px 14px}.chart-legend{padding:12px 17px;flex-wrap:wrap;gap:10px}.service-list{padding:4px 17px 12px;grid-template-columns:1fr;gap:0}.service-group{border-bottom:1px solid #edf1e7}.insight-grid{grid-template-columns:1fr;margin-top:16px}.insight{padding:16px}.toolbar{padding:12px;flex-wrap:wrap;gap:8px}.toolbar input{max-width:none;flex-basis:100%}.toolbar select{flex:1;font-size:11px}.toolbar-hint{display:none}.page-footer{flex-direction:column;gap:7px;font-size:9px;margin-top:23px}.login-page{display:block}.login-art{display:none}.login-side{min-height:100vh;padding:35px 28px}.login-card{max-width:355px}.login-card h1{font-size:30px}.login-card .eyebrow{margin-top:45px}.table td{padding:15px 14px}.table th{padding:13px 14px}.pagination{font-size:10px;padding:12px}.empty{padding:50px 20px}}
/* Explicit chart tracks avoid native vertical-meter intrinsic size overflow. */
.chart{grid-template-rows:minmax(0,1fr)}.chart-column{min-height:0;overflow:hidden}.chart-column svg{display:block;width:100%;height:100%;min-height:0}
