:root{color-scheme:light dark;--bg: #0b0f14;--surface: #161b22;--surface-2: #1c2129;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #7ee787;--accent-border: #2ea04340;--accent-bg: #2ea04315;--danger: #ff7b72;--danger-bg: #f8514915;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{margin:0;min-height:100vh}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}.app-shell{display:grid;grid-template-columns:15rem 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.2rem .9rem;gap:1rem;position:sticky;top:0;height:100vh}.brand{display:flex;flex-direction:column;padding:0 .4rem}.brand-badge{display:inline-block;align-self:flex-start;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:999px;padding:.3rem .7rem}.brand-sub{color:var(--muted);font-size:.78rem;margin-top:.4rem}.sidebar nav{display:flex;flex-direction:column;gap:.15rem;flex:1}.nav-link{color:var(--text);font-size:.9rem;padding:.55rem .7rem;border-radius:8px}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--accent-bg);color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);padding-top:.9rem;display:flex;flex-direction:column;gap:.6rem}.who{display:flex;flex-direction:column;font-size:.8rem;padding:0 .4rem}.who span{color:var(--muted)}.content{padding:clamp(1.2rem,3vw,2.5rem);max-width:52rem}.screen h1{font-size:1.6rem;margin:0 0 .4rem}.screen-blurb{color:var(--muted);margin:0 0 1.5rem;max-width:40rem}.subsection{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.subsection h2{font-size:1rem;margin:0 0 1rem}.form{display:flex;flex-direction:column;gap:.9rem;max-width:30rem}.field{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.82rem;color:var(--muted);display:flex;gap:.5rem;align-items:baseline}.field-label em{font-style:normal;font-size:.72rem;opacity:.7}.field input,.field select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.95rem;font-family:inherit}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.field-error{color:var(--danger);font-size:.78rem}.data-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.8rem}.data-table th,.data-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border)}.data-table th{color:var(--muted);font-weight:600}.data-table td{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-2)}.back-link{display:inline-block;margin-bottom:1rem;font-size:.85rem}.pill{display:inline-block;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.pill.ok{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.banner{margin-bottom:1.2rem;padding:.7rem 1rem;border-radius:10px;border:1px solid var(--border);font-size:.88rem}.banner.ok{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.banner.warn{color:var(--danger);border-color:#f8514940;background:var(--danger-bg)}.btn{align-self:flex-start;cursor:pointer;background:var(--accent);color:#06210c;border:1px solid var(--accent);border-radius:8px;padding:.55rem 1.1rem;font-size:.92rem;font-weight:600}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-row{display:flex;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}.result{margin-top:1.2rem;border-radius:10px;padding:.8rem 1rem;font-size:.85rem;border:1px solid var(--border)}.result-error{color:var(--danger);border-color:#f8514940;background:var(--danger-bg)}.result-ok{border-color:var(--accent-border);background:var(--accent-bg)}.result pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:22rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:2rem 1.6rem}.login-sub{color:var(--muted);margin:0;font-size:.9rem}.home-flow{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.5rem;max-width:32rem}.home-flow a{display:flex;align-items:center;gap:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.7rem .9rem;color:var(--text)}.home-flow a:hover{border-color:var(--accent)}.step-n{width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:999px;background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-size:.8rem;font-weight:600}.buildinfo dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;font-size:.78rem;max-width:24rem}.buildinfo dt{color:var(--muted)}.buildinfo dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.step-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.4rem}.step-pip{font-size:.72rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem}.step-pip.done{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.step-pip.active{color:var(--text);border-color:var(--accent)}.wizard{display:flex;flex-direction:column;gap:1rem;max-width:34rem}.wizard-q{font-size:1.15rem;font-weight:600;margin:.5rem 0 .2rem}.who-big{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:12px}.who-big-name{font-size:1.5rem;font-weight:700}.who-big-sub{color:var(--muted);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.btn-lg{padding:.85rem 1.4rem;font-size:1.05rem}.btn-block{align-self:stretch;text-align:left;padding:.85rem 1.1rem;font-size:1rem}.count-display{font-size:3rem;font-weight:700;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.4rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:20rem}.key{cursor:pointer;min-height:3.4rem;font-size:1.4rem;font-weight:600;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px}.key:hover{border-color:var(--accent)}.key:active{background:var(--accent-bg)}.key-ghost{font-size:1rem;color:var(--muted)}.attach-head{font-size:1.3rem}.attach-head .muted{color:var(--muted);font-size:.9rem}.order-note{color:var(--muted);font-size:.85rem;margin:.2rem 0 .4rem}.scan-input{width:100%;font-size:1.3rem;padding:.9rem 1rem;text-align:center;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface);color:var(--text);border:2px solid var(--accent);border-radius:12px}.scan-input:focus{outline:none;filter:brightness(1.1)}.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.7rem;margin:.3rem 0}.chip{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:left;min-height:3.6rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:default}.chip-serial{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;font-weight:600;color:var(--text)}.chip-status{font-size:.72rem}.chip.ok{border-color:var(--accent-border);background:var(--accent-bg)}.chip.ok .chip-status{color:var(--accent)}.chip.void{border-style:dashed;opacity:.6}.chip.void .chip-serial{text-decoration:line-through}.chip-tap{cursor:pointer;border-color:var(--accent)}.chip-tap:hover{background:var(--surface-2)}.problem-sheet{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.problem-sheet p{margin:0}@media (max-width: 640px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column}}
