:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#f0eee9;--text:#1b1a17;--muted:#6b675f;--border:#e2dfd8;--accent:#1f5eff;--accent-text:#fff;--ok:#1a7f45;--ok-bg:#e5f4ea;--warn:#9a5b00;--warn-bg:#fdf1dc;--danger:#b42318;--danger-bg:#fdeceb;--info:#1d4ed8;--info-bg:#e7eefe;--radius:14px;--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141412;--surface:#1d1c1a;--surface-2:#272623;--text:#f2f0ea;--muted:#a39f95;--border:#34322e;--accent:#5b8cff;--ok:#4cc27f;--ok-bg:#173323;--warn:#f0b252;--warn-bg:#3a2a10;--danger:#ff7a6e;--danger-bg:#3d1a17;--info:#8fb0ff;--info-bg:#1b2744;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.2}button,input,select,textarea{font:inherit;color:inherit}.page{max-width:520px;margin:0 auto;padding:20px 16px 48px}.page-wide{max-width:1180px;margin:0 auto;padding:16px 16px 48px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok:hover{background:var(--ok);filter:brightness(1.08)}.btn-danger{color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-solid:hover{background:var(--danger);filter:brightness(1.08)}.btn-block{width:100%}.btn-icon{width:40px;min-height:40px;padding:0;font-size:18px}.btn-lg{min-height:54px;padding:14px 20px;font-size:18px}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:600}.input,.select,.textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.input-error{border-color:var(--danger)}.error-text{color:var(--danger);font-size:14px}.segmented{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:10px 8px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;width:44px;height:44px;font-size:22px}.stepper output{text-align:center;min-width:44px;font-size:20px;font-weight:700}.pill{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-danger{background:var(--danger-bg);color:var(--danger)}.pill-info{background:var(--info-bg);color:var(--info)}.banner{border-radius:10px;padding:12px 14px;font-size:15px}.banner-danger{background:var(--danger-bg);color:var(--danger)}.banner-warn{background:var(--warn-bg);color:var(--warn)}.banner-ok{background:var(--ok-bg);color:var(--ok)}.price{font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.code{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:800}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);padding:32px 16px}.dropzone:hover{border-color:var(--accent)}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 16px;display:flex}.tabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;color:var(--muted);border-radius:999px;padding:8px 14px;font-weight:600}.tabs button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.tabs .count{font-variant-numeric:tabular-nums;margin-left:6px}.grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.job-code{letter-spacing:.06em;font-size:26px;font-weight:800}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.filename{overflow-wrap:anywhere;font-weight:600}.empty{text-align:center;color:var(--muted);padding:48px 16px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:10px;font-size:14px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--border);padding:6px 8px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--muted);font-size:13px;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.qr-print{text-align:center;max-width:420px;margin:24px auto}.qr-print svg{width:100%;height:auto}@media (max-width:400px){.grid{grid-template-columns:1fr}.code{font-size:44px}}@media print{.no-print{display:none!important}body{color:#000;background:#fff}.card{box-shadow:none;border:0}}
