@font-face{font-family:PrintSystem;src:local("Inter"),local("Arial");font-display:swap}
:root{--blue:#195bea;--navy:#122c56;--ink:#233653;--muted:#708097;--line:#e4eaf3;--paper:#fff;--bg:#f4f7fc;--soft:#edf3ff;--green:#167553;--red:#b53344;--radius:20px;font-family:PrintSystem,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,label,[role=button]{-webkit-tap-highlight-color:transparent}button,[role=button]{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}svg{display:block}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:3px solid #93b4ff;outline-offset:4px}[hidden]{display:none!important}
.topbar{height:94px;max-width:1100px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:var(--navy);font-size:30px;line-height:1;font-weight:780;letter-spacing:-1.5px}.brand-icon{width:44px;height:44px;border-radius:13px;color:#fff;background:var(--blue);display:grid;place-items:center;box-shadow:0 5px 14px #195bea24}.brand-icon svg{width:25px;height:25px}.brand-dot{color:var(--blue)}.brand small{display:block;font-size:8px;letter-spacing:2.8px;margin:6px 0 0 2px;color:var(--muted);font-weight:650}.text-button{color:var(--muted);border:1px solid var(--line);padding:9px 16px;border-radius:10px;background:var(--paper);font-size:13px}.text-button:hover{color:var(--blue);border-color:#bdcff6}
.workspace{max-width:1020px;margin:38px auto 0;padding:0 40px}.heading{display:flex;gap:28px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--blue)}h1{font-size:clamp(26px,3vw,34px);letter-spacing:-1.4px;line-height:1.15;color:var(--navy);margin:12px 0}p{line-height:1.6}.heading p{font-size:14px;color:var(--muted);margin:0}.printer-state{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:50px;color:var(--muted);background:#fff;font-size:11px;white-space:nowrap;margin-bottom:2px}.status-dot{height:7px;width:7px;flex:0 0 auto;border-radius:50%;background:#a8b6c9}.printer-state.online{border-color:#d4eade;color:var(--green)}.printer-state.online .status-dot{background:#20a875;box-shadow:0 0 0 3px #20a87512}.printer-state.offline{color:#9b6419;background:#fff9ed;border-color:#f4e4c7}.printer-state.offline .status-dot{background:#cc8b2e}
.print-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px 28px 0;box-shadow:0 10px 40px #142d5412}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}h2{color:var(--navy);font-weight:680;letter-spacing:-.3px;font-size:17px;margin:0}.muted{color:var(--muted);font-size:12px;margin:6px 0 0}.orientation{margin:0;border:0;padding:0}.orientation legend{font-size:10px;color:var(--muted);margin-bottom:8px;text-align:right;width:100%}.segmented{display:flex;gap:3px;background:#f0f4fa;padding:4px;border-radius:11px}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-size:12px;color:var(--muted);border-radius:8px;min-width:109px;transition:background .16s,color .16s}.segmented svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}.segmented input:checked+span{background:#fff;color:var(--blue);box-shadow:0 2px 6px #183e7612;font-weight:650}.segmented input:focus-visible+span{outline:3px solid #93b4ff;outline-offset:1px}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:282px;border:1.5px dashed #b7ccef;background:linear-gradient(145deg,#f8faff,#f0f5ff);border-radius:14px;padding:28px 16px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#eaf1ff}.upload-icon{width:58px;height:58px;border-radius:17px;background:#e4edff;color:var(--blue);display:grid;place-items:center;margin-bottom:16px}.upload-icon svg{width:32px;height:32px}.dropzone h3{font-size:18px;color:var(--navy);font-weight:650;letter-spacing:-.4px;margin:0}.dropzone p{font-size:12px;color:var(--muted);margin:8px 0 17px}.choose-button{display:flex;gap:22px;align-items:center;background:var(--blue);color:#fff;padding:12px 20px;border-radius:9px;font-size:12px;font-weight:600;box-shadow:0 4px 10px #195bea20}.dropzone small{font-size:10px;color:#7b8ca6;margin-top:18px;text-align:center}.print-facts{display:flex;align-items:center;gap:22px;padding:22px 0 16px;font-size:11px;color:#667792;flex-wrap:wrap}.print-facts>span{display:flex;align-items:center;gap:7px}.mono-icon{width:11px;height:11px;border:1px solid #748199;border-radius:50%;background:linear-gradient(90deg,#748199 50%,#fff 50%)}.print-facts .auto-fact{margin-left:auto;color:var(--green)}.auto-fact:before{content:"";width:5px;height:5px;border-radius:50%;background:#29a476}.orientation-note{border-top:1px solid #edf1f7;color:#8794a7;padding:12px 0;margin:0;font-size:10px}
.uploads{display:grid;gap:10px;margin-top:18px}.transfer{padding:14px 18px;border:1px solid #d5e1fa;border-radius:12px;background:#fff;font-size:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.transfer strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.transfer p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}.transfer.failed{border-color:#f2d5da}.transfer.failed p{color:var(--red)}.transfer progress{grid-column:1/-1;width:100%;height:4px;border:0;accent-color:var(--blue)}.transfer button{grid-column:2;font-size:11px;background:var(--soft);border:0;color:var(--blue);padding:6px 12px;border-radius:7px;grid-row:1}.history{margin-top:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading h2{font-size:16px}.section-heading .muted{font-size:10px;margin:0}.job{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}.file-badge{width:36px;height:42px;border:1px solid #dce5f2;border-radius:8px;background:#fff;color:#6581aa;display:grid;place-items:center;font-size:9px;font-weight:750;text-transform:uppercase}.job-info{min-width:0}.job-name{font-size:13px;font-weight:570;margin:0;overflow-wrap:anywhere}.job-meta{font-size:10px;color:#8b98ad;margin:5px 0 0}.job-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.job-status{font-size:10px;white-space:nowrap;border-radius:6px;padding:5px 8px;background:#e8effd;color:#356ac8}.job-status.done{background:#e6f5ec;color:#207251}.job-status.failed,.job-status.uncertain,.job-status.unconfirmed{background:#fff0f0;color:#b23f4d}.job-status.cancelled{background:#e9edf2;color:#7d8794}.job-error{grid-column:2/-1;font-size:11px;color:#ac4b55;margin:0;line-height:1.5;max-width:620px}.cancel-job{background:transparent;border:0;padding:0;color:#8b98ad;font-size:10px;text-decoration:underline;text-underline-offset:3px}.empty-state{padding:35px 0 30px;text-align:center;border:1px solid var(--line);border-radius:14px;background:#ffffff65}.empty-state>span{color:#a7bddc;font-size:29px}.empty-state p{font-size:12px;color:#6c7e99;margin:10px 0 2px}.empty-state small{font-size:10px;color:#98a5b8}.page-error{background:#fff3e4;border:1px solid #f1dfc5;color:#8d612c;border-radius:10px;padding:13px 16px;font-size:12px}
footer{max-width:1020px;margin:42px auto 0;padding:22px 40px 30px;color:#98a5b8;font-size:10px;display:flex;gap:8px;border-top:1px solid #e8edf5}.version{margin-left:auto}.login-wrap{min-height:calc(100vh - 220px);display:grid;place-items:center;padding:30px 20px}.login-card{width:min(100%,420px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 50px #142d5410}.login-card h1{font-size:37px;line-height:1.15;margin:17px 0}.login-card>p{font-size:13px;color:var(--muted);margin-bottom:27px}.login-card label{font-size:12px;display:block;margin:15px 0 8px}.login-card input{width:100%;border:1px solid #ccd8eb;border-radius:10px;padding:13px 12px;color:var(--ink);background:#fbfcff}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;background:var(--blue);color:#fff;border:0;border-radius:10px;font-size:13px;font-weight:600;margin-top:16px}.login-card .small-note{font-size:10px;margin:24px 0 0;text-align:center}.form-error{font-size:12px;color:var(--red);margin:14px 0 0}
@media(max-width:680px){.topbar{height:78px;padding:0 22px}.workspace{padding:0 20px;margin-top:20px}.heading{display:block;margin-bottom:22px}.heading h1{font-size:27px}.heading p{font-size:12px}.printer-state{display:inline-flex;margin-top:17px;font-size:10px}.print-card{padding:22px 18px 0;border-radius:17px}.settings-row{display:block;margin-bottom:20px}.orientation{margin-top:20px}.orientation legend{text-align:left}.segmented{width:100%}.segmented label{flex:1}.segmented span{min-width:0;padding:11px 10px}.dropzone{min-height:266px;padding:25px 9px}.dropzone h3{font-size:17px}.dropzone p{font-size:11px}.dropzone small{max-width:210px;line-height:1.7}.print-facts{gap:13px;font-size:10px;justify-content:center}.print-facts .auto-fact{margin:0;width:100%;justify-content:center}.orientation-note{text-align:center;font-size:9px}.job{grid-template-columns:31px minmax(0,1fr) auto;gap:9px}.file-badge{width:30px;height:37px;font-size:8px}.job-name{font-size:12px}.job-meta{font-size:9px}.job-status{font-size:9px;padding:5px 6px}.job-error{font-size:10px}.history{margin-top:27px}footer{padding:20px;margin-top:30px;font-size:9px}.version{display:none}.login-card{padding:30px}.eyebrow{font-size:9px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
