:root{--navy:#1b3a4b;--navy-deep:#122833;--navy-soft:#243f4f;--accent:#c4a35a;--accent-hover:#d4b56e;--accent-muted:#c4a35a2e;--surface:#f4f6f8;--card:#fff;--text:#1a2a33;--text-muted:#5a6d78;--border:#d5dde3;--danger:#b33a3a;--hold:#c47a2a;--hold-bg:#fff4e5;--queued-bg:#eef2f5;--progress-bg:#e7f0f6;--done-bg:#e8f3ea;--shadow:0 8px 24px #1b3a4b1f;--radius:10px;--sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:16px/1.45 var(--sans);color:var(--text);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{background:var(--surface);min-height:100vh;margin:0}#root{text-align:left;border:none;width:100%;max-width:none;min-height:100vh;margin:0}h1,h2,h3{font-family:var(--sans);color:var(--navy);margin:0;font-weight:650}p{margin:0}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:radial-gradient(1200px 400px at 10% -10%, #c4a35a1f, transparent 60%), var(--surface);flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--navy);color:#f7f4ee;border-bottom:3px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.header-brand{align-items:center;gap:.9rem;display:flex}.brand-mark{background:var(--accent);width:48px;height:48px;color:var(--navy-deep);letter-spacing:.04em;border-radius:10px;place-items:center;font-size:.95rem;font-weight:800;display:grid}.app-title{color:#fff;font-size:1.35rem;line-height:1.2}.brand-line{color:#f7f4eec7;margin-top:.15rem;font-size:.85rem}.header-actions{flex-wrap:wrap;gap:.6rem;display:flex}.app-main{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:1.25rem 1.5rem 2rem}.board-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:.85rem;display:flex}.section-title{font-size:1.25rem}.section-sub{color:var(--text-muted);margin-top:.25rem}.toolbar-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.control{flex-direction:column;gap:.3rem;min-width:160px;display:flex}.control-label{letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-size:.75rem;font-weight:650}.control input,.control select,.status-move select,.job-form input,.job-form select,.job-form textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:.55rem .7rem}.control input:focus,.control select:focus,.status-move select:focus,.job-form input:focus,.job-form select:focus,.job-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.clear-filters{align-self:flex-end}.board-summary{color:var(--text-muted);margin-bottom:1rem;font-size:.95rem}.hold-callout{color:var(--hold);font-weight:700}.kanban{grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;gap:.9rem;display:grid}@media (width<=1100px){.kanban{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (width<=640px){.kanban{grid-template-columns:1fr}}.kanban-col{border:1px solid var(--border);border-radius:var(--radius);background:#eef2f5;flex-direction:column;min-height:280px;display:flex;overflow:hidden}.kanban-queued{border-top:4px solid #7a90a0}.kanban-in-progress{border-top:4px solid #3d7ea6}.kanban-hold{border-top:4px solid var(--hold);background:#fff8ef}.kanban-done{border-top:4px solid #3f8f57}.kanban-col-header{border-bottom:1px solid var(--border);background:#ffffffa6;justify-content:space-between;align-items:center;padding:.7rem .85rem;display:flex}.kanban-col-header h3{text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.kanban-count{background:var(--navy);color:#fff;border-radius:999px;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;font-size:.8rem;font-weight:700;display:inline-grid}.kanban-hold .kanban-count{background:var(--hold)}.kanban-col-body{flex-direction:column;gap:.7rem;padding:.75rem;display:flex}.kanban-empty{color:var(--text-muted);padding:.5rem;font-size:.85rem}.job-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.65rem;padding:.85rem;display:flex;box-shadow:0 2px 8px #1b3a4b0f}.job-card-hold{background:#fffdf9;border-color:#e8c089}.job-card-highlight{outline:3px solid var(--accent);box-shadow:0 0 0 4px var(--accent-muted), var(--shadow)}.job-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.job-number{font-family:var(--mono);color:var(--navy);font-size:1rem;font-weight:700}.job-part{color:var(--text);margin-top:.15rem;font-size:.92rem;font-weight:600;line-height:1.3}.job-meta{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.meta-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.68rem;font-weight:650;display:block}.meta-value{color:var(--text);font-size:.85rem;font-weight:560}.job-notes{color:var(--text-muted);background:var(--queued-bg);border-radius:6px;padding:.45rem .55rem;font-size:.85rem;line-height:1.35}.job-card-hold .job-notes{background:var(--hold-bg);color:#6a3d0f}.job-card-actions{align-items:center;gap:.45rem;display:flex}.status-move{flex:1}.status-move select{width:100%}.status-chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-chip-lg{padding:.28rem .7rem;font-size:.8rem}.chip-queued{color:#355061;background:#dfe7ec}.chip-progress{color:#1f5f82;background:#d5e9f5}.chip-hold{color:#7a4210;background:#ffe2b8}.chip-done{color:#1f6b36;background:#d7efdb}.btn{cursor:pointer;border:none;border-radius:8px;padding:.55rem .9rem;font-weight:650;transition:background .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn-accent{background:var(--accent);color:var(--navy-deep)}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{color:#f7f4ee;background:0 0;border:1px solid #f7f4ee59}.btn-ghost:hover{background:#ffffff14}.clear-filters.btn-ghost,.app-main .btn-ghost{color:var(--navy);border-color:var(--border);background:#fff}.clear-filters.btn-ghost:hover,.app-main .btn-ghost:hover{background:var(--accent-muted)}.btn-secondary{background:var(--navy);color:#fff;padding:.45rem .7rem;font-size:.85rem}.btn-secondary:hover{background:var(--navy-soft)}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);background:#fff;justify-items:center;gap:1rem;padding:3rem 1rem;display:grid}.app-footer{background:var(--navy-deep);color:#f7f4eeb3;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;font-size:.8rem;display:flex}.modal-backdrop{z-index:40;background:#1228338c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{width:min(480px,100%);box-shadow:var(--shadow);border-top:4px solid var(--accent);background:#fff;border-radius:12px;padding:1.25rem}.modal h2{margin-bottom:1rem;font-size:1.2rem}.job-form{gap:.75rem;display:grid}.job-form label{color:var(--navy);gap:.3rem;font-size:.85rem;font-weight:650;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.form-actions .btn-ghost{color:var(--navy);border-color:var(--border);background:#fff}
