:root{--text:#333d4b;--text-h:#111827;--muted:#697386;--bg:#f6f8fb;--surface:#fff;--surface-muted:#f1f4f8;--border:#dbe3ee;--accent:#0f766e;--link:#1457a8;--danger:#b42318;--danger-bg:#fff3f0;--danger-border:#f3b5ad;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font:16px/1.5 var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{letter-spacing:0}h1,h2,h3,p{margin:0}h1{color:var(--text-h);letter-spacing:0;font-size:40px;line-height:1.12}#root{min-height:100svh}@media (width<=720px){h1{font-size:30px}}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.page-header{border-bottom:1px solid var(--border);text-align:left;justify-content:space-between;align-items:flex-end;gap:24px;padding:20px 0 24px;display:flex}.page-header p{max-width:680px}.header-actions,.user-actions{align-items:center;gap:12px;display:flex}.header-actions{align-items:stretch}.user-actions{color:var(--muted);font-size:14px;font-weight:700}.user-actions button{min-width:auto}.queue-header{align-items:stretch}.auth-shell{place-items:center;min-height:100svh;display:grid}.auth-panel{border:1px solid var(--border);text-align:left;background:var(--surface);border-radius:8px;width:min(420px,100%);padding:28px}.auth-panel h1{margin-bottom:22px}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.auth-form input{box-sizing:border-box;border:1px solid var(--border);height:40px;color:var(--text-h);font:inherit;background:#fff;border-radius:6px;padding:0 12px}.auth-form input:focus{border-color:var(--accent);outline:2px solid #2563eb2e}.auth-form .checkbox-field{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.auth-form .checkbox-field input{width:16px;height:16px;padding:0}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700}.back-link{color:var(--muted);margin-bottom:24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover,a:hover{color:var(--accent)}.queue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 0;display:grid}.queue-link{border:1px solid var(--border);min-height:136px;color:var(--text);text-align:left;background:var(--surface);border-radius:8px;flex-direction:column;justify-content:space-between;gap:20px;padding:18px;text-decoration:none;display:flex}.queue-link:hover{border-color:var(--accent);color:var(--text)}.queue-link span{color:var(--text-h);font-size:20px;font-weight:700}.queue-link small{color:var(--muted);font-size:14px;line-height:1.45}.metric{border:1px solid var(--border);text-align:right;background:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;gap:2px;min-width:132px;padding:18px;display:flex}.metric span{color:var(--text-h);font-size:32px;font-weight:750;line-height:1}.metric small{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.table-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:14px;font-weight:600;display:flex}.pagination{gap:8px;display:flex}button{border:1px solid var(--border);min-width:78px;height:36px;color:var(--text-h);font:inherit;background:var(--surface);cursor:pointer;border-radius:6px;padding:0 14px;font-size:14px;font-weight:700}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.notice{border:1px solid var(--border);color:var(--muted);text-align:left;background:var(--surface);border-radius:8px;margin:16px 0;padding:14px 16px}.notice.error{border-color:var(--danger-border);color:var(--danger);background:var(--danger-bg)}.notice.success{color:#066453;background:#edfaf7;border-color:#99d8c9}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:920px}th,td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 14px}th{color:var(--muted);letter-spacing:0;text-transform:uppercase;background:var(--surface-muted);font-size:12px;font-weight:800}td{color:var(--text);font-size:14px}tbody tr:last-child td{border-bottom:0}a{color:var(--link);font-weight:700;text-decoration:none}.item-link{font-family:var(--mono);font-size:13px}.path-value{max-width:360px;color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;font-size:12px;display:inline-block;overflow:hidden}.muted{color:var(--muted)}.primary-button{border-color:var(--accent);color:#fff;background:var(--accent)}.primary-button:hover:not(:disabled){color:#fff;border-color:var(--accent)}.modal-backdrop{z-index:20;background:var(--surface);position:fixed;inset:0}.modal{background:var(--surface);flex-direction:column;width:100vw;height:100svh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 56px 12px 20px;display:flex;position:relative}.modal-header h2{color:var(--text-h);font-size:20px;line-height:1.2}.modal-close-button{border-radius:999px;width:36px;min-width:36px;height:36px;padding:0;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}.modal-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:10px 20px;display:flex}.modal-actions button{min-width:auto}.button-link,.file-upload{border:1px solid var(--border);min-height:36px;color:var(--text-h);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.button-link:hover,.file-upload:hover{border-color:var(--accent);color:var(--accent)}.file-upload{cursor:pointer;gap:10px}.file-upload input{max-width:220px;font:inherit;font-size:13px}.artwork-viewport{cursor:crosshair;touch-action:none;background-color:#f8fafc;background-image:linear-gradient(45deg,#e5e7eb 25%,#0000 25%),linear-gradient(-45deg,#e5e7eb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e5e7eb 75%),linear-gradient(-45deg,#0000 75%,#e5e7eb 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;flex:auto;min-height:0;position:relative;overflow:hidden}.artwork-viewport.is-panning{cursor:grabbing}.artwork-stage{transform-origin:0 0;position:absolute;top:0;left:0}.artwork-stage canvas{-webkit-user-select:none;user-select:none;background:#fff;display:block;box-shadow:0 12px 36px #0f172a2e}.selection-rectangle{pointer-events:none;background:#dc262629;border:2px solid #dc2626;position:absolute}.placement-text-marker{color:#aaa;pointer-events:none;transform-origin:0;white-space:nowrap;font-family:Courier,Courier New,monospace;font-weight:700;line-height:1;position:absolute}@media (width<=900px){.page-header,.table-toolbar{flex-direction:column;align-items:flex-start}.queue-grid{grid-template-columns:1fr}.metric{box-sizing:border-box;text-align:left;width:100%}.header-actions,.user-actions{flex-direction:column;align-items:flex-start;width:100%}.modal-backdrop{padding:0}.modal-header{align-items:flex-start}}
