:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#17312c;background:#f4f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:#167a68}#app{min-height:100vh}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid #dce7e3;display:flex;flex-direction:column;padding:22px 14px}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 25px}.mark{width:43px;height:43px;border-radius:12px;background:#167a68;color:#fff;display:grid;place-items:center;font-size:27px;font-weight:900;box-shadow:0 8px 18px #167a6833}.brand strong{display:block;font-size:18px}.brand small{font-size:11px;color:#8a9b95;letter-spacing:.08em}.role-switch{display:flex;gap:4px;padding:4px;background:#eff5f2;border-radius:12px;margin-bottom:21px}.role-switch button{border:0;border-radius:9px;padding:9px 0;flex:1;background:transparent;color:#61746c;font-weight:700}.role-switch button.active{background:white;color:#126d5e;box-shadow:0 2px 8px #1a514017}.nav-scroll{overflow-y:auto;flex:1}.nav-group{font-size:11px;font-weight:800;color:#a0aca8;margin:18px 13px 8px;letter-spacing:.1em}.nav-item{width:100%;border:0;background:transparent;color:#557069;display:flex;align-items:center;gap:11px;text-align:left;padding:11px 13px;border-radius:10px;font-size:14px;font-weight:650;margin:2px 0}.nav-item:hover{background:#f1f7f4}.nav-item.active{background:#e5f5f0;color:#0f6657;font-weight:800}.nav-item svg{width:18px;height:18px;stroke-width:1.9}.badge{margin-left:auto;border-radius:100px;background:#e37318;color:#fff;padding:2px 7px;font-size:11px}.sidebar-footer{border-top:1px solid #eaf0ee;padding:16px 11px 2px;color:#7e8f89;font-size:11px;line-height:1.5}.side-reset{background:none;border:0;color:#167a68;padding:7px 0;font-size:12px;font-weight:700}.main{min-width:0}.topbar{height:70px;position:sticky;z-index:10;top:0;background:#ffffffeb;backdrop-filter:blur(12px);border-bottom:1px solid #e5ece8;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,4vw,54px)}.top-title{font-weight:800;font-size:19px}.top-actions{display:flex;align-items:center;gap:10px}.demo-chip{font-size:11px;font-weight:800;color:#9a5a0f;background:#fff3df;border:1px solid #f6d9aa;border-radius:100px;padding:7px 11px}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e3f5ef;color:#167a68;font-weight:800}.content{max-width:1320px;margin:auto;padding:30px clamp(22px,4vw,54px) 70px}.page-title{font-size:29px;letter-spacing:-.04em;margin:0 0 7px}.page-lead{color:#72847e;font-size:14px;margin:0 0 25px;line-height:1.65}.section-head{display:flex;justify-content:space-between;align-items:end;margin:29px 0 14px;gap:15px}.section-head h2{font-size:19px;margin:0}.section-head p{margin:5px 0 0;color:#81918c;font-size:12px}.card{background:#fff;border:1px solid #e1eae5;border-radius:15px;box-shadow:0 8px 25px #214c3e0a}.padded{padding:23px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:21px}.stat-label{color:#71847d;font-size:12px;font-weight:700}.stat-value{font-size:30px;font-weight:850;letter-spacing:-.04em;margin-top:10px}.stat-note{font-size:11px;color:#99a8a2;margin-top:6px}.green{color:#167a68}.orange{color:#d37a20}.red{color:#c65a50}.muted{color:#80918a}.hero{background:linear-gradient(130deg,#0c5649,#167a68 75%);color:#fff;border-radius:19px;padding:28px 30px;position:relative;overflow:hidden;box-shadow:0 15px 28px #0f665726}.hero:after{content:"";position:absolute;right:-90px;top:-95px;width:320px;height:320px;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 70px #ffffff0c,0 0 0 140px #ffffff0a;pointer-events:none}.hero-eyebrow{font-size:11px;opacity:.68;letter-spacing:.1em;font-weight:800}.hero h2{font-size:24px;margin:10px 0}.hero p{max-width:580px;line-height:1.7;font-size:13px;color:#d5f1e8;margin:0}.hero-stats{display:flex;gap:26px;margin-top:23px}.hero-stats strong{font-size:28px;display:block}.hero-stats span{font-size:11px;color:#c1e8df}.hero-actions{display:flex;gap:10px;margin-top:22px;position:relative;z-index:1}.btn{border:1px solid #d3e4db;background:#fff;color:#31574d;padding:10px 16px;border-radius:9px;font-weight:750;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.btn:hover{border-color:#9bd4c7;background:#f7fbf9}.btn.primary{background:#167a68;color:#fff;border-color:#167a68}.btn.primary:hover{background:#0f6657}.btn.light{background:#fff;color:#0f6657;border-color:#fff}.btn.ghost{background:transparent;color:#fff;border-color:#ffffff75}.btn.danger{color:#b45249}.btn.small{font-size:12px;padding:7px 11px;min-height:33px}.btn.text{padding:0;border:0;background:none;color:#167a68;min-height:unset}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.input,select.input{background:#fff;border:1px solid #dce7e3;border-radius:9px;padding:10px 12px;color:#25443b;outline:0;min-height:40px}.input:focus{border-color:#3fa38f;box-shadow:0 0 0 3px #e5f5f0}.input.search{width:min(300px,100%)}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{background:#f8fbf9;color:#7c8e87;font-size:11px;font-weight:750;text-align:left;padding:13px 15px;white-space:nowrap}.table td{border-top:1px solid #edf2f0;padding:13px 15px;white-space:nowrap}.table tr:hover td{background:#fbfdfc}.table strong{font-weight:750}.tag{display:inline-flex;align-items:center;border-radius:100px;padding:5px 9px;background:#e5f5f0;color:#167a68;font-size:11px;font-weight:800;white-space:nowrap}.tag.warn{background:#fff1e9;color:#dc7525}.tag.gray{background:#edf2f0;color:#7a8a83}.tag.red{background:#fff0ed;color:#c65a50}.tag.blue{background:#eaf3fb;color:#407aab}.list{display:grid}.list-row{display:flex;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf2f0}.list-row:last-child{border-bottom:0}.list-row .body{flex:1;min-width:0}.list-row strong{font-size:14px}.list-row small{display:block;color:#91a09a;font-size:11px;margin-top:5px}.round-icon{width:38px;height:38px;border-radius:12px;background:#e5f5f0;color:#167a68;display:grid;place-items:center;font-size:18px;flex:none}.round-icon.orange{background:#fff1e9;color:#d37a20}.round-icon.blue{background:#eaf3fb;color:#407aab}.mini-label{color:#91a09a;font-size:11px;font-weight:700}.number{font-variant-numeric:tabular-nums}.simple-chart{display:flex;align-items:end;gap:9px;height:150px;padding:18px 5px 0;border-bottom:1px solid #dae7df}.bar{flex:1;background:linear-gradient(0deg,#167a68,#5cbea7);border-radius:6px 6px 0 0;min-width:20px;position:relative}.bar span{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);font-size:10px;color:#899c95}.note{padding:12px 14px;border-radius:9px;background:#f5faf7;color:#5b756b;font-size:12px;line-height:1.6}.note.amber{background:#fff7ea;color:#925d16}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:17px}.callout-image{width:100%;max-height:300px;object-fit:cover;border-radius:13px}.empty{text-align:center;padding:40px 15px;color:#81918c;font-size:13px}.modal-back{position:fixed;inset:0;background:#0e2927a1;z-index:30;display:grid;place-items:center;padding:20px}.modal{width:min(480px,100%);max-height:min(90vh,850px);overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 70px #102d2a55}.modal h2{font-size:20px;margin:0 0 8px}.modal p{color:#73877d;font-size:12px;line-height:1.6;margin:0 0 17px}.field{display:block;font-size:12px;font-weight:750;color:#637c70;margin:14px 0}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px}.field textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;right:25px;bottom:25px;z-index:50;background:#173f36;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:0 12px 28px #16483c55;font-size:13px;max-width:min(420px,calc(100vw - 30px))}.mobilebar{display:none}.hamburger{display:none}.drawer-close{display:none}.employee-wrap{max-width:660px;margin:auto}.employee-hero{padding:25px;border-radius:18px;background:linear-gradient(135deg,#0e6454,#167a68);color:#fff}.employee-hero h2{margin:8px 0;font-size:25px}.employee-hero p{color:#d1efe6;font-size:12px;line-height:1.65}.employee-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.employee-tile{padding:19px;min-height:115px;display:flex;flex-direction:column;justify-content:space-between}.employee-tile b{font-size:15px}.employee-tile span{font-size:11px;color:#8ca099}.trendline{height:2px;background:#d9e9e1;flex:1}.timeline{display:flex;align-items:center;gap:10px;padding:12px 0}.timeline-dot{height:10px;width:10px;border-radius:50%;background:#167a68}.timeline-label{color:#70887b;font-size:12px}.footer-note{text-align:center;color:#9ba9a2;font-size:11px;margin-top:45px;line-height:1.6}.help-banner{background:#fff7eb;border:1px solid #f3dbb4;padding:12px 15px;border-radius:10px;color:#805a20;display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.5;margin-bottom:18px}.help-banner b{white-space:nowrap}.help-banner button{margin-left:auto;background:none;border:0;color:#9b7436;font-size:18px}.kpi-line{display:flex;gap:12px;align-items:baseline}.kpi-line strong{font-size:24px}.pill-tabs{display:flex;gap:6px;background:#eff5f2;border-radius:10px;padding:4px;width:max-content;max-width:100%;overflow:auto}.pill-tabs button{border:0;background:transparent;color:#73877d;border-radius:7px;padding:8px 12px;font-size:12px;white-space:nowrap}.pill-tabs button.active{background:#fff;color:#167a68;font-weight:800;box-shadow:0 1px 5px #2b54411a}.small-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.small-card{border:1px solid #e5ece8;border-radius:10px;padding:13px}.small-card span{color:#91a09a;font-size:11px}.small-card strong{display:block;margin-top:8px;font-size:19px}.tiny{font-size:11px;color:#8b9b94}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.aside-info{font-size:12px;color:#72877b;line-height:1.7}.mobile-only{display:none}
@media(max-width:1050px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.shell{display:block}.sidebar{position:fixed;z-index:25;transform:translateX(-105%);transition:transform .2s;width:min(300px,86vw);box-shadow:15px 0 40px #0b2d2560}.sidebar.open{transform:translateX(0)}.drawer-overlay{position:fixed;inset:0;background:#0d292559;z-index:24}.drawer-close{display:block;position:absolute;right:13px;top:13px;background:none;border:0;font-size:22px;color:#879890}.topbar{height:62px;padding:0 18px}.top-title{font-size:16px}.hamburger{display:block;border:0;background:none;color:#167a68;font-size:22px;padding:4px 9px 4px 0}.top-left{display:flex;align-items:center}.demo-chip{font-size:10px;padding:5px 7px}.avatar{display:none}.content{padding:21px 15px 90px}.page-title{font-size:25px}.page-lead{font-size:12px}.hero{padding:23px 20px}.hero h2{font-size:22px}.hero-stats{gap:17px}.hero-stats strong{font-size:23px}.g2,.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px}.stat-value{font-size:23px}.section-head h2{font-size:17px}.mobilebar{display:flex;position:fixed;z-index:15;bottom:0;left:0;right:0;background:#ffffffed;border-top:1px solid #dce7e3;padding:8px 7px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;backdrop-filter:blur(10px)}.mobilebar button{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:90px;background:none;border:0;color:#80928b;font-size:10px}.mobilebar button.active{color:#167a68;font-weight:800}.mobilebar svg{width:21px;height:21px}.mobile-only{display:block}.toolbar .input.search{width:100%}.toolbar .btn{flex:1}.table th,.table td{padding:10px 11px;font-size:11px}.list-row{padding:13px}.padded{padding:17px}.toast{left:15px;right:15px;bottom:83px}.employee-wrap{max-width:100%}}
@media(max-width:380px){.g4{grid-template-columns:1fr 1fr}.hero-stats{gap:12px}.hero-stats strong{font-size:20px}.btn{padding:9px 11px}.top-title{font-size:15px}}
.workflow-links{display:grid;gap:9px;margin-top:18px}.workflow-links .btn{justify-content:flex-start;text-align:left;width:100%;background:#f7faf8}.workflow-links .btn:hover{background:#e5f5f0;color:#0f6657}
