:root{--bg: #f4f7f9;--bg-line: rgba(139, 158, 174, .1);--surface: #ffffff;--surface-soft: #f6f8fa;--surface-strong: #eef3f6;--ink: #162128;--muted: #667783;--border: #dce5eb;--brand: #167267;--brand-strong: #0d5d55;--accent: #315fd5;--accent-soft: #edf4ff;--warn: #c8762e;--danger: #b24a3c;--danger-soft: #fff3f0;--shadow: 0 14px 38px rgba(28, 45, 58, .07);--shadow-soft: 0 8px 22px rgba(28, 45, 58, .055);color:var(--ink);background:var(--bg);font-size:15px;font-family:Inter,SF Pro Text,SF Pro Display,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.45;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(var(--bg-line) 1px,transparent 1px),linear-gradient(90deg,var(--bg-line) 1px,transparent 1px),var(--bg);background-size:44px 44px}body.modal-open{overflow:hidden}button,input,select{font:inherit}button{min-height:38px;border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(45,108,223,.4);outline-offset:2px}#app{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:26px 0 42px}.topbar,.brand-lockup,.panel-heading,.sheet-heading,.actions,.control-grid,.manual-form{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px;padding:0 0 22px}.brand-lockup{min-width:0;gap:12px}.brand-mark{display:grid;grid-template-columns:repeat(3,6px);gap:4px;align-items:end;justify-content:center;width:40px;height:40px;border:1px solid rgba(23,122,111,.24);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.brand-mark span{display:block;width:6px;border-radius:2px;background:var(--brand)}.brand-mark span:nth-child(1){height:18px}.brand-mark span:nth-child(2){height:28px;background:var(--accent)}.brand-mark span:nth-child(3){height:22px;background:var(--warn)}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:.72rem;font-weight:760;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:var(--ink);line-height:1.08;letter-spacing:0}h1{font-size:clamp(2.08rem,4vw,2.62rem);font-weight:780}h2{font-size:1.08rem;font-weight:760}.status-pill,.scan-state{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid rgba(23,122,111,.22);border-radius:999px;padding:0 11px;background:var(--surface);color:var(--brand-strong);font-size:.78rem;font-weight:760;white-space:nowrap}.scan-state[data-state=scanning]{border-color:#c8762e57;background:#fff7ef;color:#995217}.account-panel,.pair-panel,.scanner-panel,.sheet-panel{border:1px solid var(--border);border-radius:8px;background:#fffffff7;box-shadow:var(--shadow)}.account-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);gap:14px 18px;align-items:center;margin-bottom:16px;padding:17px}.account-copy{min-width:0}.account-text{max-width:620px;margin:7px 0 0;color:var(--muted);font-size:.9rem}.account-entry,.account-actions{display:flex;align-items:center}.account-entry{justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:#f8fbfd}.account-entry strong,.account-entry span{display:block}.account-entry strong{color:var(--ink);font-size:.9rem;font-weight:760}.account-entry span{margin-top:3px;color:var(--muted);font-size:.8rem}.account-entry-actions,.account-actions{display:flex;align-items:center;gap:8px}.account-actions{justify-content:flex-end}.account-entry[hidden],.account-actions[hidden],.auth-form[hidden],.account-panel[hidden]{display:none}.account-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid rgba(23,122,111,.22);border-radius:999px;padding:0 11px;background:#eaf7f3;color:var(--brand-strong);font-size:.78rem;font-weight:760;white-space:nowrap}.account-message{grid-column:1 / -1;margin-top:0}.account-message:empty{display:none}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#12202870;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-backdrop[hidden]{display:none}.auth-dialog{position:relative;display:grid;gap:16px;width:min(460px,100%);border:1px solid rgba(217,227,234,.9);border-radius:8px;padding:21px;background:var(--surface);box-shadow:0 24px 70px #12202838}.auth-close{position:absolute;top:12px;right:12px;width:32px;min-height:32px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:1.12rem;line-height:1}.auth-close:hover{border-color:var(--border);background:var(--surface-soft);color:var(--ink)}.auth-dialog-copy{padding-right:36px}.auth-dialog-copy p:last-child{margin:7px 0 0;color:var(--muted);font-size:.88rem}.auth-form{display:grid;gap:11px}.captcha-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:11px;align-items:end;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-soft)}.captcha-image-wrap{display:grid;gap:8px}.captcha-visual{display:grid;place-items:center;width:100%;height:66px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.captcha-visual img{width:100%;height:100%;object-fit:contain}.captcha-visual img[hidden],.captcha-visual span[hidden]{display:none}.captcha-visual span{padding:0 12px;color:var(--muted);font-size:.82rem;font-weight:720;text-align:center}.captcha-visual[data-state=error]{border-color:#b8453547;background:var(--danger-soft)}.captcha-visual[data-state=error] span{color:var(--danger)}.captcha-refresh{width:100%}.auth-message{min-height:22px;margin-top:0}.auth-message[data-error]{color:var(--danger)}.auth-submit{width:100%}.link-button{min-height:34px;padding:0;background:transparent;color:var(--brand-strong);font-size:.86rem;font-weight:700}.link-button:hover{color:var(--accent);text-decoration:underline}.pair-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;margin-bottom:16px;padding:16px}.pair-copy{min-width:0}.pair-text{max-width:620px;margin:7px 0 0;color:var(--muted);font-size:.9rem}.pair-controls{display:grid;gap:9px;justify-items:end}.session-code,.sync-status{min-height:30px;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:740}.session-code{max-width:300px;overflow:hidden;border:1px solid var(--border);background:var(--surface-soft);color:#2f4853;text-overflow:ellipsis;white-space:nowrap}.sync-status{grid-column:1 / -1;justify-self:start;border:1px solid var(--border);background:var(--surface-soft);color:var(--muted)}.sync-status[data-state=online]{border-color:#177a6f52;background:#eaf7f3;color:var(--brand-strong)}.sync-status[data-state=connecting]{border-color:#c8762e59;background:#fff7ef;color:#995217}.sync-status[data-state=error]{border-color:#b8453547;background:var(--danger-soft);color:var(--danger)}.qr-card{display:grid;grid-column:1 / -1;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:center;border-top:1px solid var(--border);padding-top:14px}.qr-card[hidden]{display:none}.qr-card img{width:140px;height:140px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pair-link-shell{display:grid;min-width:0;gap:8px}.pair-link-actions{display:flex;flex-wrap:wrap;gap:8px}.helper-text{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.camera-help{margin-top:9px}.scanner-queue{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(45,108,223,.18);border-radius:8px;padding:10px 12px;background:var(--accent-soft);color:#28445c;font-size:.82rem;font-weight:650}.scanner-queue[hidden]{display:none}.compact-button{min-height:32px;padding:0 10px;font-size:.8rem}.workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;align-items:start}.scanner-panel,.sheet-panel{min-width:0;padding:17px}.panel-heading{justify-content:space-between;gap:14px;margin-bottom:12px}.video-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:4 / 3;border:1px solid #102f34;border-radius:8px;background:linear-gradient(135deg,#12373ce0,#0c252bfa),#102a30}video{width:100%;height:100%;object-fit:cover}.scan-window{position:absolute;top:24%;right:12%;bottom:24%;left:12%;border:2px solid rgba(255,255,255,.86);border-radius:8px;box-shadow:0 0 0 999px #0000003d}.scan-line{position:absolute;left:15%;right:15%;top:50%;height:2px;border-radius:999px;background:#6ee7d8;opacity:.9}.control-grid{display:grid;grid-template-columns:1fr auto auto;gap:9px;margin-top:12px}.manual-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:11px}.field{display:grid;gap:5px;color:#40515d;font-size:.78rem;font-weight:720}.field input,.field select,.table-input{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ink);outline:none;font-size:.9rem}.field input,.field select{min-height:40px;padding:0 11px}.field input:focus,.field select:focus,.table-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3267e324}.primary-button,.ghost-button,.danger-button,.icon-button{border-radius:7px;font-size:.875rem;font-weight:760;line-height:1;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-button{padding:0 15px;background:var(--brand);color:#fff;box-shadow:none}.primary-button:hover{background:var(--brand-strong);box-shadow:0 8px 18px #16726724}.ghost-button{padding:0 13px;border:1px solid var(--border);background:var(--surface);color:#263943}.ghost-button:hover{border-color:#3267e357;background:var(--accent-soft);color:#1f4eb0}.danger-button{padding:0 13px;border:1px solid rgba(184,69,53,.26);background:var(--danger-soft);color:var(--danger)}.danger-button:hover{border-color:#b24a3c5c;background:#ffe8e2}.primary-button:active,.ghost-button:active,.danger-button:active,.icon-button:active{transform:translateY(1px)}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.icon-button:disabled{box-shadow:none;transform:none}.message{min-height:22px;margin-top:10px;color:var(--muted);font-size:.85rem}.sheet-heading{justify-content:space-between}.actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.stats-grid>div{min-width:0;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-soft)}.stats-grid span{display:block;color:var(--muted);font-size:.72rem;font-weight:760}.stats-grid strong{display:block;overflow:hidden;margin-top:3px;color:#112c34;font-size:1.06rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}th,td{border-bottom:1px solid var(--border);padding:9px 10px;text-align:left;vertical-align:middle}th{background:var(--surface-strong);color:#53636e;font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:0}th:nth-child(1),td:nth-child(1){width:32%}th:nth-child(2),td:nth-child(2){width:94px}th:nth-child(3),td:nth-child(3){width:30%}th:nth-child(4),td:nth-child(4){width:146px}th:nth-child(5),td:nth-child(5){width:48px}td{color:#25343c;font-size:.85rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}.table-input{height:34px;padding:0 9px}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.qty-input{width:70px}.note-input{min-width:0}.icon-button{width:32px;min-height:32px;background:var(--danger-soft);color:var(--danger);font-size:1.08rem;line-height:1}.empty-state{display:grid;place-items:center;min-height:176px;gap:3px;color:var(--muted);text-align:center}.empty-state strong{color:var(--ink);font-size:.98rem}.empty-state[hidden]{display:none}body[data-role=scanner] #app{width:min(560px,calc(100% - 24px))}body[data-role=scanner] .topbar{padding-bottom:14px}body[data-role=scanner] .workspace{grid-template-columns:1fr}body[data-role=scanner] .sheet-panel{display:none}body[data-role=scanner] .pair-panel{grid-template-columns:1fr;padding:14px}body[data-role=scanner] .pair-controls{justify-items:start}@media(max-width:880px){#app{width:min(100% - 22px,680px);padding-top:18px}.topbar,.panel-heading,.sheet-heading{align-items:flex-start;flex-direction:column}h1{font-size:2.18rem}.workspace,.account-panel,.pair-panel,.qr-card{grid-template-columns:1fr}.account-actions,.account-entry,.account-entry-actions{align-items:stretch;flex-direction:column}.account-actions button,.account-entry-actions button{width:100%}.captcha-card{grid-template-columns:1fr}.pair-controls{justify-items:stretch}.pair-link-actions,.scanner-queue{align-items:stretch;flex-direction:column}.pair-link-actions button,.scanner-queue button{width:100%}.session-code,.sync-status{justify-self:start}.actions{width:100%;justify-content:stretch}.actions button{flex:1 1 116px}}@media(max-width:560px){#app{width:min(100% - 18px,520px)}.brand-mark{width:38px;height:38px}h1{font-size:1.92rem}h2{font-size:1.02rem}.account-panel,.pair-panel,.scanner-panel,.sheet-panel{padding:14px}.control-grid,.manual-form,.stats-grid{grid-template-columns:1fr}.primary-button,.ghost-button,.danger-button{width:100%}.stats-grid strong{font-size:1.06rem}.qr-card img{width:132px;height:132px}}
