:root{--bg: #f5faf9;--bg-line: rgba(20, 74, 78, .055);--surface: #ffffff;--surface-soft: #f5faf9;--surface-strong: #edf5f4;--ink: #14232a;--muted: #687a84;--border: #d8e6e8;--panel-line: rgba(20, 127, 114, .16);--brand: #147f72;--brand-strong: #0c6158;--accent: #376fd8;--accent-soft: #eef6ff;--warn: #c8873c;--danger: #b24a3c;--danger-soft: #fff3f0;--shadow: 0 20px 54px rgba(26, 71, 75, .075);--shadow-soft: 0 10px 26px rgba(26, 71, 75, .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(135deg,rgba(35,184,166,.09) 0 16%,transparent 16% 54%,rgba(211,157,73,.08) 54% 70%,transparent 70%),linear-gradient(var(--bg-line) 1px,transparent 1px),linear-gradient(90deg,var(--bg-line) 1px,transparent 1px),linear-gradient(180deg,#f7fbfb,#fff 44%,#f2f8f6);background-attachment:fixed;background-size:auto,40px 40px,40px 40px,auto}body.modal-open{overflow:hidden}button,input,select,textarea{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,textarea:focus-visible{outline:2px solid rgba(45,108,223,.4);outline-offset:2px}#app{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:22px 0 44px}.topbar,.brand-lockup,.panel-heading,.sheet-heading,.actions,.control-grid,.manual-form,.desktop-manual-form{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px;margin-bottom:18px;border:1px solid var(--panel-line);border-radius:8px;padding:18px;background:radial-gradient(circle at 15% 20%,rgba(20,127,114,.1),transparent 32%),linear-gradient(135deg,#fffffff5,#f4fbf8eb);box-shadow:var(--shadow-soft)}.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:46px;height:46px;border:1px solid rgba(23,122,111,.24);border-radius:8px;background:linear-gradient(180deg,#fff,#f2faf8);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.14rem,4vw,2.88rem);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:#ffffffeb;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,.quick-start-panel,.pair-panel,.scanner-panel,.sheet-panel{border:1px solid var(--panel-line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.quick-start-panel{display:grid;grid-template-columns:minmax(0,.72fr) minmax(420px,1fr);gap:18px;align-items:stretch;margin-bottom:16px;padding:18px;background:radial-gradient(circle at 8% 20%,rgba(20,127,114,.08),transparent 34%),#fffffff0}.quick-start-copy{min-width:0}.quick-start-copy p:last-child{max-width:560px;margin:8px 0 0;color:var(--muted);font-size:.9rem}.quick-start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.quick-start-steps li{display:grid;min-width:0;align-content:start;gap:5px;border:1px solid var(--panel-line);border-radius:8px;padding:12px;background:linear-gradient(180deg,#fbfefd,#f4faf7)}.quick-start-steps span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e8f8f3;color:var(--brand-strong);font-size:.78rem;font-weight:780}.quick-start-steps strong{color:var(--ink);font-size:.9rem;line-height:1.3}.quick-start-steps small{color:var(--muted);font-size:.78rem;line-height:1.35}.account-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);gap:14px 18px;align-items:center;margin-bottom:16px;padding:18px;background:linear-gradient(90deg,#fffffff5,#f7fdfbf0),var(--surface)}.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(--panel-line);border-radius:8px;padding:12px;background:#f6fcfae6}.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:#e8f8f3;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}.plan-comparison{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border-top:1px solid var(--panel-line);padding-top:16px}.plan-tier{display:grid;gap:10px;min-width:0;padding:1px 0 1px 13px;border-left:3px solid var(--border)}.plan-tier[data-current=true]{border-left-color:var(--brand)}.plan-tier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.plan-tier-heading strong,.plan-kicker,.plan-tag{display:block}.plan-tier-heading strong{color:var(--ink);font-size:.96rem;font-weight:780}.plan-kicker{margin-bottom:2px;color:var(--muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.plan-tag{min-height:26px;border:1px solid rgba(23,122,111,.22);border-radius:999px;padding:4px 9px;background:#e9f8f4;color:var(--brand-strong);font-size:.72rem;font-weight:780;white-space:nowrap}.plan-tier ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.plan-tier li{position:relative;padding-left:16px;color:var(--muted);font-size:.82rem}.plan-tier li:before{position:absolute;top:.6em;left:0;width:6px;height:6px;border-radius:999px;background:var(--brand);content:""}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#12202861;-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 var(--panel-line);border-radius:8px;padding:22px;background:radial-gradient(circle at 12% 0,rgba(20,127,114,.08),transparent 32%),var(--surface);box-shadow:0 24px 70px #12202838}.upgrade-dialog{width:min(560px,100%)}.clear-dialog{width:min(480px,100%)}.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(--panel-line);border-radius:8px;padding:10px;background:#f6fcfadb}.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}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.subtle-link{min-height:24px;font-size:.76rem;white-space:nowrap}.subtle-link[hidden]{display:none}.clear-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.clear-summary>div{min-width:0;border:1px solid var(--border);border-radius:8px;padding:10px;background:#f6fcfadb}.clear-summary span{display:block;color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.clear-summary strong{display:block;overflow:hidden;margin-top:4px;color:var(--ink);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.clear-actions{display:flex;justify-content:flex-end;gap:9px}.pair-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;margin-bottom:16px;padding:18px;background:linear-gradient(135deg,#fffffff5,#f2fbf8f0),var(--surface)}.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(--panel-line);background:#f6fcfae0;color:#2f4853;text-overflow:ellipsis;white-space:nowrap}.sync-status{grid-column:1 / -1;justify-self:start;border:1px solid var(--panel-line);background:#f6fcfae0;color:var(--muted)}.sync-status[data-state=online]{border-color:#177a6f52;background:#e8f8f3;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(--panel-line);padding-top:14px}.qr-card[hidden]{display:none}.qr-card img{width:140px;height:140px;border:1px solid var(--panel-line);border-radius:8px;background:#fff;box-shadow:0 12px 26px #1a474b14}.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:linear-gradient(135deg,#eef6ff,#f7fbff);color:#28445c;font-size:.82rem;font-weight:650}.scanner-queue[hidden]{display:none}.scanner-last-sent{display:grid;grid-column:1 / -1;gap:3px;border:1px solid rgba(23,122,111,.22);border-radius:8px;padding:10px 12px;background:#e8f8f3;color:var(--brand-strong)}.scanner-last-sent[hidden]{display:none}.scanner-last-sent span{color:var(--muted);font-size:.72rem;font-weight:780;text-transform:uppercase}.scanner-last-sent strong{overflow:hidden;color:var(--ink);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.scanner-last-sent small{color:var(--muted);font-size:.78rem}.compact-button{min-height:32px;padding:0 10px;font-size:.8rem}.workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;align-items:start}.scanner-panel,.sheet-panel{min-width:0;padding:18px}.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 rgba(12,97,88,.24);border-radius:8px;background:radial-gradient(circle at 50% 38%,rgba(83,212,197,.22),transparent 34%),linear-gradient(135deg,#14484be0,#0b3033fa),#0e3033;box-shadow:inset 0 0 0 1px #ffffff0d}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,.88);border-radius:8px;box-shadow:0 0 0 999px #0000003d,0 0 28px #5ee1d12e}.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}.desktop-manual-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:9px;align-items:end;margin-bottom:12px;border:1px solid var(--panel-line);border-radius:8px;padding:10px;background:#f6fcfae0}.field{display:grid;gap:5px;color:#40515d;font-size:.78rem;font-weight:720}.field input,.field select,.field textarea,.table-input{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:#fffffffa;color:var(--ink);outline:none;font-size:.9rem}.field input,.field select{min-height:40px;padding:0 11px}.field textarea{min-height:116px;padding:10px 11px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.table-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #147f7224}.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:linear-gradient(180deg,#168d7f,var(--brand));color:#fff;box-shadow:0 12px 24px #147f7229}.primary-button:hover{background:linear-gradient(180deg,#147f72,var(--brand-strong));box-shadow:0 8px 18px #16726724}.ghost-button{padding:0 13px;border:1px solid var(--border);background:#ffffffe6;color:#263943}.ghost-button:hover{border-color:#147f7247;background:#f0faf6;color:var(--brand-strong)}.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}.desktop-message{min-height:20px;margin:-4px 0 10px}.desktop-message:empty{display:none}.template-panel{display:grid;grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:10px 14px;align-items:center;margin-bottom:14px;border:1px solid var(--panel-line);border-radius:8px;padding:12px;background:linear-gradient(135deg,#f1faf7eb,#ffffffe0)}.template-panel h3{margin:0;color:var(--ink);font-size:.98rem;line-height:1.24}.template-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.template-button{min-height:34px;border:1px solid var(--border);border-radius:999px;padding:0 12px;background:#fffffff0;color:#30464f;font-size:.78rem;font-weight:760}.template-button:hover,.template-button[data-active]{border-color:#147f7252;background:#e8f8f3;color:var(--brand-strong)}.template-panel .helper-text{grid-column:1 / -1}.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(--panel-line);border-radius:8px;padding:10px;background:linear-gradient(180deg,#fbfefd,#f5faf8)}.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(--panel-line);border-radius:8px;background:var(--surface);box-shadow:inset 0 1px #ffffffbd}table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}th,td{border-bottom:1px solid #e4eef0;padding:9px 10px;text-align:left;vertical-align:middle}th{background:linear-gradient(180deg,#eef7f5,#e8f1f0);color:#51656e;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:#f7fcfa}.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=desktop] .workspace{grid-template-columns:1fr}body[data-role=desktop] .scanner-panel{display:none}body[data-role=scanner] .topbar{padding-bottom:14px}body[data-role=scanner] .quick-start-panel{display:none}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,.quick-start-panel,.plan-comparison,.pair-panel,.qr-card,.clear-summary{grid-template-columns:1fr}.account-actions,.account-entry,.account-entry-actions,.clear-actions{align-items:stretch;flex-direction:column}.account-actions button,.account-entry-actions button,.clear-actions button{width:100%}.plan-tier-heading{align-items:flex-start;flex-direction:column}.quick-start-steps,.template-panel{grid-template-columns:1fr}.template-buttons{justify-content:flex-start}.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,.quick-start-panel,.pair-panel,.scanner-panel,.sheet-panel{padding:14px}.control-grid,.manual-form,.desktop-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}}
