:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#00b8e8;--brand-deep:#0098c8;--brand-ink:#00566f;--bg:#f2f5f9;--bg-tint:#e8eef5;--surface:#fff;--surface-2:#f7f9fc;--surface-3:#eef2f7;--border:#d8dfe8;--border-strong:#b4c0ce;--text:#10202e;--text-muted:#5b6b7d;--accent:#0077a3;--accent-hover:#00607f;--accent-fg:#fff;--accent-soft:#e2f4fc;--accent-soft-border:#a8dcf0;--ok:#0f8a4a;--ok-bg:#e6f5ec;--warn:#a86400;--warn-bg:#fdf3e2;--danger:#c2251c;--danger-bg:#fdeceb;--radius:8px;--radius-sm:5px;--shadow:0 1px 2px #10202e0f, 0 2px 8px #10202e0d;--shadow-lg:0 12px 40px #10202e2e;--ring:0 0 0 3px #00b8e859;--ease:cubic-bezier(.22, .61, .36, 1);--fast:.13s;--slow:.26s;color:var(--text);background:var(--bg);font-family:Segoe UI Variable Text,Segoe UI,Roboto,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#29c9f2;--brand-deep:#00b8e8;--brand-ink:#9fe3f8;--bg:#0c141e;--bg-tint:#101b28;--surface:#141f2d;--surface-2:#1a2636;--surface-3:#212f42;--border:#27364a;--border-strong:#3b4c64;--text:#e7eef7;--text-muted:#94a6bc;--accent:#29c9f2;--accent-hover:#58d6f6;--accent-fg:#05202b;--accent-soft:#10303f;--accent-soft-border:#1d5a75;--ok:#3ecf8e;--ok-bg:#102f24;--warn:#e5a53f;--warn-bg:#33260f;--danger:#ff6b63;--danger-bg:#351817;--shadow:0 1px 2px #0006, 0 2px 10px #0000004d;--shadow-lg:0 14px 44px #0000008c;--ring:0 0 0 3px #29c9f252}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#29c9f2;--brand-deep:#00b8e8;--brand-ink:#9fe3f8;--bg:#0c141e;--bg-tint:#101b28;--surface:#141f2d;--surface-2:#1a2636;--surface-3:#212f42;--border:#27364a;--border-strong:#3b4c64;--text:#e7eef7;--text-muted:#94a6bc;--accent:#29c9f2;--accent-hover:#58d6f6;--accent-fg:#05202b;--accent-soft:#10303f;--accent-soft-border:#1d5a75;--ok:#3ecf8e;--ok-bg:#102f24;--warn:#e5a53f;--warn-bg:#33260f;--danger:#ff6b63;--danger-bg:#351817;--shadow:0 1px 2px #0006, 0 2px 10px #0000004d;--shadow-lg:0 14px 44px #0000008c;--ring:0 0 0 3px #29c9f252}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);transition:background var(--slow) var(--ease), color var(--slow) var(--ease);margin:0;font-size:15px}::selection{background:var(--accent-soft);color:var(--text)}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), transform var(--fast) var(--ease);border:1px solid #0000;padding:.6rem 1.1rem}button:focus-visible,a:focus-visible,summary:focus-visible{box-shadow:var(--ring);outline:none}button:disabled{cursor:not-allowed;opacity:.5}button:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-fg);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent)}.btn-lg{padding:.85rem 1.6rem;font-size:1.05rem;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:.55rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:block}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes halo{0%{opacity:.55;box-shadow:0 0}70%{opacity:0;box-shadow:0 0 0 5px #0000}to{opacity:0;box-shadow:0 0 #0000}}@keyframes sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;box-shadow:var(--shadow);align-items:center;gap:1rem;padding:.55rem 1.25rem;display:flex;position:sticky;top:0}.topbar>*{flex-shrink:0;min-width:0}.topbar:after{content:"";background:linear-gradient(90deg, var(--brand), var(--brand-deep) 45%, transparent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.brand{letter-spacing:-.01em;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;display:flex}.brand-logo{width:auto;height:26px;display:block}.brand small{color:var(--text-muted);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;max-width:20ch;font-size:.78rem;font-weight:400;line-height:1.25;display:block;overflow:hidden}.topbar-spacer{flex:1}.topbar-user{color:var(--text-muted);flex-shrink:1;align-items:center;gap:.55rem;min-width:0;font-size:.85rem;display:flex}.topbar-user>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs{flex-shrink:0;align-items:center}.tab{white-space:nowrap}.topbar .btn-secondary{padding:.36rem .85rem;font-size:.9rem}.topbar .tab{padding:.45rem .85rem}@media (width<=1290px){.brand small,.theme-toggle span{display:none}.theme-toggle{padding:.32rem .45rem}}@media (width<=880px){.topbar-user>span:last-child{display:none}}.avatar{background:linear-gradient(140deg, var(--brand), var(--accent));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:grid}.content{width:100%;max-width:1180px;animation:fade var(--slow) var(--ease) both;flex:1;margin:0 auto;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:rise var(--slow) var(--ease) both;padding:1.25rem}.card+.card{margin-top:1.25rem}.card h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 1rem;font-size:.95rem}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:100px;align-items:center;gap:.4rem;padding:.32rem .7rem;font-size:.82rem;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.theme-toggle svg{width:15px;height:15px;transition:transform var(--slow) var(--ease);flex-shrink:0}.theme-toggle:hover svg{transform:rotate(18deg)scale(1.08)}.status-strip{flex-wrap:wrap;gap:1.25rem;font-size:.85rem;display:flex}.status-item{color:var(--text-muted);align-items:center;gap:.45rem;display:flex}.dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:9px;height:9px;position:relative}.dot.ok{background:var(--ok);color:var(--ok)}.dot.warn{background:var(--warn);color:var(--warn)}.dot.bad{background:var(--danger);color:var(--danger)}.dot.ok:after,.dot.bad:after{content:"";animation:halo 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}.dot.bad:after{animation-duration:1.3s}.banner{border-radius:var(--radius-sm);animation:pop var(--slow) var(--ease) both;border:1px solid;margin-bottom:1.25rem;padding:.8rem 1rem;font-size:.92rem}.banner.warn{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn)}.banner.bad{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.banner.ok{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 45%, transparent);color:var(--ok)}.banner strong{margin-bottom:.15rem;display:block}.source-tag{letter-spacing:.05em;background:var(--accent-soft);color:var(--brand-ink);border:1px solid var(--accent-soft-border);border-radius:100px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.job-status{letter-spacing:.04em;font-weight:700}.job-status.printed{color:var(--ok)}.job-status.failed{color:var(--danger)}.job-status.pending{color:var(--warn);background:linear-gradient(90deg, var(--warn) 30%, color-mix(in srgb, var(--warn) 35%, transparent) 50%, var(--warn) 70%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite sweep}.job-list{border-collapse:collapse;width:100%;font-size:.88rem}.job-list th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.4rem .5rem;font-size:.75rem}.job-list td{border-bottom:1px solid var(--border);padding:.5rem}.job-list tbody tr{transition:background var(--fast) var(--ease)}.job-list tbody tr:hover td{background:var(--surface-2)}.login-shell{background:radial-gradient(1100px 520px at 12% -10%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 70%), radial-gradient(900px 480px at 105% 108%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{width:100%;max-width:410px;animation:pop .42s var(--ease) both;padding:1.75rem}.login-logo{width:250px;max-width:85%;height:auto;margin-bottom:.5rem;display:block}.login-tagline{color:var(--text-muted);margin:0 0 1.5rem;font-size:.88rem}.field+.field{margin-top:.9rem}.muted{color:var(--text-muted);font-size:.85rem}.mono{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:.82rem}.spinner{vertical-align:-.08em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.85em;height:.85em;margin-right:.45em;animation:.62s linear infinite spin;display:inline-block}dialog{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:460px;color:var(--text);background:var(--surface);padding:1.4rem}dialog[open]{animation:pop .2s var(--ease) both}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s var(--ease) both;background:#060e168c}dialog h3{margin:0 0 .9rem;font-size:1.05rem}.reason-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.reason-grid button{text-align:left;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:.6rem .75rem}.reason-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.tabs{gap:.25rem;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.6rem .9rem;font-weight:600;position:relative}.tab:hover{color:var(--text)}.tab[aria-current=true]{color:var(--accent)}.tab:after{content:"";background:var(--brand);height:2px;transition:left var(--slow) var(--ease), right var(--slow) var(--ease);position:absolute;bottom:-1px;left:50%;right:50%}.tab[aria-current=true]:after{left:.5rem;right:.5rem}.subtabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.subtab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:100px;padding:.45rem .9rem;font-size:.92rem}.subtab:hover{color:var(--text);border-color:var(--accent)}.subtab[aria-current=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0}.empty{margin:0;padding:.75rem 0}.inline-form{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);animation:pop var(--slow) var(--ease) both;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.9rem;margin-bottom:1.25rem;padding:1rem;display:grid}.inline-form .row{grid-column:1/-1}.activation-code{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius-sm);animation:pop var(--slow) var(--ease) both;margin-top:.4rem;padding:.5rem .7rem;font-size:.85rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.tile{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:.8rem .9rem}.tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.tile-value{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1.1;display:block}.tile-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-top:.15rem;font-size:.78rem;display:block}.tile-ok{border-left-color:var(--ok)}.tile-warn{border-left-color:var(--warn);background:var(--warn-bg)}.tile-bad{border-left-color:var(--danger);background:var(--danger-bg)}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:1.25rem;display:grid}.split .card+.card{margin-top:0}.tpl-group+.tpl-group{margin-top:.9rem}.tpl-code{margin-bottom:.3rem;font-weight:700}.tpl-version{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);margin-bottom:.3rem;padding:.45rem .7rem;display:block}.tpl-version:hover{border-color:var(--accent)}.tpl-version[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.source-tag.locked{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.clause-row{grid-template-columns:1.4fr .6fr 1.4fr auto;gap:.5rem;margin-top:.5rem;display:grid}.clause-ok{color:var(--ok)}.clause-bad{color:var(--danger)}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-2)}.row-link[aria-current=true] td{background:var(--accent-soft)}.msg{border-left:3px solid var(--border-strong);margin-bottom:.5rem;padding:.5rem .7rem}.msg-internal{border-left-color:var(--warn);background:var(--warn-bg)}.diag{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:18rem;padding:.75rem;font-size:.75rem;overflow:auto}.swatch{vertical-align:middle;border:1px solid #00000026;border-radius:3px;width:.9rem;height:.9rem;margin-left:.5rem;display:inline-block}.help{max-width:960px}.help-section p,.help-section li{font-size:.95rem;line-height:1.55}.help-section p{margin:0 0 .9rem}.help-section ul{margin:0 0 .9rem;padding-left:1.4rem}.help-section code{background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85em}.help-code{color:#dbe7f3;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0b1622;margin:.5rem 0;padding:.6rem .9rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;overflow-x:auto}.help-toc{flex-wrap:wrap;gap:.35rem .9rem;margin:0 0 1.25rem;font-size:.9rem;display:flex}.help-toc a{color:var(--accent);white-space:nowrap;text-decoration:none}.help-toc a:hover{text-decoration:underline}.help-steps{margin:0 0 1rem;padding-left:1.5rem}.help-steps li{margin-bottom:.55rem;padding-left:.25rem}.help-steps li::marker{color:var(--accent);font-weight:700}.help-figure{margin:.9rem 0 1.25rem}.help-figure img{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow);transition:box-shadow var(--fast) var(--ease);display:block}.help-figure a:hover img{box-shadow:var(--shadow-lg)}.help-figure figcaption{color:var(--text-muted);margin-top:.45rem;font-size:.82rem}.help-example{border-left:3px solid var(--brand);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:.9rem 0 1.1rem;padding:.7rem 1rem}.help-example-title{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.help-example p:last-child,.help-example ul:last-child{margin-bottom:0}.help-tip{margin:.9rem 0 1.1rem}.help-tip strong{margin-bottom:0;display:inline}.help-terms{margin:0 0 1rem}.help-term{border-bottom:1px solid var(--border);grid-template-columns:minmax(10rem,14rem) 1fr;gap:.75rem;padding:.5rem 0;font-size:.92rem;display:grid}.help-term:last-child{border-bottom:none}.help-term dt{font-weight:600}.help-term dd{margin:0;line-height:1.5}@media (width<=640px){.help-term{grid-template-columns:1fr;gap:.2rem}}.table-scroll{margin-bottom:1rem;overflow-x:auto}.help-table{border-collapse:collapse;width:100%;font-size:.88rem}.help-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.4rem .5rem;font-size:.75rem}.help-table td{border-bottom:1px solid var(--border);padding:.45rem .5rem}.help-table td:not(:first-child){text-align:center;color:var(--text-muted)}.help-diagram{width:100%;height:auto;margin:.5rem 0 1.25rem;font-family:inherit;display:block}.help-diagram .dg-lane rect{fill:var(--surface-2);stroke:var(--border)}.help-diagram .dg-lane-label{fill:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.help-diagram .dg-box rect{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.2px}.help-diagram .dg-box.accent rect{stroke:var(--accent);stroke-width:1.6px}.help-diagram .dg-box.ok rect{fill:var(--ok-bg);stroke:var(--ok);stroke-width:1.6px}.help-diagram .dg-title{fill:var(--text);font-size:13px;font-weight:600}.help-diagram .dg-sub{fill:var(--text-muted);font-size:11px}.help-diagram .dg-arrow{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.help-diagram .dg-arrow.dashed{stroke-dasharray:5 4}.help-diagram .dg-head{fill:var(--border-strong)}.help-diagram .dg-label{fill:var(--text-muted);font-size:11px}.help-diagram.pd .pd-body{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.6px}.help-diagram.pd .pd-thing{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.4px}.help-diagram.pd .pd-panel{fill:none;stroke:var(--border);stroke-width:1.2px}.help-diagram.pd .pd-panel.ok{stroke:var(--ok)}.help-diagram.pd .pd-panel.bad{stroke:var(--danger)}.help-diagram.pd .pd-lid{fill:var(--surface-3,var(--surface-2));stroke:var(--border-strong);stroke-width:1.6px}.help-diagram.pd .pd-lid.open{fill:var(--accent-soft);stroke:var(--accent)}.help-diagram.pd .pd-slot,.help-diagram.pd .pd-hole,.help-diagram.pd .pd-screen{fill:var(--border-strong)}.help-diagram.pd .pd-led{fill:var(--ok)}.help-diagram.pd .pd-button{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.2px}.help-diagram.pd .pd-roll{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.6px}.help-diagram.pd .pd-core{fill:var(--surface-2);stroke:var(--border-strong)}.help-diagram.pd .pd-strip{fill:#fff;stroke:#6b7787;stroke-width:1.2px}.help-diagram.pd .pd-mark{fill:#14181f;stroke:#6b7787;stroke-width:.8px}.help-diagram.pd .pd-sensor{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.4px}.help-diagram.pd .pd-sight{fill:none;stroke-width:2px;stroke-dasharray:4 3}.help-diagram.pd .pd-sight.ok{stroke:var(--ok)}.help-diagram.pd .pd-sight.bad{stroke:var(--danger)}.help-diagram.pd .pd-tick{fill:none;stroke:var(--ok);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.help-diagram.pd .pd-cross path{fill:none;stroke:var(--danger);stroke-width:5px;stroke-linecap:round}.help-diagram.pd .pd-cable{fill:none;stroke:var(--border-strong);stroke-width:2.2px;stroke-linecap:round}.help-diagram.pd .pd-cable.usb{stroke:var(--accent)}.help-diagram.pd .pd-head{fill:var(--border-strong)}.help-diagram.pd .pd-num circle{fill:var(--accent)}.help-diagram.pd .pd-num text{fill:var(--accent-fg);font-size:15px;font-weight:700}.help-diagram.pd .pd-cap{fill:var(--text);font-size:13px;font-weight:600}.help-diagram.pd .pd-note{fill:var(--text-muted);font-size:11.5px}.help-diagram.pd .pd-clic{fill:var(--accent);font-size:12px;font-weight:700}.help-diagram.pd .pd-verdict{font-size:14px;font-weight:700}.help-diagram.pd .pd-verdict.ok{fill:var(--ok)}.help-diagram.pd .pd-verdict.bad{fill:var(--danger)}.mode-switch{border:1px solid var(--border);border-radius:100px;display:inline-flex;overflow:hidden}.mode-switch button{background:var(--surface);color:var(--text-muted);border:none;border-radius:0;padding:.35rem .9rem;font-size:.88rem}.mode-switch button+button{border-left:1px solid var(--border)}.mode-switch button[aria-current=true]{background:var(--accent);color:var(--accent-fg);font-weight:600}.designer{gap:.9rem;display:grid}.designer-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.designer-toolbar .btn-secondary{padding:.3rem .65rem;font-size:.85rem}.designer-sep{background:var(--border);width:1px;height:1.4rem;margin:0 .25rem}.designer-check{white-space:nowrap;align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.designer-check input{width:auto;margin:0}.designer-canvas-wrap{background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:1px;overflow:auto}.designer-canvas-wrap:focus-visible{box-shadow:var(--ring)}.designer-canvas{-webkit-user-select:none;user-select:none;touch-action:none;display:block}.designer-canvas text{-webkit-user-select:none;user-select:none;pointer-events:none}.designer-agent-note{margin:0;font-size:.85rem}.designer-agent{background:var(--bg-tint);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem;overflow:auto}.designer-agent-head{align-items:center;gap:.8rem;margin-bottom:.5rem;display:flex}.designer-agent-head .btn-secondary{margin-left:auto;padding:.25rem .6rem;font-size:.82rem}.designer-agent-img{max-width:none;image-rendering:pixelated;border:1px solid var(--border-strong);background:#fff;display:block}.designer-side{grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr);align-items:start;gap:1rem;display:grid}@media (width<=760px){.designer-side{grid-template-columns:1fr}}.designer-side-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.designer-list,.designer-props{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem}.designer-item{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius-sm);align-items:center;gap:.5rem;margin-bottom:.3rem;padding:.4rem .55rem;font-size:.85rem;display:flex}.designer-item:hover{border-color:var(--accent)}.designer-item[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.designer-item-id{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem}.designer-item-detail{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.designer-item-actions span{color:var(--text-muted);cursor:pointer;padding:0 .25rem}.designer-item-actions span[aria-disabled=true]{opacity:.3;pointer-events:none}.designer-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3);color:var(--text-muted);border-radius:3px;flex-shrink:0;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.designer-badge.barcode{background:var(--accent-soft);color:var(--brand-ink)}.designer-badge.text{background:var(--ok-bg);color:var(--ok)}.designer-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:start;gap:.6rem;margin-bottom:.6rem;display:grid}.tpl-warning{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);border-radius:var(--radius,6px);margin:.2rem 0 .35rem;padding:.3rem .5rem;font-size:.75rem}.designer-encoded{word-break:break-all;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,6px);padding:.35rem .5rem;font-size:.78rem}.designer-chips{flex-wrap:wrap;gap:.3rem;display:flex}.designer-chip{color:var(--text);background:var(--surface-3,var(--surface-2));border:1px solid var(--border);cursor:grab;border-radius:999px;padding:.22rem .5rem;font-size:.75rem;line-height:1.3}.designer-chip:hover{border-color:var(--brand);color:var(--brand)}.designer-chip.is-on{color:var(--accent-fg);background:var(--accent);border-color:var(--accent);font-weight:600}.designer-chip.is-on:hover{color:var(--accent-fg);background:var(--accent-hover);border-color:var(--accent-hover)}.designer-chip:active{cursor:grabbing}.designer-grid .field+.field,.inline-form .field+.field{margin-top:0}.designer-props .field{margin-bottom:.6rem}.designer-props .field label,.designer-grid .field label{font-size:.72rem}.designer-props input,.designer-props select{padding:.35rem .5rem;font-size:.88rem}.split-editor{grid-template-columns:minmax(220px,1fr) minmax(0,3.2fr)}@media (width<=900px){.split-editor{grid-template-columns:1fr}}.designer-sample{margin-top:.9rem;font-size:.88rem}.designer-sample summary{cursor:pointer;color:var(--text-muted)}.designer-sample textarea{margin-top:.5rem;font-size:.8rem}.login-foot{border-top:1px solid var(--border);justify-content:center;margin-top:1.25rem;padding-top:1rem;display:flex}.designer-canvas .dg-ruler-bg{fill:var(--surface-3)}.designer-canvas .dg-ruler-tick{stroke:var(--text-muted)}.designer-canvas .dg-ruler-edge{stroke:var(--border-strong)}.designer-canvas .dg-ruler-text{fill:var(--text-muted);font-family:inherit}.designer-canvas .dg-ruler-sel{fill:var(--accent);opacity:.28}.designer-size{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.designer-size input[type=number]{width:4.6rem;padding:.25rem .4rem;font-size:.85rem}.designer-size select{width:auto;margin-left:.35rem;padding:.25rem .4rem;font-size:.85rem}.designer-size .designer-check{gap:0}.designer-add-field{width:auto;min-width:11rem;padding:.3rem .5rem;font-size:.85rem}.history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.history-head h2{margin:0}.history-search{flex:16rem;max-width:22rem}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;font-size:.88rem;display:flex}.pager-size{align-items:center;gap:.4rem;display:inline-flex}.pager-size select{width:auto}.pager-nav{align-items:center;gap:.6rem;display:inline-flex}.reprint-dialog{width:min(40rem,94vw)}.reprint-correction{border-top:1px solid var(--border);margin-top:1rem;padding-top:.9rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.2rem .9rem;display:grid}.is-changed{background:color-mix(in srgb, var(--warn) 10%, transparent);border-color:var(--warn)!important}.reader-test-dialog{width:min(42rem,94vw)}.reader-waiting{border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);align-items:flex-start;gap:.7rem;margin:.4rem 0 .9rem;padding:.8rem .9rem;display:flex}.reader-waiting .spinner{margin-top:.15rem}.reader-read{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.6rem;padding:.75rem .9rem}.reader-read.is-latest{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.reader-read-head{justify-content:space-between;gap:.6rem;margin-bottom:.45rem;display:flex}.reader-read-fields{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.35rem .9rem;margin:0 0 .5rem;display:grid}.reader-read-fields dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.reader-read-fields dd{margin:0;font-weight:600}.reader-read .banner{margin:.4rem 0;padding:.5rem .7rem;font-size:.86rem}.reader-read details{margin-top:.4rem}.reader-read summary{cursor:pointer;color:var(--text-muted);font-size:.84rem}.upload-package{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.3rem .7rem;font-size:.85rem;display:inline-block}.upload-package:hover{border-color:var(--accent);color:var(--accent)}.upload-package input{display:none}.license-key{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.license-key code{letter-spacing:.03em;font-size:.92rem}.license-key .btn-secondary{padding:.2rem .55rem;font-size:.78rem}.license-key.is-large code{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);padding:.35rem .7rem;font-size:1.35rem;font-weight:600}.license-issued{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-bottom:1.25rem;padding:1rem 1.2rem;display:flex}.license-issued>div{flex:18rem}.license-issued p{margin:.3rem 0 0}
