:root{--nav:#101827;--nav2:#172235;--gold:#d7a83d;--blue:#1677ff;--green:#13b77a;--text:#18202d;--muted:#7a8493;--line:#e7eaf0;--bg:#f3f5f8;--white:#fff;--red:#ef5252;--orange:#f39b35}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:linear-gradient(180deg,var(--nav),#0b1220);color:#c9d1dd;padding:24px 15px;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 26px;border-bottom:1px solid #283347}.brand-mark{width:43px;height:43px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-weight:800;font-size:19px;border-radius:11px}.brand b{display:block;color:white;font-size:17px}.brand span{font-size:11px;color:#8490a3;letter-spacing:2px}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:22px}.nav-item{border:0;background:transparent;color:#aeb8c7;padding:12px 14px;border-radius:8px;text-align:left;font-size:14px;cursor:pointer;transition:.2s}.nav-item span{display:inline-block;width:29px;font-size:18px}.nav-item:hover,.nav-item.active{background:var(--nav2);color:white}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-foot{position:absolute;bottom:22px;padding:14px;font-size:12px;line-height:1.7;color:#a2adbd}.sidebar-foot small{color:#68758a}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#26d492;margin-right:7px}main{margin-left:218px;min-height:100vh}header{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px;position:sticky;top:0;z-index:2}h1{font-size:22px;margin:0 0 5px}header p,.page-toolbar p{margin:0;color:var(--muted);font-size:12px}.header-actions{display:flex;align-items:center;gap:10px}.header-actions div:last-child b,.header-actions div:last-child span{display:block}.header-actions div:last-child span{font-size:11px;color:var(--muted)}button{font-family:inherit;cursor:pointer}.ghost{border:0;background:#f5f6f8;padding:9px 13px;border-radius:7px}.ghost i{font-style:normal;background:var(--red);color:white;border-radius:10px;font-size:10px;padding:1px 5px}.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:#f4e6bf;color:#9b7018;font-weight:700}.page{display:none;padding:24px 28px 45px}.page.active{display:block}.quick-order{background:linear-gradient(105deg,#111b2c,#1b2940);color:white;border-radius:13px;padding:22px 24px;margin-bottom:18px;box-shadow:0 8px 25px #14213918}.quick-head{display:flex;align-items:center;gap:13px}.spark{width:36px;height:36px;border-radius:9px;background:#d7a83d22;color:#f1c55c;display:grid;place-items:center;font-size:20px}.quick-head h2{font-size:17px;margin:0 0 3px}.quick-head p{margin:0;color:#9eabbd;font-size:12px}.quick-box{display:flex;margin-top:16px;gap:9px}.quick-box input{flex:1;border:1px solid #38465a;background:#0c1524;color:white;border-radius:8px;padding:13px 15px;outline:none}.quick-box input:focus{border-color:var(--gold)}.quick-box button,.primary{border:0;background:var(--gold);color:#211a0d;font-weight:700;border-radius:8px;padding:0 20px}.examples{color:#748197;font-size:11px;margin-top:9px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px}.metrics article,.panel{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 7px #1f2d4210}.metrics article{padding:17px 18px;position:relative}.metrics article p{margin:0 0 8px;color:var(--muted);font-size:12px}.metrics h3{font-size:20px;margin:0 0 9px}.metrics h3 em{font-size:12px;font-style:normal;color:var(--muted)}.metrics small{color:#9da5b1;margin-left:8px}.metric-icon{position:absolute;right:15px;top:15px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-weight:bold}.metric-icon.green{background:#e5f8f0;color:var(--green)}.metric-icon.gold{background:#fff4d8;color:#b98618}.metric-icon.blue{background:#e8f2ff;color:var(--blue)}.metric-icon.purple{background:#f0eaff;color:#7554d8}.up{color:var(--green);font-size:11px}.warn{color:var(--orange);font-size:11px}.neutral{color:var(--blue);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:2fr .95fr;gap:15px;margin-bottom:15px}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}.panel-title h2{font-size:15px;margin:0}.panel-title p{font-size:11px;color:var(--muted);margin:2px 0 0}.panel-title button{border:0;background:none;color:var(--blue);font-size:11px}.panel-title>span{background:#fff0e6;color:#e4772b;border-radius:12px;padding:2px 8px;font-size:11px}.shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr)}.shortcut{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white;padding:19px 13px;text-align:center}.shortcut:nth-child(3n){border-right:0}.shortcut:nth-child(n+4){border-bottom:0}.shortcut:hover{background:#fafbfc}.shortcut b,.shortcut small{display:block}.shortcut b{font-size:13px;margin:9px 0 4px}.shortcut small{font-size:10px;color:var(--muted)}.sc{width:34px;height:34px;display:grid;place-items:center;margin:auto;border-radius:9px;font-size:18px}.sc.green{background:#e5f9f1;color:#0baa6d}.sc.cyan{background:#e5f9fa;color:#16a0ad}.sc.blue{background:#e7f2ff;color:#1677ff}.sc.violet{background:#f0eaff;color:#7256ce}.sc.orange{background:#fff2e0;color:#f08c27}.sc.red{background:#ffeaea;color:#e24d4d}.alert-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.alert-row:last-child{border-bottom:0}.alert-row div{flex:1}.alert-row b,.alert-row small{display:block}.alert-row b{font-size:12px}.alert-row small{font-size:10px;color:var(--muted);margin-top:3px}.alert-row strong{font-size:10px;color:var(--blue)}.dot{width:7px;height:7px;border-radius:50%}.dot.red{background:var(--red)}.dot.orange{background:var(--orange)}.dot.blue{background:var(--blue)}.dot.green{background:var(--green)}.lower{grid-template-columns:1.6fr 1fr}.chart-panel{min-height:300px}.legend{display:flex;gap:14px;font-size:11px;color:var(--muted)}.lg{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.lg.blue{background:var(--blue)}.lg.gold{background:var(--gold)}.chart{height:225px;padding:12px 22px 10px 52px;position:relative}.chart:before{content:"";position:absolute;inset:15px 20px 28px 50px;background:repeating-linear-gradient(to bottom,#edf0f4 0,#edf0f4 1px,transparent 1px,transparent 42px)}.chart svg{width:100%;height:180px;position:relative}.axis{position:absolute;left:15px;top:12px;bottom:29px;display:flex;flex-direction:column;justify-content:space-between;color:#a3acb8;font-size:9px}.days{display:flex;justify-content:space-between;color:#909aa8;font-size:9px}.summary-grid{display:grid;grid-template-columns:1fr 1fr}.summary-grid div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-grid div:nth-child(2n){border-right:0}.summary-grid div:nth-child(n+5){border-bottom:0}.summary-grid b,.summary-grid span{display:block}.summary-grid b{font-size:17px;margin-bottom:6px}.summary-grid span{font-size:10px;color:var(--muted)}.orange-text{color:#e18422}.page-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:15px}.page-toolbar>div{flex:1}.page-toolbar h2{margin:0 0 4px}.secondary,.primary{height:38px;padding:0 17px}.secondary{border:1px solid #d8dde5;background:white;border-radius:8px}.order-panel{padding:20px}.order-panel>label{font-weight:700}.quick-box.compact{margin:8px 0 15px}.quick-box.compact input{background:#f7f8fa;color:var(--text);border-color:#dfe3e9}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:16px 0;border-top:1px solid var(--line)}label{display:block;font-size:11px;color:#6c7685;margin-bottom:6px}.form-grid input,.form-grid select,.filters input,.filters select,.totals input,textarea{width:100%;border:1px solid #dfe3e9;background:white;border-radius:6px;padding:10px;outline:none}table{width:100%;border-collapse:collapse;margin-top:5px}th{text-align:left;background:#f6f7f9;color:#77818f;font-size:10px;padding:11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid var(--line);font-size:12px}td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.tag{border:1px solid #cfe1fb;background:#eff6ff;color:var(--blue);border-radius:5px;padding:5px 8px}.stock{color:var(--green)}.qty{width:45px;border:1px solid #ddd;border-radius:5px;padding:6px}.order-bottom{display:grid;grid-template-columns:1fr 340px;gap:40px;padding-top:20px}.note textarea{height:95px;resize:none}.totals p{display:flex;justify-content:space-between;align-items:center;margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.totals p span{color:var(--muted)}.totals input{width:125px;text-align:right}.totals .due b{color:var(--orange);font-size:16px}.totals .profit b{color:var(--green)}.parse-result{padding:10px 12px;margin-bottom:12px;background:#eaf9f3;border:1px solid #bcebd8;color:#087e51;border-radius:7px}.hidden{display:none!important}.filters{display:grid;grid-template-columns:1fr 180px 180px;gap:10px;padding:17px}.pill{padding:4px 9px;border-radius:12px;font-size:10px}.pill.ok{background:#e6f8f1;color:#099961}.pill.low{background:#fff0e5;color:#e77b25}.empty{text-align:center;padding:90px}.empty>div{margin:auto;width:65px;height:65px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:15px;font-size:24px;font-weight:bold}.empty h2{margin:20px 0 8px}.empty p{color:var(--muted)}.empty button{height:38px}.toast{position:fixed;right:28px;bottom:28px;background:#172334;color:white;padding:13px 18px;border-radius:8px;box-shadow:0 10px 28px #0d152633;transform:translateY(80px);opacity:0;transition:.25s;z-index:5}.toast.show{transform:translateY(0);opacity:1}@media(max-width:1000px){.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.lower{grid-template-columns:1fr}.sidebar{width:180px}main{margin-left:180px}.form-grid{grid-template-columns:1fr 1fr}.shortcut-grid{grid-template-columns:1fr 1fr}.shortcut:nth-child(3n){border-right:1px solid var(--line)}.shortcut:nth-child(2n){border-right:0}}
