:root{--green:#174f3a;--dark:#123e2f;--mint:#dcefe4;--paper:#f4f6f3;--line:#dfe6e1;--muted:#718078;--red:#b8443c;--amber:#936b18}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:#18201d;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{margin:0 0 6px;color:#708078;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#b8d7c8}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:15px;background:#f2c75d;color:var(--dark);font-size:21px;font-weight:900}.primary{border:0;border-radius:12px;background:var(--green);padding:12px 18px;color:#fff;font-weight:800}.primary:hover{background:#246a4e}.wide{width:100%}.outline{border:1px solid #d3dfd7;border-radius:9px;background:white;padding:8px 12px;color:var(--green);font-size:12px;font-weight:800}.alert{margin-bottom:16px;border-radius:11px;padding:12px 14px;font-size:14px}.alert.error{border:1px solid #f0c8c4;background:#fff1ef;color:#9e352f}.alert.success{border:1px solid #c8e2d1;background:#edf8f1;color:#206546}.install-body{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(140deg,#123e2f 0 38%,#f4f6f3 38%)}.install-card{width:min(620px,100%);border-radius:26px;background:#fff;padding:36px;box-shadow:0 24px 80px #0d2e2340}.install-card h1{margin:12px 0 8px}.install-form,.stack-form{display:grid;gap:14px}.install-form{grid-template-columns:1fr 1fr;margin-top:24px}.install-form hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--line)}.install-form .wide{grid-column:1/-1}.install-form label,.stack-form label,.login-form label{display:grid;gap:7px;color:#46524b;font-size:13px;font-weight:800}input,select,textarea{width:100%;border:1px solid #d7e0da;border-radius:11px;background:#fff;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4b896c;box-shadow:0 0 0 3px #dcefe4}.login-shell{display:grid;min-height:100vh;grid-template-columns:1.1fr .9fr}.login-art{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 15%,#36765a 0 10%,transparent 32%),linear-gradient(135deg,#0e3427,#174f3a);padding:10vw;color:white}.login-art:after{position:absolute;right:-120px;bottom:-180px;width:520px;height:520px;border:1px solid #ffffff20;border-radius:50%;content:""}.login-copy h1{margin:12px 0;font-size:clamp(42px,6vw,78px);line-height:1.08}.login-copy p:last-child{color:#c4dbd0}.login-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:70px}.login-grid span{border:1px solid #ffffff24;border-radius:10px;background:#ffffff10;padding:12px 5px;text-align:center;font-size:12px}.login-panel{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%)}.login-form h2{margin:18px 0 5px;font-size:28px}.login-form .muted{margin:0 0 26px}.login-form label{margin-bottom:16px}.app-shell{display:grid;min-height:100vh;grid-template-columns:238px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--dark);padding:28px 16px;color:#fff}.brand{display:flex;align-items:center;gap:12px;padding:0 8px}.brand small{display:block;color:#b9d6c9;font-weight:800;letter-spacing:.2em}.brand strong{display:block;margin-top:2px;font-size:18px}.sidebar nav{display:grid;gap:8px;margin-top:48px}.nav{display:flex;align-items:center;gap:13px;border:0;border-radius:12px;background:transparent;padding:13px 16px;color:#d5e6de;font-weight:800;text-align:left}.nav.active{background:white;color:var(--green);box-shadow:0 10px 25px #071b1455}.sidebar-note{position:absolute;right:16px;bottom:28px;left:16px;border:1px solid #ffffff12;border-radius:15px;background:#ffffff08;padding:15px;color:#c9ddd4;font-size:12px;line-height:1.7}.content{min-width:0;padding:34px 38px}.content>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.content h1{margin:0;font-size:30px}.user-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:8px 10px;box-shadow:0 5px 18px #1834290a}.avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:900}.user-chip small,.user-chip strong{display:block}.user-chip small{color:var(--muted);font-size:10px}.user-chip strong{font-size:13px}.user-chip button{border:0;background:transparent;color:var(--muted);font-size:18px}.tab{display:none}.tab.active{display:block}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.cards article{display:grid;grid-template-columns:1fr auto;border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;box-shadow:0 10px 30px #1b382d0a}.cards span{grid-column:1/-1;color:#68756e;font-size:13px;font-weight:800}.cards strong{margin-top:18px;font-size:32px}.cards small{align-self:end;color:#8a958f}.panel{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 38px #1c382c0b}.padded{padding:24px}.panel h2{margin:0}.panel-head{padding:22px}.panel-head p{margin:5px 0 0;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #e8ece9}.search{position:relative;width:min(430px,100%)}.search span{position:absolute;top:9px;left:13px;color:#89938e}.search input{background:#f8faf8;padding-left:38px}.segmented{display:flex;border-radius:11px;background:#f0f3f1;padding:4px}.segmented button{border:0;border-radius:8px;background:transparent;padding:8px 14px;color:#6f7a74;font-size:12px;font-weight:800}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 2px 7px #20372d12}.segmented.full{display:grid;grid-template-columns:1fr 1fr;margin:18px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f7f9f7;padding:12px 16px;color:#748079;font-size:11px;letter-spacing:.04em;white-space:nowrap}td{border-top:1px solid #edf0ee;padding:14px 16px;vertical-align:middle}.product{display:flex;align-items:center;gap:12px}.product-img{display:grid;width:58px;height:58px;flex:0 0 58px;overflow:hidden;place-items:center;border-radius:12px;background:linear-gradient(135deg,#e1eee6,#f4e5cd);color:var(--green);font-size:11px;font-weight:900}.product-img img{width:100%;height:100%;object-fit:cover}.product strong,.product small{display:block}.product small{margin-top:4px;color:#8a948f}.sizes{display:flex;min-width:375px;flex-wrap:wrap;gap:5px}.size-chip{min-width:43px;border:1px solid;border-radius:8px;padding:6px 7px;font-size:10px;font-weight:800}.size-chip b{margin-left:3px}.size-chip.ok{border-color:#d4e5dc;background:#eef7f1;color:#236447}.size-chip.low{border-color:#eed9a7;background:#fff7df;color:#8b6516}.size-chip.out{border-color:#efc9c6;background:#fff1ef;color:#b43f37}.size-chip.disabled{border-color:transparent;background:transparent;color:#c2cac5;cursor:default}.total{font-size:18px}.status{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}.status.ok{background:#e8f4ec;color:#216446}.status.low{background:#fff5db;color:#876117}.status.out{background:#fff0ee;color:#b43f37}.size-label{border-radius:5px;background:#edf2ef;padding:4px 7px}.qty{font-weight:900}.qty.plus{color:#24704f}.qty.minus{color:#b43f37}.empty{padding:45px;text-align:center;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.dropzone{display:grid;min-height:180px;cursor:pointer;place-items:center;margin-top:20px;border:2px dashed #b8cec1;border-radius:17px;background:#f6faf7;padding:24px;text-align:center}.dropzone input{display:none}.dropzone strong,.dropzone small{display:block}.dropzone small{margin-top:5px;color:#87928c}.dropplus{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-size:24px}.warning-list{display:grid;gap:9px;margin-top:20px}.warning{border:1px solid #efdfb8;border-radius:10px;background:#fff9e9;padding:11px;color:#795b1b;font-size:13px}.empty-note{border-radius:12px;background:#f2f6f3;padding:20px;color:#68756e;font-size:13px;line-height:1.7}.preview-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.preview-head span{border-radius:99px;background:var(--mint);padding:5px 10px;color:var(--green);font-size:11px;font-weight:800}.preview-scroll{max-height:270px;overflow:auto;margin:10px 0;border:1px solid var(--line);border-radius:10px}.users-layout{grid-template-columns:360px 1fr}.user-list{display:grid;gap:8px;margin-top:18px}.user-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:10px}.user-row div{flex:1}.user-row b,.user-row small{display:block}.user-row small{margin-top:3px;color:var(--muted)}.modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:#0f1f1966;padding:20px;backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(440px,100%);border-radius:24px;background:white;padding:28px;box-shadow:0 30px 90px #0004}.modal-card h2{margin:0}.close{position:absolute;top:18px;right:18px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#f0f3f1;font-size:19px}@media(max-width:1050px){.cards{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.users-layout{grid-template-columns:1fr}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.app-shell{display:block}.sidebar{position:static;display:flex;height:auto;align-items:center;gap:16px;padding:14px}.sidebar nav{display:flex;overflow:auto;margin:0}.nav{padding:10px 12px}.nav span{display:none}.sidebar-note{display:none}.brand small{display:none}.brand strong{font-size:14px}.content{padding:20px 14px}.content>header{align-items:flex-start}.content h1{font-size:24px}.cards{grid-template-columns:1fr 1fr}.cards article{padding:15px}.cards strong{font-size:26px}.user-chip div{display:none}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.install-form{grid-template-columns:1fr}.install-form hr,.install-form .wide{grid-column:auto}.install-card{padding:24px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.content>header{gap:8px}.user-chip{padding:6px}.two-col{display:block}.two-col>.panel{margin-bottom:15px}}
