:root{--font-display: "Sora", "IBM Plex Sans", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--bg: #e8eef1;--bg-glow: #d4e4e8;--fg: #14202a;--muted: #5a6b75;--surface: #f7fafb;--card: #ffffff;--border: #c5d2d8;--accent: #0f6e6a;--accent-hover: #0c5a57;--accent-soft: #d4ebe9;--ok: #1f6b4a;--ok-bg: #e3f2ea;--ok-border: #b5dcc8;--warn: #8a6a12;--warn-bg: #f8f0d4;--warn-border: #e0c96a;--danger: #9d2f20;--danger-bg: #fce7e3;--danger-border: #f0c1b8;--radius: 6px;--space: 8px;--shadow: 0 1px 2px rgb(20 32 42 / 6%);font-family:var(--font-body);color:var(--fg);background:var(--bg);font-synthesis:none;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,var(--bg-glow),transparent 55%),radial-gradient(900px 400px at 100% 0%,#cfe0e4,transparent 50%),var(--bg)}.app{min-height:100vh}header{height:60px;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1100px)/2));gap:20px}.brand{font-family:var(--font-display);font-weight:800;letter-spacing:.06em;color:var(--fg);text-decoration:none;font-size:15px}.brand:hover{color:var(--accent)}nav{display:flex;gap:18px;flex:1;align-items:center}nav a{color:var(--muted);text-decoration:none;padding:20px 0 16px;font-weight:600;font-size:14px}nav a.active{color:var(--fg);border-bottom:3px solid var(--accent)}.cabinet-chip{font-size:13px;font-weight:600;color:var(--fg);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:999px;padding:6px 12px;text-decoration:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cabinet-chip.missing{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}main{max-width:1100px;margin:0 auto;padding:42px 24px}h1{font-family:var(--font-display);font-size:28px;margin:0 0 8px;letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:18px;margin-top:0}.lead,.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card.warn{border-color:var(--warn-border);background:color-mix(in srgb,var(--warn-bg) 55%,var(--card))}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}label{display:grid;gap:7px;margin:15px 0;color:#3d4b54;font-size:14px;font-weight:600}input{border:1px solid var(--border);border-radius:var(--radius);padding:11px;font:inherit;background:var(--card);transition:border-color .15s ease,box-shadow .15s ease}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}button,.button{border:0;border-radius:var(--radius);background:var(--accent);color:#fff;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s ease,opacity .15s ease,transform .12s ease}button:hover:not(:disabled),.button:hover{background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button:disabled[aria-busy=true],button[aria-busy=true]:disabled{cursor:wait}.secondary,.quiet{background:#e4ecee;color:#26343c}.quiet{padding:8px 12px;font-weight:600}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(800px 400px at 20% 0%,var(--bg-glow),transparent 60%),var(--bg)}.auth-shell{width:min(100%,440px)}.auth-brand{font-family:var(--font-display);font-weight:800;letter-spacing:.08em;font-size:22px;margin:0 0 18px;text-align:center}.auth .card{width:100%}.auth button{width:100%;margin-top:8px}.notice{padding:10px 12px;border-radius:var(--radius);border:1px solid transparent}.notice.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.notice.success{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.notice.info{background:var(--accent-soft);color:var(--accent-hover);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.account-list{display:grid;gap:9px}.account{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface);color:#26343c;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:8px}.account.selected{background:var(--accent-soft);color:var(--accent-hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#141c2473;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow:auto}.modal-card{width:min(520px,100%);margin:0}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.progress-wrap{margin:20px 0;max-width:500px}.progress-wrap span{font-weight:700;font-size:14px}.progress{height:8px;background:#e5eaec;border-radius:10px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width .35s ease}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e5eaec;font-size:14px}th{color:var(--muted)}.session-chrome{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 0 20px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.session-chrome .session-number{margin:0;font-family:var(--font-display);font-weight:700;font-size:16px}.session-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.session-steps a,.session-steps span{font-size:13px;font-weight:600;text-decoration:none;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid transparent}.session-steps a:hover{color:var(--fg)}.session-steps .active{color:var(--accent-hover);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.session-steps .done{color:var(--ok)}.session-chrome .progress-wrap{margin:0 0 0 auto;min-width:140px}.source-tabs{display:flex;gap:8px;margin:16px 0 8px;flex-wrap:wrap}.source-tabs a,.source-tabs button{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--radius);background:var(--surface);color:var(--fg);border:1px solid var(--border);text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.source-tabs a.active,.source-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.open-session{border-color:var(--warn-border, #c9a227)}.scan-input:focus{outline:2px solid var(--accent);outline-offset:2px;animation:focus-pulse .45s ease}@keyframes focus-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 8px transparent}}.progress i{transition:width .28s ease}.scanner form{max-width:580px;display:flex;gap:10px;align-items:end}.scanner form label{flex:1}.scan-hot{max-width:580px}.scan-result{margin-top:22px;padding:22px;border-radius:var(--radius);max-width:580px;animation:rise .25s ease}.sticker-preview{display:block;margin-top:12px;max-width:220px;border:1px solid var(--border);background:#fff;padding:8px}.accepted{background:var(--ok-bg);border:1px solid var(--ok-border)}.rejected{background:var(--danger-bg);border:1px solid var(--danger-border)}.panel-secondary{max-width:580px;margin:16px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 14px}.panel-secondary>summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;color:var(--fg);-webkit-user-select:none;user-select:none}.panel-secondary>summary:before{content:"▸ ";color:var(--accent)}.panel-secondary[open]>summary:before{content:"▾ "}.panel-secondary>summary::-webkit-details-marker{display:none}.export{max-width:560px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{border:0;border-radius:0;background:transparent;padding:8px 14px;font:inherit;cursor:pointer;color:var(--muted, #5a6a72)}.segmented button.active{background:var(--accent, #0d5c63);color:#fff}.picklist-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.picklist-heading h1{margin:0}.picklist-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.download-menu{position:relative}.download-menu-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:120px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000024;padding:6px;display:flex;flex-direction:column;gap:2px}.download-menu-panel button{border:0!important;background:#fff!important;color:var(--fg)!important;text-align:left;padding:10px 12px;border-radius:6px;font:inherit;cursor:pointer;box-shadow:none!important}.download-menu-panel button:hover:not(:disabled){background:var(--accent-soft)!important;color:var(--fg)!important}.download-menu-panel button:disabled{opacity:.5}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;min-width:40px}.icon-btn.active{background:var(--accent-soft, #e6f2f3);color:var(--accent, #0d5c63)}.picklist-table-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.picklist-summary{margin:0;color:var(--muted, #5a6a72);font-size:15px;line-height:1.3;min-width:0}.picklist-table-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.picklist-print-title{display:none}.picklist-scroll{margin-top:16px;max-height:min(70vh,calc(100vh - 280px));overflow:auto}.picklist-scroll.picklist-scroll-tight{margin-top:8px}.picklist-scroll thead th{position:sticky;top:0;z-index:2;background:var(--surface, #fff);box-shadow:0 1px #e5eaec}@media print{@page{margin:12mm}body{background:#fff!important}header,.no-print,.download-menu-panel{display:none!important}main{max-width:none!important;padding:0!important;margin:0!important}.picklist-page,.picklist-print-root{display:block!important}.picklist-print-title{display:block!important;margin:0 0 12px;font-size:16pt;font-weight:700}.picklist-scroll{max-height:none!important;overflow:visible!important;margin:0!important;border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important}.picklist-scroll table{width:100%;border-collapse:collapse}.picklist-scroll thead th{position:static;box-shadow:none;background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.picklist-scroll th,.picklist-scroll td{border:1px solid #222!important;padding:6px 8px!important;font-size:10pt!important;color:#000!important}}.check{display:flex;align-items:center;gap:9px;font-size:16px}.check input{width:18px;height:18px}.export hr{border:0;border-top:1px solid var(--border);margin:24px 0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:650px){header{padding:8px 12px;gap:10px;flex-wrap:wrap;height:auto;min-height:60px}nav{order:3;width:100%;gap:14px}nav a{padding:8px 0}.cabinet-chip{max-width:140px}main{padding:28px 16px}.grid{grid-template-columns:1fr}.scanner form,.title-row{display:block}.title-row .button{margin-top:14px}.session-chrome .progress-wrap{margin-left:0;width:100%}}
