:root{--bg:#f6f7f5;--card:#ffffff;--ink:#1c2422;--muted:#6b7773;--line:#e4e8e5;--brand:#0f766e;--brand-dark:#0b5a54;--brand-soft:#e6f2f0;--ok:#15803d;--ok-bg:#e8f5ec;--low:#b45309;--low-bg:#fdf3e3;--crit:#b91c1c;--crit-bg:#fcebea;--shadow:0 1px 2px rgba(16,24,40,0.04),0 4px 16px rgba(16,24,40,0.06);--radius:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--brand)}.wrap{max-width:760px;margin:0 auto;padding:16px 16px 64px}.topbar{justify-content:space-between;gap:12px;padding:14px 0 18px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:700;font-size:18px;letter-spacing:-.01em}.brand .dot{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fde68a,var(--brand));box-shadow:0 0 0 4px var(--brand-soft)}.topbar nav{display:flex;gap:8px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 14px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background .12s,border-color .12s,transform .06s}.btn:active{transform:translateY(1px)}.btn:hover{background:#f3f5f3}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.small{padding:6px 10px;font-size:13px;border-radius:10px}.btn:disabled{opacity:.5;cursor:default}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}.card h2{margin:0;font-size:17px;letter-spacing:-.01em}.card .sub{color:var(--muted);font-size:13px;margin-top:2px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.chip.ok{color:var(--ok);background:var(--ok-bg)}.chip.low{color:var(--low);background:var(--low-bg)}.chip.critical{color:var(--crit);background:var(--crit-bg)}.item{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.item:first-of-type{border-top:none}.item .name{font-weight:600;font-size:15px}.item .meta{color:var(--muted);font-size:12.5px;margin-top:1px}.item .right{display:flex;align-items:center;gap:8px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.stepper button{width:34px;height:34px;border:none;background:var(--card);font-size:18px;cursor:pointer;color:var(--ink)}.stepper button:hover{background:#f3f5f3}.stepper input{width:44px;height:34px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:15px;font-weight:700;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.order-badge{font-size:12.5px;font-weight:700;color:var(--low)}.order-badge.critical{color:var(--crit)}.res{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.res:first-of-type{border-top:none}.res .who{font-weight:600;font-size:14.5px}.res .when{color:var(--muted);font-size:12.5px}.res.done{opacity:.55}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.segmented button{border:none;background:var(--card);padding:6px 10px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--muted)}.segmented button.active{background:var(--brand);color:#fff}.banner{border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:16px}.banner.warn{background:var(--low-bg);color:var(--low);border:1px solid #f3d9ad}.banner.err{background:var(--crit-bg);color:var(--crit);border:1px solid #f3c0bd}.pill{display:inline-block;background:var(--brand-soft);color:var(--brand-dark);font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.login .box{width:100%;max-width:360px;text-align:center}.login h1{font-size:22px;margin:18px 0 4px}.login p{color:var(--muted);margin:0 0 22px;font-size:14px}.pin-input{width:100%;font-size:28px;letter-spacing:12px;text-align:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-weight:700}.pin-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.error{color:var(--crit);font-size:13.5px;margin-top:10px;min-height:18px}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.field:first-of-type{border-top:none}.field label{font-weight:600;font-size:14.5px}.field .hint{color:var(--muted);font-size:12.5px;margin-top:1px}.num{width:72px;height:38px;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:15px;font-weight:700}.muted,.spinner{color:var(--muted)}.spinner{text-align:center;padding:40px 0}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow);z-index:50}pre.order{background:#f3f5f3;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px;white-space:pre-wrap;overflow-x:auto}.topbar nav{flex-wrap:wrap;align-items:center;gap:6px}.lang-switch button{padding:5px 9px;font-size:12px}.banner.check{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #bfe0db;display:flex;align-items:center;justify-content:space-between;gap:12px}.pill.pending{background:var(--low-bg);color:var(--low)}select.num{height:38px;padding:0 8px;background:var(--card)}.overlay{position:fixed;inset:0;background:rgba(16,24,40,.45);display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;overflow-y:auto;z-index:100}.modal{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;width:100%;max-width:460px;margin-top:4vh}.modal h2{margin:0 0 2px;font-size:18px}.modal .field label{font-weight:600;font-size:14px}