:root{--ink:#202739;--muted:#8992a3;--line:#e8ebf2;--brand:#5867e8;--brand2:#7669ef;--green:#1fa975;--orange:#dc8b3d;--red:#db626b;--bg:#f4f6fa;--shadow:0 12px 34px rgba(32,39,57,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,"Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh;max-width:1500px;margin:auto;background:#fff}aside{position:sticky;top:0;height:100vh;padding:25px 16px;border-right:1px solid var(--line);background:#fbfcff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:4px 10px 30px;font-size:16px;font-weight:750}.brand>b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:white;background:linear-gradient(135deg,var(--brand),var(--brand2));font-size:22px;box-shadow:0 9px 20px #5867e840}.brand span{display:flex;flex-direction:column}.brand small{color:var(--muted);font-size:10px;font-weight:400}aside nav{display:grid;gap:5px}aside nav button,.aside-foot button,.aside-foot a{border:0;background:transparent;text-align:left;color:#667083;padding:11px 12px;border-radius:10px;text-decoration:none}aside nav button:hover,aside nav button.active,.aside-foot button:hover,.aside-foot a:hover{background:#eef0ff;color:var(--brand);font-weight:650}.aside-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:grid}.aside-foot a,.aside-foot button{font-size:12px}main{min-width:0}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;position:sticky;top:0;z-index:5}header h1{font-size:18px;margin:0}header p{margin:1px 0 0;color:var(--muted);font-size:11px}.online{font-size:11px;color:var(--green)}.content{padding:28px 32px 50px;max-width:1300px}.view{display:none}.view.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:19px}.page-head h2{font-size:18px;margin:0 0 2px}.page-head p,.panel-head p{margin:0;color:var(--muted);font-size:12px}button{border:1px solid #dfe3ec;border-radius:9px;padding:8px 12px;background:#fff;color:#657083}.primary{color:white;background:var(--brand);border-color:var(--brand);box-shadow:0 6px 16px #5867e82c}.primary:hover{background:#4857da}.danger{color:var(--red);border-color:#f1c8cc}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metrics article,.panel{border:1px solid var(--line);border-radius:13px;background:white;box-shadow:var(--shadow)}.metrics article{padding:17px}.metrics small{color:var(--muted);font-size:11px}.metrics strong{display:block;font-size:25px;letter-spacing:-.04em;margin:7px 0 3px}.metrics span{font-size:11px;color:var(--muted)}.two{display:grid;grid-template-columns:1.35fr .85fr;gap:17px}.panel{overflow:hidden}.panel-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h3{font-size:13px;margin:0 0 2px}.panel-head button{border:0;color:var(--brand);padding:4px;background:none}.product-list{display:grid}.product-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:13px 17px;border-bottom:1px solid #f0f2f6;cursor:pointer}.product-line:last-child{border:0}.product-line:hover{background:#fafbff}.product-name b{font-size:12px}.product-name small{display:block;color:var(--muted);font-size:10px}.stock-num{font-weight:700}.stock-num small{display:block;color:var(--muted);font-weight:400;font-size:10px}.overview-todos{padding:4px 16px}.mini-todo{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #f0f2f6}.mini-todo:last-child{border:0}.dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:6px;flex:none}.mini-todo b{font-size:12px}.mini-todo small{display:block;color:var(--muted);font-size:10px}.toolbar{display:flex;gap:9px;margin-bottom:14px}.search{display:flex;gap:7px;align-items:center;border:1px solid #dfe3ec;background:#fff;border-radius:9px;padding:0 11px;color:#a0a8b5}.search.grow{flex:1}.search input{border:0;outline:0;padding:9px 0;width:100%;min-width:190px}.toolbar select{border:1px solid #dfe3ec;border-radius:9px;background:#fff;color:#657083;padding:8px 11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:12px 14px;border-bottom:1px solid #f0f2f6;text-align:left;white-space:nowrap}th{background:#fafbfc;color:#98a1af;font-weight:500;font-size:10px}td{font-size:11px}tr:last-child td{border:0}.link-btn{border:0;padding:0;background:none;color:var(--brand);font-weight:650}.row-actions{display:flex;gap:5px}.row-actions button{padding:5px 8px;font-size:10px}.tag{display:inline-block;padding:3px 7px;border-radius:6px;font-size:10px}.tag.green{background:#e8faf2;color:var(--green)}.tag.orange{background:#fff2e5;color:var(--orange)}.tag.red{background:#ffebed;color:var(--red)}.tag.gray{background:#eff1f4;color:#7e8795}.money-positive{color:var(--green)}.money-negative{color:var(--red)}.selection{display:none;align-items:center;justify-content:space-between;background:#f3f4ff;border:1px solid #dfe2ff;border-radius:10px;padding:8px 12px;margin-bottom:10px}.selection.show{display:flex}.empty{text-align:center;color:var(--muted);padding:58px 20px;display:none}.empty.show{display:block}.empty b{font-size:28px}.empty h3{color:var(--ink);margin:9px 0 2px}.empty p{margin:0}.todo-list{display:grid;gap:10px}.todo-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.todo-card.done{opacity:.55}.todo-card.done .todo-copy{text-decoration:line-through}.todo-card input{width:17px;height:17px}.todo-copy b{display:block}.todo-copy small{color:var(--muted)}.modal,.confirm{display:none;position:fixed;inset:0;background:#1b23395e;z-index:20;padding:18px;place-items:center}.modal.show,.confirm.show{display:grid}.dialog,.confirm>div{background:#fff;border-radius:15px;box-shadow:0 28px 80px #1720393b;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto}.dialog-head{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:16px;margin:0}.dialog-head p{font-size:11px;color:var(--muted);margin:2px 0 0}.dialog-head button{border:0;background:none;font-size:22px;padding:0}form{padding:18px 20px;display:grid;gap:12px}.field label{display:block;font-size:11px;color:#6d7787;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe3ec;border-radius:8px;padding:9px 10px;outline:0}.field textarea{min-height:78px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.confirm>div{padding:20px}.confirm h3{margin:0}.confirm p{color:var(--muted)}.confirm footer{display:flex;justify-content:flex-end;gap:8px}.danger-fill{background:var(--red);border-color:var(--red);color:#fff}.toast{position:fixed;right:22px;bottom:22px;z-index:30;padding:11px 15px;background:#20283b;color:#fff;border-radius:9px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.bottom,.mobile-list{display:none}.muted{color:var(--muted)}.empty-inline{padding:28px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:950px){.app{grid-template-columns:195px}.metrics{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.content{padding:24px 22px}}
@media(max-width:680px){body{padding-bottom:66px}.app{display:block}aside{display:none}header{height:62px;padding:0 16px}.content{padding:20px 14px 34px}.page-head{align-items:flex-start;gap:12px}.page-head p{max-width:220px}.metrics{gap:8px}.metrics article{padding:13px}.metrics strong{font-size:20px}.two{gap:12px}.table-wrap{display:none}.mobile-list{display:grid;gap:10px}.mobile-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;box-shadow:var(--shadow)}.mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-card h3{font-size:13px;margin:0}.mobile-card p{margin:4px 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.mobile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mobile-card dt{font-size:9px;color:var(--muted)}.mobile-card dd{margin:1px 0 0;font-size:11px}.mobile-card footer{display:flex;gap:7px}.mobile-card footer button{flex:1}.toolbar{flex-wrap:wrap}.search.grow{flex-basis:100%}.toolbar select{flex:1;min-width:0}.bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:12;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom button{border:0;border-radius:0;background:#fff;padding:8px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#8b94a2}.bottom button.active{color:var(--brand)}.bottom span{font-size:9px}.grid2{grid-template-columns:1fr}.toast{left:14px;right:14px;bottom:78px;text-align:center}}
@media(max-width:680px){.toolbar>button{flex:1;min-width:0;padding-left:6px;padding-right:6px;font-size:11px}.page-head>.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.page-head>.row-actions button{padding:7px 8px;font-size:11px}}
.auth-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 0,#e8eaff 0,transparent 36%),linear-gradient(145deg,#f8f9fd,#eef1f8)}.auth-screen.hidden{display:none}.auth-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 25px 80px rgba(32,39,57,.14);text-align:center}.auth-logo{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:15px;color:#fff;font-size:28px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 10px 25px #5867e84a}.auth-card h1{margin:0;font-size:22px}.auth-card>p{margin:5px 0 22px;color:var(--muted);font-size:12px}.auth-card form{padding:0;text-align:left}.auth-card label{display:grid;gap:5px;color:#687284;font-size:11px}.auth-card input{width:100%;padding:11px;border:1px solid #dfe3ec;border-radius:9px;outline:0}.auth-card form button{margin-top:5px}.text-button{border:0;background:none;color:var(--brand);margin-top:10px}.setup-note{display:none;text-align:left;margin-top:18px;padding:11px;border-radius:9px;background:#fff5e9;color:#9a642e;font-size:11px}.setup-note.show{display:grid}.account{display:flex;align-items:center;gap:10px}.account button{font-size:10px;padding:5px 8px}.app.locked,.bottom.locked{display:none}
