:root{--ink:#173d3b;--muted:#71827c;--bg:#f5f6f1;--line:#e1e7dc;--green:#1d6256;--lime:#d5ebbb;--white:#fff;--radius:18px;--shadow:0 6px 28px #173d3b05;font-family:Inter,'Segoe UI',sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9bc7ad;outline-offset:3px}button{border:0;background:transparent;color:inherit}input,select,textarea{border:1px solid var(--line);border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink);width:100%}textarea{min-height:90px;resize:vertical}label{font-size:12px;font-weight:600;display:block;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-1.1px;font-weight:600;margin-bottom:9px}h2{font-size:18px;letter-spacing:-.4px;font-weight:600}h3{font-size:15px}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand-mark{display:inline-grid;place-items:center;background:var(--lime);border-radius:12px;width:39px;height:39px;flex-shrink:0}.brand-mark img{width:39px;height:39px}.brand{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.6px;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:500;margin-top:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:white;padding:11px 17px;border-radius:9px;font-weight:600;font-size:12px;text-decoration:none;white-space:nowrap}.btn.light{background:#edf3e8;color:var(--ink)}.btn.outline{border:1px solid var(--line);background:white;color:var(--ink)}.btn.danger{background:#a94e3d}.btn.small{padding:8px 12px;font-size:11px}.btn .icon{width:16px;height:16px}.link-btn{color:var(--green);font-weight:600;font-size:12px;display:flex;align-items:center;gap:6px}.link-btn .icon{width:15px;height:15px}.boot{display:grid;place-content:center;justify-items:center;height:100vh;gap:20px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1.04fr}.login-form{padding:44px clamp(30px,7vw,110px);display:flex;flex-direction:column}.login-form .brand{margin-bottom:80px}.login-form h1{font-size:38px}.login-box{max-width:380px;width:100%;margin:auto}.login-box form{display:grid;gap:21px;margin-top:34px}.login-box .btn{padding:14px}.login-footer{margin-top:60px;font-size:11px;color:var(--muted)}.divider{display:flex;gap:15px;align-items:center;margin:24px 0;font-size:11px;color:var(--muted)}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.login-art{background:#123f3b;position:relative;padding:70px 60px;color:#e9f1e5;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-art:before,.login-art:after{content:'';position:absolute;width:530px;height:530px;border:1px solid #ffffff0a;border-radius:50%;top:-200px;right:-180px}.login-art:after{width:700px;height:700px;top:-280px;right:-265px}.login-art h2{font-size:45px;line-height:1.14;letter-spacing:-1.7px;max-width:400px;font-weight:500;margin:25px 0}.login-art h2 em{color:#c9e6ae;font-style:normal}.login-art>p{color:#b0c9bc;max-width:350px}.preview-card{margin-top:40px;background:#ffffff0c;border:1px solid #ffffff18;padding:28px;border-radius:20px;position:relative}.preview-card .big{font-size:41px;letter-spacing:-2px}.preview-bars{display:flex;align-items:end;gap:16px;height:100px;margin-top:15px}.preview-bars span{flex:1;background:#c4e6ad;border-radius:5px 5px 0 0;opacity:.8}.preview-card footer{display:flex;justify-content:space-between;font-size:10px;color:#a6c4b4;margin-top:12px}.login-art .eyebrow{color:#cbe7b9}.sidebar{width:224px;position:fixed;left:0;top:0;bottom:0;background:#113f3b;color:#bfd0c6;padding:32px 18px 20px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{padding:0 10px;color:#f4f6ec;margin-bottom:42px}.sidebar .eyebrow{font-size:9px;color:#74968b;margin:18px 14px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:9px;font-size:12px}.nav button.active{background:#d4eabb;color:#173e34;font-weight:650}.nav button:not(.active):hover{background:#ffffff09}.nav .icon{width:18px;height:18px}.nav-count{margin-left:auto;font-size:10px;border:1px solid #ffffff25;border-radius:5px;padding:1px 5px}.sidebar-bottom{margin-top:auto}.sidebar-note{border:1px solid #ffffff18;border-radius:12px;padding:16px 13px;margin:20px 6px;font-size:11px;line-height:1.6}.sidebar-note strong{display:block;color:#d6e7cd;margin-bottom:5px}.profile{border-top:1px solid #ffffff18;padding-top:19px;display:flex;gap:10px;align-items:center;padding-left:7px}.avatar{width:32px;height:32px;border-radius:50%;background:#6e927c;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0}.profile-name{font-size:11px;font-weight:600;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-role{font-size:10px;color:#8eaea0;margin-top:3px}.profile button{margin-left:auto;padding:4px}.workspace{margin-left:224px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fbfcf8}.breadcrumbs{font-size:11px;color:var(--muted);display:flex;gap:12px;align-items:center}.breadcrumbs span:last-child{color:var(--ink)}.top-actions{display:flex;gap:20px;align-items:center}.top-actions .icon{width:18px;height:18px}.top-date{font-size:11px;color:var(--muted)}.live-dot{width:6px;height:6px;background:#5c8f65;border-radius:50%;display:inline-block;margin-right:6px}.pilot-tag{font-size:10px;background:#ecf1e5;border:1px solid #dce6d0;border-radius:5px;padding:5px 8px}.main{padding:33px 38px 30px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:27px}.page-head p{font-size:12px;color:var(--muted);margin:0}.head-actions{display:flex;gap:10px;margin-top:7px}.filterbar{display:flex;gap:12px;align-items:center;margin-bottom:23px;flex-wrap:wrap}.filterbar select,.filterbar input{font-size:11px;background:transparent;width:auto;min-width:150px;padding:9px 12px}.filterbar .filter-label{font-size:11px;margin-left:auto;color:var(--muted)}.notice{border:1px solid #d9e3c8;background:#f0f5e7;border-radius:10px;padding:12px 16px;font-size:11px;color:#60734c;display:flex;gap:10px;align-items:center;margin-bottom:22px;line-height:1.6}.notice .icon{width:16px;height:16px}.notice.warn{background:#fff6e8;border-color:#f1dbb5;color:#8c672b}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.kpi{padding:21px 22px}.kpi-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.icon-bg{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#f0f5e9;color:#588562}.icon-bg.blue{background:#eef3f8;color:#6c8eb5}.icon-bg.pink{background:#f7eef2;color:#a97996}.icon-bg.gold{background:#faf5e9;color:#b39452}.icon-bg .icon{width:17px;height:17px}.kpi-value{font-size:32px;font-weight:550;letter-spacing:-1px;margin:14px 0 9px}.kpi-foot{font-size:10px;color:var(--muted)}.kpi-foot strong{font-weight:600;color:#5a8358;margin-right:5px}.grid-main{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:22px;margin-bottom:22px}.card-head{padding:23px 24px 0;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-head h2{font-size:14px;margin:0 0 6px}.card-head p{font-size:10px;color:var(--muted);margin:0}.card-body{padding:22px 24px}.legend{display:flex;gap:17px;align-items:center;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.chart{height:220px;position:relative;margin-top:12px}.chart svg{width:100%;height:100%;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:#8a978d}.chart-grid{stroke:#eaf0e5;stroke-dasharray:3 4;stroke-width:1}.chart-caption{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid #f0f2ed;gap:10px}.donut-wrap{display:flex;justify-content:center;margin:0 auto;position:relative;width:172px;height:172px}.donut-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-label strong{font-size:32px;font-weight:550;letter-spacing:-1px}.donut-label span{font-size:10px;color:var(--muted);margin-top:3px}.status-list{display:grid;gap:11px;margin-top:19px}.status-line{display:flex;align-items:center;font-size:10px;color:var(--muted);gap:7px}.status-line i{width:7px;height:7px;border-radius:2px;background:#216351}.status-line strong{margin-left:auto;font-size:11px;color:var(--ink);font-weight:600}.status-line span:last-child{width:32px;text-align:right}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{font-size:9px;letter-spacing:.6px;font-weight:600;text-transform:uppercase;color:#829185;padding:13px 24px;background:#fafbf7;border-bottom:1px solid var(--line)}td{padding:15px 24px;border-bottom:1px solid #eff2eb}tbody tr:last-child td{border-bottom:0}.table-title{font-weight:600}.table-sub{display:block;font-size:10px;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:9px;font-weight:600;background:#eff2eb;color:#7c8576}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.approved{background:#edf5e7;color:#5c8050}.badge.submitted{background:#eef3f9;color:#6d89ab}.badge.returned{background:#fcf0e6;color:#b5804b}.badge.draft{background:#f1f1ed;color:#8d9087}.progress{height:5px;background:#edf1e9;border-radius:3px;overflow:hidden;margin-top:6px;min-width:80px}.progress>span{height:100%;background:#83a87a;display:block;border-radius:3px}.district-footer{padding:16px 24px;border-top:1px solid var(--line);font-size:10px;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.insights{display:grid;gap:0}.insight{display:flex;gap:13px;padding:18px 24px;border-bottom:1px solid #f0f2ed}.insight:last-child{border-bottom:0}.insight h3{font-size:11px;margin:0 0 6px;font-weight:600}.insight p{font-size:10px;color:var(--muted);margin:0;line-height:1.6}.insight .icon-bg{width:29px;height:29px;flex-shrink:0}.insight .link-btn{margin-top:10px;font-size:10px}.page-footer{display:flex;justify-content:space-between;margin-top:28px;font-size:10px;color:#8b998e}.page-footer span{display:flex;align-items:center;gap:6px}.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dataset-card{padding:25px}.dataset-card h2{margin:16px 0 8px}.dataset-card p{font-size:12px;color:var(--muted);min-height:40px}.dataset-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:23px;font-size:10px;color:var(--muted)}.report-filter{display:flex;gap:12px;margin:20px 0}.report-filter>*{flex:1}.form-section{margin-bottom:25px}.form-section h3{padding-bottom:10px;border-bottom:1px solid var(--line);font-size:12px}.field-row{display:grid;grid-template-columns:1fr 160px;gap:20px;padding:12px 0;align-items:center;border-bottom:1px solid #f1f3ed}.field-row label{margin:0;font-size:12px}.field-row small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:5px}.field-row input{font-variant-numeric:tabular-nums}.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding-top:20px;flex-wrap:wrap}.form-actions .muted{font-size:10px;margin-right:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .wide{grid-column:1/-1}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:12px}.empty .icon{height:32px;width:32px;display:block;margin:0 auto 15px}.error{background:#fff0ed;border:1px solid #edcec6;color:#9b5141;padding:13px 16px;border-radius:10px;font-size:12px;line-height:1.7}.error ul{margin:5px 0;padding-left:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173f38;color:white;padding:13px 20px;border-radius:10px;font-size:12px;z-index:100;box-shadow:0 8px 40px #0002;max-width:90vw;display:none}.toast.show{display:block}.toast.error-toast{background:#934f3f}.loading{padding:80px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;max-width:760px;width:calc(100% - 30px);padding:0;color:var(--ink);box-shadow:0 20px 80px #0002}dialog::backdrop{background:#113d3b66;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;padding:23px 27px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:18px}.modal-head button{padding:0 4px}.modal-body{padding:25px 27px;max-height:76vh;overflow:auto}.modal-body .error{margin-bottom:15px}.review-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.review-values div{background:#f7f9f3;padding:13px;border-radius:8px;font-size:11px}.review-values strong{display:block;font-size:20px;margin-top:6px;font-weight:500}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-detail{padding:24px}.metric-detail .kpi-value{margin-top:16px}.metric-detail h3{font-size:12px;margin-bottom:7px}.metric-detail p{font-size:10px;color:var(--muted)}.search-input{max-width:260px}.mobile-toggle{display:none}.count-pill{font-size:10px;border:1px solid var(--line);border-radius:6px;padding:5px 8px;color:var(--muted)}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help-grid .card{padding:25px}.help-grid p,.help-grid li{font-size:12px;color:var(--muted);line-height:1.8}.help-grid ul,.help-grid ol{padding-left:20px}.audit-detail{font:10px ui-monospace,monospace;white-space:pre-wrap;max-width:300px;word-break:break-word}.alert-list{display:grid;gap:12px}.alert-row{display:flex;gap:14px;padding:17px;border-radius:10px;background:#fafbf7;border:1px solid var(--line);align-items:center}.alert-row p{font-size:11px;color:var(--muted);margin:5px 0 0}.alert-row h3{margin:0;font-size:12px}.alert-row .btn{margin-left:auto}.tabbar{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}.tabbar button{padding:10px 18px;border-bottom:2px solid transparent;font-size:12px;color:var(--muted)}.tabbar button.active{border-color:var(--green);color:var(--green);font-weight:600}.mini-country{display:flex;gap:5px;margin-right:5px}.mini-country i{width:3px;height:12px;background:#d7b25b;border-radius:1px}.mini-country i:first-child{background:#ba7160}.mini-country i:last-child{background:#6c997b}.data-source{font-size:9px;color:#8a8d74}.skeleton{height:200px;background:linear-gradient(90deg,#f0f3ec,#fafbf7,#f0f3ec);border-radius:18px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.4}}@media(min-width:1500px){.main{padding-top:40px}.kpi{padding:25px}.chart{height:250px}}@media(max-width:1150px){.sidebar{width:200px}.workspace{margin-left:200px}.main{padding:28px 24px}.topbar{padding:0 24px}.kpi{padding:17px}.kpi-head{font-size:10px}.grid-main{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.kpi-value{font-size:28px}.card-head{padding:20px 18px 0}.card-body{padding:20px 18px}td,th{padding-left:18px;padding-right:18px}.insight{padding:17px 18px}.login-art{padding:50px 35px}}@media(max-width:950px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:1fr 1fr}.login-form{padding:35px}.login-art h2{font-size:35px}.head-actions .btn{padding:10px}.page-head{flex-wrap:wrap}.donut-wrap{width:155px;height:155px}.completion-body{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.status-list{margin-top:0}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:224px}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0004}.workspace{margin-left:0}.mobile-toggle{display:block;padding:4px;margin-right:8px}.topbar{height:64px;padding:0 18px}.breadcrumbs{gap:6px}.breadcrumbs>span:first-of-type{display:none}.top-date{display:none}.main{padding:24px 18px}.page-head h1{font-size:27px}.page-head{margin-bottom:20px}.head-actions{margin-top:0}.filterbar{gap:8px}.filterbar select,.filterbar input{min-width:0;max-width:48%;flex:1}.filterbar .filter-label{display:none}.kpis{gap:10px}.kpi{padding:17px 14px}.kpi-value{font-size:28px}.kpi-foot{font-size:9px}.kpi-head{font-size:10px}.icon-bg{width:25px;height:25px}.notice{font-size:10px;padding:11px 12px}.card{border-radius:14px}.card-head{padding:19px 17px 0}.card-body{padding:19px 17px}.chart{height:190px}.chart-caption{font-size:9px}.legend{font-size:9px;gap:10px}.forms-grid,.help-grid{grid-template-columns:1fr}.dataset-card{padding:22px}.page-footer{font-size:9px;gap:10px}.login{display:block}.login-art{display:none}.login-form{min-height:100vh;padding:30px}.login-form .brand{margin-bottom:60px}.login-footer{margin-top:40px}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-detail{padding:17px}.metric-detail .kpi-value{font-size:25px}.modal-body{padding:20px}.modal-head{padding:20px}.field-row{grid-template-columns:1fr 95px;gap:10px}.field-row small{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.review-values{grid-template-columns:1fr 1fr}.report-filter{flex-wrap:wrap}.report-filter select{min-width:130px}.head-actions .btn{font-size:11px}.alert-row{flex-wrap:wrap}.alert-row .btn{margin-left:0}.completion-body{gap:10px}.donut-wrap{width:140px;height:140px}}@media print{.sidebar,.topbar,.head-actions,.filterbar,.page-footer,.btn,.notice{display:none!important}.workspace{margin:0}.main{padding:0}.card{break-inside:avoid;box-shadow:none}.grid-main{grid-template-columns:1fr 1fr}body{background:white}.kpis{grid-template-columns:repeat(4,1fr)}}

.sidebar{overflow-y:auto}
