:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f5;--surface:#fff;--surface-soft:#eef3ef;--text:#19201a;--muted:#647067;--line:#dce4dc;--brand:#0f7b58;--brand-strong:#095a3f;--accent:#c2410c;--danger:#b42318;--warning:#a15c07;--shadow:0 10px 24px #19201a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}.page{min-height:100vh;padding:16px}.mobile-shell{max-width:520px;margin:0 auto}.admin-shell{max-width:1160px;margin:0 auto}.stack{gap:14px;display:grid}.topbar,.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.row,.row-wrap{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap}.title-group h1,.title-group h2,.title-group h3{margin:0;line-height:1.2}.title-group h1{font-size:26px}.title-group h2{font-size:20px}.title-group h3{font-size:16px}.title-group p,.muted{color:var(--muted)}.title-group p{margin:6px 0 0;font-size:14px}.panel,.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel-pad,.card{padding:16px}.button{background:var(--brand);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.button:hover{background:var(--brand-strong)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.button.secondary:hover{background:var(--surface-soft)}.button.warning{background:var(--accent)}.button.danger{background:var(--danger)}.button.compact{min-height:34px;padding:0 10px;font-size:13px}.button:disabled{cursor:not-allowed;opacity:.58}.input,.select,.textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:8px;padding:0 12px}.textarea{resize:vertical;min-height:78px;padding:10px 12px}.label{color:var(--muted);gap:6px;font-size:13px;display:grid}.error{color:var(--danger)}.success{color:var(--brand-strong)}.grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:4px;padding:12px;display:grid}.stat strong{font-size:28px;line-height:1}.action-grid{gap:12px;display:grid}.action-card{border:1px solid var(--line);background:var(--surface);min-height:92px;box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.scanner-frame{background:#111827;border-radius:8px;overflow:hidden}.scanner-frame video{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.line-list{gap:10px;display:grid}.line-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 116px auto;align-items:center;gap:10px;padding:12px;display:grid}.badge{background:var(--surface-soft);color:var(--text);border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;display:inline-flex}.badge.low{color:var(--warning);background:#fff0df}.badge.inactive{color:var(--danger);background:#f8e7e4}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:820px}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px;font-size:14px}.table th{color:var(--muted);font-weight:600}.admin-nav{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.admin-nav a,.admin-nav button{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 12px;text-decoration:none}.item-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.item-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:14px;display:grid}.qr-box{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:86px 1fr;align-items:center;gap:10px;padding:8px;display:grid}.qr-box img{width:78px;height:78px}.code-list{flex-wrap:wrap;gap:6px;display:flex}code{background:var(--surface-soft);border-radius:6px;padding:3px 6px}@media (max-width:720px){.page{padding:12px}.topbar,.row-between,.row{flex-direction:column;align-items:stretch}.button{width:100%}.grid-3,.line-item{grid-template-columns:1fr}}
