:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1b342e;background:#f4f7f5;font-synthesis:none;--green:#155b48;--green2:#21775e;--ink:#1b342e;--muted:#75857d;--line:#e4ebe6;--surface:#fff;--red:#b5473d;--amber:#a66b17}*{box-sizing:border-box}body{margin:0;background:#f4f7f5}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#e2f0e9,transparent 35%),#f4f7f5}.login-card{width:min(100%,420px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 70px #153d3012}.logo{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#103d32;color:white;font-weight:850;font-size:18px;letter-spacing:-1px}.logo.small{width:42px;height:42px;border-radius:13px;font-size:15px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#789087;margin:22px 0 8px}.login-card h1{font-size:34px;letter-spacing:-1.5px;margin:0}.muted{color:var(--muted);line-height:1.55}.login-card form{display:grid;gap:14px;margin:28px 0 18px}.login-card label,.field label{font-size:12px;font-weight:700;color:#50635b;display:grid;gap:7px}.login-card input,.field input,.field select,.field textarea,.toolbar input,.toolbar select{border:1px solid #dce6df;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;width:100%;min-width:0}.login-card input:focus,.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:#45977b;box-shadow:0 0 0 3px #45977b18}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;font-size:13px}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#0f4939}.btn.secondary{background:#e9f1ec;color:#275443}.btn.danger{background:#fff0ee;color:#a23f35}.btn.ghost{background:transparent;color:#52665d;border:1px solid var(--line)}.btn.small-btn{padding:9px 13px}.btn.full{width:100%;padding:13px}.error{color:var(--red);font-size:12px;min-height:18px}.app{min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#103d32;color:#dcebe3;padding:22px 15px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 27px}.brand b,.brand small{display:block}.brand b{font-size:16px;color:white}.brand small{font-size:11px;color:#a9c5b8;margin-top:3px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#8eafa0;font-weight:800;padding:10px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#c3d8cd;text-align:left;padding:12px;border-radius:9px;font-size:13px}.nav-item span{font-size:17px;width:19px;text-align:center}.nav-item:hover,.nav-item.active{background:#ffffff18;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #7ed0a9}.sidebar-bottom{margin-top:auto}.connection{display:flex;align-items:center;gap:8px;color:#a9c5b8;font-size:11px;padding:12px 10px;border-top:1px solid #ffffff20}.connection i{width:7px;height:7px;border-radius:50%;background:#67d49a}.user-mini{display:flex;align-items:center;gap:9px;padding:12px 7px 2px;border-top:1px solid #ffffff20}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d3eadc;color:#14513e;font-weight:800;font-size:12px}.user-info{min-width:0;flex:1}.user-info b,.user-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info b{font-size:11px;color:white}.user-info small{font-size:10px;color:#a9c5b8;margin-top:3px}.user-mini button{background:transparent;color:#dcebe3;border:0;font-size:19px}.main{margin-left:244px;min-height:100vh;padding:0 30px;display:flex;flex-direction:column}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.topbar .eyebrow{margin:0 0 4px;font-size:9px}.topbar h2{margin:0;font-size:21px;letter-spacing:-.5px}.top-actions{display:flex;align-items:center;gap:15px}.today{font-size:11px;color:var(--muted)}.icon-btn{display:none;border:0;background:#e8f0eb;border-radius:8px;padding:8px}.content{padding:25px 0 34px;flex:1}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.page-intro h1{font-size:23px;letter-spacing:-.8px;margin:0 0 5px}.page-intro p{font-size:12px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:19px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:17px}.metric .metric-label{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:23px;letter-spacing:-.7px;margin:9px 0 4px}.metric small{font-size:10px;color:#8b9992}.metric .metric-icon{float:right;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eaf3ed;color:var(--green);font-weight:800}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;margin-bottom:15px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h3{font-size:14px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.chart{height:220px;display:flex;align-items:flex-end;gap:9px;padding:18px 4px 0;border-bottom:1px solid var(--line)}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.bar{width:min(34px,70%);background:linear-gradient(180deg,#64b58e,#1b6a50);border-radius:6px 6px 2px 2px;min-height:2px}.bar-col small{font-size:9px;color:#819087}.ranking{display:grid;gap:13px}.rank-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;font-size:11px}.rank-num{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#edf4ef;color:#3d765d;font-weight:800}.rank-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{color:#6b7d74;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar input{max-width:280px}.toolbar select{max-width:190px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid #edf1ee;font-size:11px}th{background:#f7faf8;color:#718078;font-size:9px;text-transform:uppercase;letter-spacing:.7px}tbody tr:last-child td{border-bottom:0}td strong{font-size:11px}.muted-cell{color:#85928b}.actions{display:flex;gap:5px}.action-btn{border:1px solid var(--line);background:#fff;color:#52675d;border-radius:6px;padding:5px 8px;font-size:10px}.action-btn:hover{background:#f1f6f2}.pill{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:800;background:#edf4ef;color:#347152}.pill.warn{background:#fff5e5;color:#9b681c}.pill.danger{background:#fff0ee;color:#a74339}.empty{text-align:center;padding:32px;color:#819087;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field.full-width{grid-column:1/-1}.field textarea{min-height:76px;resize:vertical}.modal-backdrop{position:fixed;inset:0;background:#102c2580;display:grid;place-items:center;padding:18px;z-index:50}.modal{width:min(100%,700px);max-height:92vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 25px 90px #102c2533}.modal-head{position:sticky;top:0;background:#fff;z-index:1;padding:18px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-size:16px}.modal-close{border:0;background:#f0f4f1;border-radius:7px;padding:6px 10px}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.toast{position:fixed;top:18px;right:20px;background:#153f33;color:white;padding:12px 16px;border-radius:9px;box-shadow:0 8px 30px #0002;z-index:100;font-size:12px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1ee;font-size:11px}.summary-line:last-child{border:0}.report-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-box{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb}.report-box small{display:block;color:var(--muted);font-size:10px}.report-box strong{display:block;margin-top:7px;font-size:18px}.notice{padding:12px 14px;border-radius:9px;background:#f0f6f2;color:#527363;font-size:11px;line-height:1.5;margin-bottom:14px}footer{border-top:1px solid var(--line);padding:14px 0 18px;color:#819087;font-size:10px;display:flex;justify-content:space-between;gap:12px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:12px 0 35px #0002}.main{margin-left:0;padding:0 17px}.icon-btn{display:block}.topbar{height:75px}.today{display:none}.topbar h2{font-size:18px}.page-intro{align-items:flex-start;flex-direction:column}.cards{gap:9px}.metric{padding:13px}.metric strong{font-size:19px}.report-cards{grid-template-columns:1fr 1fr}}@media(max-width:480px){.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full-width{grid-column:auto}.top-actions .btn{font-size:11px;padding:8px}.report-cards{grid-template-columns:1fr}footer{flex-direction:column}}
