:root{--ink:#12201b;--forest:#173f31;--forest2:#245b46;--mint:#d7f16a;--paper:#f3f1e9;--white:#fffdf8;--line:#d9ddd5;--muted:#708078;--red:#c34f44;--amber:#bf7a20;--blue:#2776a3;--shadow:0 18px 60px rgba(18,32,27,.11)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Avenir Next","Noto Sans SC","PingFang SC",sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{margin:0 0 18px;font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--mint)}.eyebrow.dark{color:var(--forest2)}.muted{color:var(--muted)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);background:var(--forest)}.login-art{position:relative;overflow:hidden;padding:62px 8vw;display:flex;flex-direction:column;justify-content:space-between;color:var(--white);background:radial-gradient(circle at 78% 24%,rgba(215,241,106,.18),transparent 32%),linear-gradient(145deg,#10271f,#1f503e)}.login-art:after{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-310px;bottom:-410px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:16px;background:rgba(255,255,255,.08);font-family:Georgia,serif;font-weight:700}.login-art h1{font:500 clamp(46px,5vw,78px)/1.08 Georgia,"Songti SC",serif;letter-spacing:-.04em;margin:0;max-width:760px}.lead{font-size:17px;line-height:1.8;color:#c6d4cd;max-width:620px}.route-line{display:flex;align-items:center;gap:14px;font-size:12px;color:#dce6e1}.route-line i{height:1px;flex:1;max-width:90px;background:rgba(255,255,255,.25)}.login-card{background:var(--white);padding:11vh 8vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font:500 34px Georgia,"Songti SC",serif;margin:0}.login-card>p.muted{margin:12px 0 36px}.login-card label{display:grid;gap:9px;font-size:13px;font-weight:700;margin:0 0 18px}.login-card input,.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:13px 14px;outline:none;transition:.2s}.login-card input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--forest2);box-shadow:0 0 0 3px rgba(36,91,70,.1)}.primary{border:0;border-radius:10px;padding:13px 17px;background:var(--forest);color:#fff;font-weight:800;display:flex;justify-content:center;gap:20px}.primary:hover{background:var(--forest2)}.demo-note{font-size:11px;color:var(--muted);margin-top:18px!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#10271f;color:#dce6e1;padding:26px 18px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:12px}.brand strong,.brand small{display:block}.brand small{font-size:9px;letter-spacing:.16em;color:#8fa59a;margin-top:3px}.sidebar nav{display:grid;gap:3px;overflow:auto}.sidebar nav p{font-size:9px;letter-spacing:.16em;color:#6f8a7e;margin:21px 12px 7px}.sidebar nav button{position:relative;border:0;background:transparent;color:#aebfb7;text-align:left;padding:10px 12px;border-radius:9px;display:flex;align-items:center;gap:11px;font-size:13px}.sidebar nav button span{width:17px;text-align:center;color:#77988a}.sidebar nav button:hover,.sidebar nav button.active{background:#1d4939;color:#fff}.sidebar nav button.active:after{content:"";position:absolute;right:9px;width:5px;height:5px;border-radius:50%;background:var(--mint)}.sidebar nav b{margin-left:auto;background:var(--mint);color:var(--ink);font-size:9px;border-radius:20px;padding:2px 6px}.sidebar-foot{margin-top:auto;padding:16px 6px 0;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:9px}.sidebar-foot #avatar{width:34px;height:34px;border-radius:11px;background:var(--mint);color:var(--forest);display:grid;place-items:center;font-weight:900}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:11px}.sidebar-foot small{color:#77988a;margin-top:3px}.sidebar-foot button{border:0;background:transparent;color:#91a69c;font-size:17px}main{min-width:0}.topbar{height:98px;padding:22px 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(243,241,233,.92);backdrop-filter:blur(15px);position:sticky;top:0;z-index:5}.topbar p{font-size:10px;color:var(--muted);margin:0 0 7px;letter-spacing:.08em}.topbar h2{font:500 25px Georgia,"Songti SC",serif;margin:0}.top-actions{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted)}.search{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:8px 11px}.search input{border:0;outline:0;background:transparent;width:170px}.icon-btn,.secondary{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:9px 12px;color:var(--ink)}.content{padding:28px 34px 60px;max-width:1600px;margin:auto}.hero-strip{background:linear-gradient(120deg,var(--forest),#27634c);color:#fff;border-radius:18px;padding:27px 30px;display:flex;justify-content:space-between;align-items:end;overflow:hidden;position:relative}.hero-strip:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:48px solid rgba(215,241,106,.09);right:-75px;top:-130px}.hero-strip p{margin:0 0 8px;color:#b9ccc3;font-size:12px}.hero-strip h3{margin:0;font:500 26px Georgia,"Songti SC",serif}.hero-strip .pulse{color:var(--mint);font-size:11px;font-weight:800;letter-spacing:.1em;position:relative;z-index:1}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-card,.panel{background:var(--white);border:1px solid #e2e4dd;border-radius:14px;box-shadow:0 4px 20px rgba(18,32,27,.035)}.metric-card{padding:18px 19px}.metric-card small{color:var(--muted);font-size:11px}.metric-card strong{display:block;font:500 28px Georgia,serif;margin:12px 0 7px}.metric-card em{font-style:normal;font-size:10px;color:var(--forest2)}.grid-2{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.panel{padding:20px}.panel-head,.page-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel h3,.page-actions h3{font-size:14px;margin:0}.panel-head span{font-size:10px;color:var(--muted)}.pipeline{display:flex;align-items:end;gap:10px;height:180px;padding:10px 4px 0}.bar-wrap{flex:1;display:grid;grid-template-rows:1fr auto;gap:8px;height:100%;align-items:end}.bar{min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(#78a98f,var(--forest2));position:relative}.bar b{position:absolute;top:-21px;width:100%;text-align:center;font-size:11px}.bar-wrap small{text-align:center;font-size:9px;color:var(--muted)}.approval-list{display:grid;gap:9px}.approval-item{border-bottom:1px solid var(--line);padding:3px 0 11px}.approval-item:last-child{border:0}.approval-item strong{font-size:12px}.approval-item p{margin:5px 0 0;color:var(--muted);font-size:10px}.table-card{background:var(--white);border:1px solid #e0e3dc;border-radius:14px;overflow:hidden}.page-actions{margin:0 0 15px}.page-actions .left p{font-size:11px;color:var(--muted);margin:5px 0 0}.page-actions .right{display:flex;gap:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{padding:11px 15px;background:#f7f6f1;text-align:left;color:#78867f;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line)}td{padding:13px 15px;border-bottom:1px solid #eceee9;white-space:nowrap}tbody tr:hover{background:#fafbf7}td strong{font-size:12px}.docno{font-family:"SFMono-Regular",Consolas,monospace;color:var(--forest2);font-size:10px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 8px;background:#edf2ee;color:var(--forest2);font-size:9px;font-weight:800}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.pending,.status.approval_pending{background:#fff1d6;color:var(--amber)}.status.rejected,.status.void{background:#fbe9e7;color:var(--red)}.status.effective,.status.confirmed,.status.approved,.status.shipped{background:#e5f4eb;color:#27704c}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font:500 18px Georgia,serif;margin-bottom:7px}.toast{position:fixed;right:24px;top:20px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;transform:translateY(-80px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.toast.error{background:var(--red)}dialog{border:0;border-radius:18px;padding:0;box-shadow:var(--shadow);width:min(620px,calc(100vw - 30px))}dialog::backdrop{background:rgba(10,25,19,.52);backdrop-filter:blur(3px)}.modal-card{padding:24px}.modal-head{display:flex;justify-content:space-between}.modal-head h3{font:500 24px Georgia,"Songti SC",serif;margin:0}.close{border:0;background:transparent;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:23px 0}.form-grid label{display:grid;gap:7px;font-size:10px;font-weight:800;color:#586961}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:17px}.modal-actions .primary{min-width:110px}.action-link{border:0;background:transparent;color:var(--forest2);font-weight:800;font-size:10px}.tag{font-size:9px;background:#eef0eb;padding:4px 7px;border-radius:5px}.money{font-family:Georgia,serif;font-size:13px}.danger{color:var(--red)}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.app-shell{grid-template-columns:76px 1fr}.sidebar{padding-inline:10px}.brand>div,.sidebar nav p,.sidebar nav button:not(.active):after,.sidebar nav button{font-size:0}.sidebar nav button span{font-size:16px;width:100%}.sidebar-foot>div:not(#avatar),.sidebar-foot button{display:none}.metrics{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.top-actions #today,.search{display:none}}@media(max-width:620px){.content{padding:18px 14px}.topbar{padding:18px;height:82px}.app-shell{grid-template-columns:58px 1fr}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:14px}.hero-strip{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

