:root{color-scheme:dark;font-family:Inter,Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f0f4f2;background:#151a1d;--factory-bg: #151a1d;--factory-surface: #1f2529;--factory-panel: #262d32;--factory-panel-2: #303840;--factory-line: #47525c;--factory-text: #f0f4f2;--factory-muted: #aeb9bc;--factory-brand: #ddb15a;--factory-brand-deep: #9f7339;--factory-amber: #d8a13a;--factory-green: #4fb979;--factory-red: #df6661;--factory-cyan: #5bb8d6;--factory-done: #9f8cc2;--shadow-overlay: 0 18px 48px rgba(5, 8, 10, .34)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:var(--factory-bg)}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}.eyebrow{color:var(--factory-brand);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.top-user,.titlebar-actions,.admin-user,.row-actions,.form-actions,.sidebar-actions{display:flex;align-items:center;gap:10px}.row-actions{justify-content:center;gap:6px}.portal-shell{display:grid;min-height:100vh;place-items:center;padding:28px;background:linear-gradient(115deg,#1f2529f5,#151a1dfa),repeating-linear-gradient(90deg,rgba(240,244,242,.045) 0 1px,transparent 1px 92px)}.portal-hero{width:min(980px,100%)}.portal-logo{width:min(280px,72vw);height:auto;margin-bottom:42px}.portal-logo.compact{width:220px;margin-bottom:28px}.top-user{float:right;padding:8px 10px;border:1px solid var(--factory-line);border-radius:8px;color:var(--factory-muted);background:#1f2529b8;font-weight:800}.icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-muted);background:var(--factory-panel);cursor:pointer}.icon-button:hover{color:var(--factory-text);border-color:var(--factory-brand)}.portal-hero h1{margin-top:10px;font-size:clamp(34px,6vw,64px);font-weight:900;line-height:1.05}.portal-copy{max-width:720px;margin-top:18px;color:var(--factory-muted);font-size:18px;font-weight:700;line-height:1.7}.portal-actions{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;margin-top:36px}.portal-tile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;min-height:136px;padding:22px;border:1px solid var(--factory-line);border-radius:8px;color:var(--factory-text);text-align:left;background:var(--factory-surface);box-shadow:var(--shadow-overlay);cursor:pointer}.portal-tile:disabled{opacity:.55;cursor:not-allowed}.portal-tile.primary{border-color:#5bb8d69e}.portal-tile:hover{border-color:var(--factory-brand);background:var(--factory-panel)}.portal-tile strong,.portal-tile small{display:block}.portal-tile strong{font-size:24px;font-weight:900}.portal-tile small{margin-top:8px;color:var(--factory-muted);font-size:15px;font-weight:700}.tile-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:8px;background:var(--factory-panel)}.tile-icon.cyan{color:var(--factory-cyan);border:1px solid rgba(91,184,214,.62)}.tile-icon.gold{color:var(--factory-brand);border:1px solid rgba(221,177,90,.62)}.tile-icon.green{color:#69c082;border:1px solid rgba(105,192,130,.62)}.login-shell{align-items:center;padding:32px;background:linear-gradient(115deg,#111518eb,#11151894),linear-gradient(180deg,#1115182e,#111518e0),url(/login-factory-hero.png) center / cover}.login-stage{display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,440px);gap:28px;width:min(1040px,100%);align-items:stretch}.login-intro{position:relative;overflow:hidden;display:flex;min-height:520px;flex-direction:column;justify-content:space-between;padding:36px;border:1px solid rgba(240,244,242,.14);border-radius:8px;background:linear-gradient(180deg,#1115181f,#111518e0),linear-gradient(90deg,#11151866,#11151814),url(/login-factory-hero.png) center / cover;box-shadow:0 18px 48px #05080a33;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-intro>*{position:relative;z-index:1}.login-brand-lockup{display:flex;align-items:flex-start;justify-content:flex-end}.login-brand-lockup .portal-logo{width:min(300px,62vw);margin-bottom:0;filter:drop-shadow(0 10px 24px rgba(0,0,0,.34))}.login-title-block{max-width:520px;padding-top:28px}.login-intro h1{max-width:520px;margin-top:10px;font-size:clamp(42px,5.8vw,64px);font-weight:950;line-height:1.04}.login-panel{display:flex;width:100%;min-height:520px;flex-direction:column;justify-content:center;padding:34px;border:1px solid var(--factory-line);border-radius:8px;background:#1f2529f5;box-shadow:var(--shadow-overlay)}.login-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:30px}.login-icon{display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(221,177,90,.56);border-radius:8px;color:var(--factory-brand);background:#ddb15a14}.login-panel h2{margin-top:5px;font-size:28px;line-height:1.1}.login-fields{display:grid;gap:18px}.demo-entry{display:grid;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid var(--factory-line);text-align:center}.demo-entry small{color:var(--factory-text-muted);line-height:1.5}.ghost-button,.titlebar-button,.primary-button,.secondary-button,.table-action,.icon-table-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-muted);background:var(--factory-panel);font-weight:800;cursor:pointer}.primary-button{border-color:#5bb8d69e;color:#0e171b;background:var(--factory-cyan)}.secondary-button,.table-action{color:#273038;background:#fff}.table-action{min-height:34px;padding:0 10px;font-size:13px}.icon-table-action{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;color:#22303a;background:#fff}.table-action.danger{color:#7c2521;border-color:#df666173;background:#fff3f2}.table-action.success,.icon-table-action.success{color:#155833;border-color:#4fb97973;background:#effaf3}.icon-table-action.danger{color:#7c2521;border-color:#df666173;background:#fff3f2}.icon-table-action:disabled{color:#8c9690;border-color:#d7dad3;background:#eef0eb;cursor:not-allowed}.ghost-button{margin-top:18px}.ghost-button:hover,.titlebar-button:hover{color:var(--factory-text);border-color:var(--factory-brand)}.kanban-display{display:grid;grid-template-rows:64px auto minmax(0,1fr);height:100dvh;min-height:100vh;background:var(--factory-bg)}.kanban-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid var(--factory-line);background:#111518}.titlebar-brand{display:flex;align-items:center;gap:12px;min-width:0}.titlebar-brand img{width:38px;height:38px}.titlebar-brand h1{font-size:24px;font-weight:900;line-height:1.1}.kanban-today{display:grid;gap:2px;color:var(--factory-muted);font-size:11px}.kanban-today strong{color:var(--factory-text);font-size:14px}.kanban-user{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-icon-button{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-muted);background:var(--factory-panel);cursor:pointer}.kanban-icon-button:hover:not(:disabled){color:var(--factory-text);border-color:var(--factory-brand)}.kanban-icon-button:disabled{cursor:wait;opacity:.65}.kanban-create-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid var(--factory-brand);border-radius:6px;color:#15191c;background:var(--factory-brand);font-weight:900;cursor:pointer}.kanban-lane-tabs{display:none}.kanban-view-toolbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:14px;padding:6px 12px;border-bottom:1px solid var(--factory-line);background:#171c1f}.kanban-mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--factory-line);border-radius:6px;background:#101416}.kanban-mode-switch button{display:inline-flex;min-width:112px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:4px;color:var(--factory-muted);background:transparent;font-weight:900;cursor:pointer}.kanban-mode-switch button.active{color:#101518;background:var(--factory-brand)}.work-station-filter{display:flex;align-items:center;gap:9px;color:var(--factory-muted);font-size:12px;font-weight:800}.work-station-filter select{min-width:190px;min-height:34px;padding:0 32px 0 10px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:var(--factory-panel);font:inherit;font-size:14px}.work-station-board{display:grid;grid-template-columns:repeat(var(--work-station-columns),minmax(0,1fr));grid-auto-rows:var(--work-station-row-height);align-content:start;gap:var(--work-station-row-gap, 12px);min-height:0;padding:12px;overflow-y:auto}.work-station-card{--station-accent: 214, 224, 229;--station-accent-strong: #e5edf1;--station-hover: 221, 177, 90;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:0;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid rgba(var(--station-accent),.34);border-radius:7px;color:var(--factory-text);background:linear-gradient(135deg,rgba(var(--station-accent),.09),transparent 38%),linear-gradient(180deg,#171d21fa,#0b1014fa);box-shadow:inset 0 0 28px rgba(var(--station-accent),.04),0 10px 28px #00000042;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,outline-color .15s ease,transform .15s ease}.kanban-today .date-picker-field{min-width:152px}.kanban-today .date-picker-field input{min-height:38px;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-text);background:var(--factory-panel)}.kanban-today .date-picker-button{border-color:var(--factory-line);color:var(--factory-text);background:#1a2227}.work-station-card.state-has_in_progress{--station-accent: 91, 184, 214;--station-accent-strong: #9ee8ff;border-color:rgba(var(--station-accent),.72);box-shadow:inset 0 0 32px rgba(var(--station-accent),.07),0 0 18px rgba(var(--station-accent),.18)}.work-station-card.state-on_hold,.work-station-card.state-stopped{--station-accent: 255, 74, 78;--station-accent-strong: #ffd0cd;border-color:rgba(var(--station-accent),.74);box-shadow:inset 0 0 32px rgba(var(--station-accent),.08),0 0 18px rgba(var(--station-accent),.18)}.work-station-card.selectable:hover{border-color:rgba(var(--station-hover),.92);outline:2px solid rgba(var(--station-hover),.34);outline-offset:-3px;transform:translateY(-2px);box-shadow:inset 0 0 34px rgba(var(--station-accent),.12),0 0 0 1px rgba(var(--station-hover),.26),0 0 24px rgba(var(--station-hover),.18),0 14px 34px #00000057}.work-station-card.selectable:hover .work-station-header{border-bottom-color:#ddb15ab3}.work-station-card.selectable:hover .work-station-count{color:#fff7e6;border-color:rgba(var(--station-hover),.34);background:rgba(var(--station-hover),.16)}.work-station-header{grid-row:1;min-width:0}.work-station-body{grid-row:2;min-width:0;min-height:0}.work-station-header,.work-station-select,.work-station-lights,.work-station-lights span{display:flex;align-items:center;gap:6px}.work-station-header{justify-content:space-between;gap:10px;min-height:56px;padding:11px 12px 9px;border-bottom:1px solid rgba(var(--station-accent),.32);background:linear-gradient(90deg,rgba(var(--station-accent),.11),transparent 64%),#09101657}.work-station-select{display:flex;flex:1 1 0;min-width:0;width:0;align-items:center;gap:6px;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.work-station-select:disabled{cursor:not-allowed}.work-station-header svg{flex:0 0 auto;width:22px;height:22px;padding:3px;border:1px solid rgba(221,177,90,.58);border-radius:5px;color:#ffe0a0;background:#ddb15a2e}.work-station-header h2{flex:1 1 auto;min-width:0;margin:0;overflow:hidden;font-size:clamp(20px,1.5vw,27px);line-height:1.12;color:#fff6df;text-overflow:ellipsis;white-space:nowrap}.work-station-count{flex:none;min-height:30px;padding:4px 10px;border-radius:5px;color:var(--station-accent-strong);border:1px solid rgba(var(--station-accent),.14);background:rgba(var(--station-accent),.09);box-shadow:inset 0 0 14px rgba(var(--station-accent),.04);font-size:clamp(15px,1.05vw,18px);font-weight:900;white-space:nowrap}.work-station-count.is-empty{color:#aeb9bc;background:#aeb9bc14}.work-station-count.has-progress{color:var(--station-accent-strong);background:rgba(var(--station-accent),.16)}.work-station-body{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:10px 12px 12px}.work-station-lights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;color:var(--factory-text);font-size:clamp(15px,1.12vw,18px);font-weight:900}.work-station-lights span{position:relative;min-height:38px;min-width:0;padding:6px 10px 6px 28px;justify-content:center;overflow:hidden;border:1px solid rgba(123,140,151,.46);border-radius:5px;background:#1e272ed1;box-shadow:inset 0 0 18px #ffffff08;text-overflow:ellipsis;white-space:nowrap}.work-station-lights span:before{position:absolute;left:10px;width:9px;height:9px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px #ffffff0f,0 0 12px currentColor;content:""}.work-station-light-prefix{color:#ebf3f7ad;font-size:11px;font-weight:900;letter-spacing:.08em;flex:0 0 auto}.work-station-lights .job-stopped,.work-station-lights .iot-offline{color:#d8dfe3;border-color:#66727a;background:#30383d}.work-station-lights .job-stopped:before,.work-station-lights .iot-offline:before{box-shadow:0 0 0 3px #d8dfe312}.work-station-lights .job-on_hold{color:#ffe3ae;border-color:#e5bb5cd1;background:#a174184d}.work-station-lights .iot-abnormal{color:#ffd5d2;border-color:#df6661d1;background:#a8413b52}.work-station-lights .job-has_in_progress,.work-station-lights .iot-machining{color:#d8f5ff;border-color:#5bb8d6d1;background:#2b79926b}.work-station-lights .job-empty,.work-station-lights .iot-idle_waiting{color:#ffe9bf;border-color:#e5bb5cd1;background:#a1741847}.work-station-hold{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid rgba(229,187,92,.45);border-radius:5px;color:#ffe4af;background:#a1741829;font-size:14px;font-weight:800}.work-station-hold span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-station-jobs{display:grid;align-content:stretch;gap:8px;min-height:0;overflow:hidden}.work-station-actions{display:flex;flex-wrap:wrap;gap:6px}.work-station-action{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:var(--factory-panel-2);font-weight:900;cursor:pointer}.work-station-action.danger{color:#ffd0cd;border-color:#df6661a6;background:#df666124}.work-station-action:disabled{cursor:not-allowed;opacity:.5}.work-station-card.summary-empty .work-station-jobs{min-height:100%}.work-station-card.summary-empty .work-station-body{grid-template-rows:auto auto minmax(160px,1fr)}.work-station-job-card{display:grid;min-width:0;gap:8px;padding:10px 12px;border:2px solid rgba(91,184,214,.82);border-radius:5px;box-shadow:inset 0 0 24px #5bb8d614,0 0 16px #5bb8d638;background:linear-gradient(135deg,rgba(91,184,214,.16),transparent 48%),linear-gradient(180deg,#121f25fa,#11181cfc)}.work-station-job-card.tone-danger{border-color:#e5bb5ce0;box-shadow:inset 0 0 26px #e5bb5c17,0 0 17px #e5bb5c38;background:linear-gradient(135deg,rgba(229,187,92,.18),transparent 48%),linear-gradient(180deg,#2c2412f7,#14161bfc)}.work-station-job-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.work-station-job-emblem{display:grid;width:26px;height:26px;place-items:center;border-radius:4px;color:#9ee8ff;background:#5bb8d633}.work-station-job-card.tone-danger .work-station-job-emblem{color:#ffd27a;background:#e5bb5c33}.work-station-job-title strong{min-width:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#fff7e6;font-size:20px;font-weight:900;line-height:1.18}.work-station-job-quantity{color:#9ee8ff;font-size:20px;font-weight:900;white-space:nowrap}.work-station-job-card.tone-danger .work-station-job-quantity{color:#ffd27a}.work-station-job-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0}.work-station-job-card.tone-danger .work-station-job-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.work-station-job-facts div{display:grid;min-width:0;gap:4px}.work-station-job-facts dt{color:var(--factory-muted);font-size:13px;font-weight:800}.work-station-job-facts dd{display:flex;min-width:0;align-items:center;gap:6px;margin:0;color:#f2fcff;font-size:15px;font-weight:900}.work-station-job-facts dd.disabled{color:var(--factory-muted)}.work-station-job-facts .hold-reason dd{color:#ffe4af}.work-station-job-facts dd span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-station-card.summary-single .work-station-job-card{min-height:0;padding:12px 14px}.work-station-card.summary-single .work-station-job-title strong{font-size:22px}.work-station-card.summary-multiple .work-station-jobs{overflow-y:auto}.work-station-card.summary-multiple .work-station-job-card{gap:7px;padding:9px 11px}.work-station-card.summary-multiple .work-station-job-title{padding-bottom:7px}.work-station-card.summary-multiple .work-station-job-title strong,.work-station-card.summary-multiple .work-station-job-quantity{font-size:18px}.work-station-card.summary-multiple .work-station-job-facts dd{font-size:14px}.work-station-empty{display:flex;flex-direction:column;min-height:100%;margin:0;padding:22px;align-items:center;justify-content:center;gap:10px;border:1px dashed rgba(214,224,229,.42);border-radius:5px;color:#d8dfe3;text-align:center;background:radial-gradient(circle at center,rgba(214,224,229,.07),transparent 42%),#00000024}.work-station-empty svg{width:48px;height:48px;color:#d6e0e5b8}.work-station-empty strong{color:#e5edf1;font-size:21px;font-weight:900}.work-station-empty span{color:var(--factory-muted);font-size:15px}.work-station-state{display:grid;min-height:260px;place-items:center;align-content:center;gap:12px;color:var(--factory-muted);font-weight:800}.work-station-state.error{color:#f0aaa6}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px;min-height:0;padding:12px;overflow:hidden}.kanban-action-error{margin:10px 12px 0;padding:9px 12px;border:1px solid rgba(223,102,97,.65);border-radius:5px;color:#ffd0cd;background:#df66611f;font-size:13px;font-weight:800}.kanban-action-notice{margin:0 18px 12px;padding:10px 12px;border:1px solid rgba(79,185,121,.7);border-radius:5px;color:#ccefd8;background:#4fb97921;font-weight:800}.kanban-lane{display:grid;grid-template-rows:62px minmax(0,1fr);min-width:0;min-height:0;border:1px solid var(--factory-line);border-radius:8px;background:var(--factory-surface);overflow:hidden}.lane-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-bottom:1px solid var(--factory-line);background:linear-gradient(135deg,rgba(174,185,188,.12),transparent 46%),#151a1d}[data-lane=todo] .lane-heading{border-bottom-color:#aeb9bc3d;background:linear-gradient(135deg,rgba(174,185,188,.13),transparent 48%),#161a1d}[data-lane=in_progress] .lane-heading{border-bottom-color:#5bb8d647;background:linear-gradient(135deg,rgba(91,184,214,.13),transparent 48%),#151b1f}[data-lane=completed] .lane-heading{border-bottom-color:#4fb97940;background:linear-gradient(135deg,rgba(79,185,121,.12),transparent 48%),#151c19}.lane-heading>div{display:flex;align-items:center;gap:12px;min-width:0}.lane-heading h2{color:#d8dfe3;font-size:20px;font-weight:900}[data-lane=in_progress] .lane-heading h2{color:#d8f5ff}[data-lane=completed] .lane-heading h2{color:#d5f7e1}.lane-heading-actions{display:flex;flex:none;align-items:center;gap:9px}.lane-count{display:grid;min-width:32px;height:30px;padding:0 8px;place-items:center;border-radius:5px;color:#cfeef7;background:#5bb8d61a;font-weight:900}[data-lane=todo] .lane-count{color:#d8dfe3;background:#aeb9bc1a}[data-lane=in_progress] .lane-count{color:#cfeef7;background:#5bb8d61a}[data-lane=completed] .lane-count{color:#d5f7e1;background:#4fb97921}.lane-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--factory-muted);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.lane-toggle input{accent-color:var(--factory-brand)}.lane-scroll{min-height:0;padding:10px;overflow-y:auto;scrollbar-color:var(--factory-line) transparent}.job-card-list{--job-card-height: 248px;display:grid;grid-auto-rows:var(--job-card-height);gap:8px}.job-card{--card-accent: 210, 220, 225;--card-accent-strong: #dbe6eb;--card-accent-soft: rgba(var(--card-accent), .1);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;min-height:0;height:100%;padding:0;overflow:hidden;border:1px solid rgba(var(--card-accent),.5);border-radius:6px;background:radial-gradient(circle at 12% 0%,rgba(var(--card-accent),.16),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%),#101619f5;box-shadow:inset 0 0 30px rgba(var(--card-accent),.1),inset 0 1px #ffffff0e,0 10px 24px #0407093d}.job-card:hover{border-color:rgba(var(--card-accent),.82);box-shadow:inset 0 0 34px rgba(var(--card-accent),.16),inset 0 1px #ffffff12,0 12px 28px #0407094d,0 0 18px rgba(var(--card-accent),.12)}.job-card.lane-todo{--card-accent: 214, 224, 229;--card-accent-strong: #e5edf1;--card-accent-soft: rgba(214, 224, 229, .11)}.job-card.lane-in_progress{--card-accent: 91, 184, 214;--card-accent-strong: #9ee8ff;--card-accent-soft: rgba(91, 184, 214, .13)}.job-card.lane-completed{--card-accent: 79, 185, 121;--card-accent-strong: #b7f4ca;--card-accent-soft: rgba(79, 185, 121, .13)}.job-card.on-hold{--card-accent: 223, 102, 97;--card-accent-strong: #ffd0cd;--card-accent-soft: rgba(223, 102, 97, .15);border-color:#df6661c7}.job-card.voided{--card-accent: 128, 96, 99;border-color:#8060639e;opacity:.78}.job-card-header{display:grid;min-width:0;min-height:48px;padding:8px 10px 6px;border-bottom:1px solid rgba(var(--card-accent),.16);background:linear-gradient(135deg,rgba(var(--card-accent),.105),transparent 52%),#0c11143d}.job-card-body{display:grid;align-content:start;min-width:0;min-height:0;padding:8px 10px 6px}.job-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.job-card-title{display:flex;align-items:center;gap:6px;min-width:0}.job-card-title svg{flex:0 0 auto;width:18px;height:18px;padding:2px;border-radius:4px;color:var(--card-accent-strong);background:rgba(var(--card-accent),.16)}.job-card-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;color:#e8f0f4eb}.job-card-header-stack-chip{flex:0 0 auto;padding-inline:7px;font-size:11px}.priority,.status-badge{flex:none;padding:6px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.08);color:#e8eff2;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),#aeb9bc1f;font-size:15px;font-weight:900;line-height:1.1;box-shadow:inset 0 0 12px #ffffff09}.priority-rush_insert,.priority-urgent{color:#ffd5d2;background:#df666138}.priority-low{color:#dcd2ef;background:#9f8cc229}.status-badge.voided{color:#fff;background:#8a4b4e}.status-badge.hold{color:#ffddd9;border-color:#df66619e;background:#df666129}.job-card-heading h3{min-width:0;overflow:hidden;font-size:16px;line-height:1.18;color:#f6fbfd;text-overflow:ellipsis;white-space:nowrap}.stack-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid rgba(var(--card-accent),.38);border-radius:999px;color:var(--card-accent-strong);background:rgba(var(--card-accent),.1);font-size:13px;font-weight:900}.job-card-warning-banner{display:flex;align-items:center;gap:6px;min-width:0;margin-top:6px;min-height:32px;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:900}.job-card-warning-banner.sequence{color:#ffe3bd;border:1px solid rgba(219,157,63,.45);background:#db9d3f1f}.job-card-warning-banner.first-article{justify-content:space-between;color:#ffe5c5;border:1px solid rgba(224,133,67,.48);background:#e0854324}.job-card-warning-banner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.first-article-approve-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:4px;color:#0e171b;background:#ffd9a9;font-size:13px;font-weight:900;cursor:pointer}.hold-banner{display:flex;align-items:center;gap:9px;min-width:0;min-height:0;max-height:38px;padding:3px 12px;border-bottom:1px solid rgba(223,102,97,.34);border-radius:0;color:#ffd0cd;background:radial-gradient(circle at 8% 50%,rgba(223,102,97,.24),transparent 36%),#df66611c;font-size:20px;font-weight:900}.hold-banner.empty{display:none}.hold-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-data-panel{min-width:0;padding:8px 10px 7px;border:1px solid rgba(var(--card-accent),.19);border-radius:5px;background:radial-gradient(circle at 4% 0%,rgba(var(--card-accent),.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 46%),#171e22c7;box-shadow:inset 0 0 22px rgba(var(--card-accent),.055),inset 0 1px #ffffff0b}.job-card-facts{display:grid;grid-template-columns:.82fr 1fr 1fr 1.16fr;gap:0;margin:0}.job-card-facts div{min-width:0;padding:2px 8px;border-right:1px solid rgba(174,185,188,.14)}.job-card-facts div:first-child{padding-left:0}.job-card-facts div:last-child{padding-right:0;border-right:0}.job-card-facts dt{color:#9fb0b9;font-size:12px;font-weight:800}.job-card-facts dd{margin:2px 0 0;overflow:hidden;color:#f7fbfd;font-size:14px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.job-card-facts div:nth-child(2) dd{display:block}.job-card-facts dd>span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;color:#f7fbfd;text-overflow:ellipsis;white-space:nowrap}.job-card-facts svg,.job-card-assignment svg{color:var(--card-accent-strong)}.job-card-facts .disabled{color:var(--factory-red)}.job-card-assignment{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.job-card-assignment select{width:100%;min-width:0;min-height:32px;padding:5px 8px;border:1px solid rgba(var(--card-accent),.2);border-radius:4px;color:var(--factory-text);background:#0a0f12d1;font:inherit;font-size:18px;font-weight:800}.job-card-assignment select:focus{border-color:rgba(var(--card-accent),.72);outline:2px solid rgba(var(--card-accent),.18)}.job-card-assignment select:disabled{cursor:wait;opacity:.65}.job-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;margin-top:auto;padding:6px 10px;border-top:1px solid rgba(var(--card-accent),.17);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),#0a0f1257}.job-card-actions-left,.job-card-actions-center,.job-card-actions-right{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;min-width:0}.job-card-actions-left{justify-content:flex-start}.job-card-actions-center{justify-content:center}.job-card-actions-right{justify-content:flex-end}.job-card-actions button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(var(--card-accent),.62);border-radius:5px;color:#0e171b;background:var(--card-accent-strong);font-weight:900;font-size:13px;cursor:pointer;box-shadow:inset 0 1px #ffffff3d;white-space:nowrap}.job-card-actions button.detail,.job-card-actions button.supplement,.job-card-actions button.supplement-report{color:var(--factory-text);border-color:#9cabb75c;background:#3038409e}.job-card-actions button.advance{border-color:#4fb979b8;background:var(--factory-green)}.job-card-actions button.complete{border-color:#4fb979a3;background:var(--factory-green)}.job-card-actions button.hold{color:var(--factory-text);border-color:#9cabb75c;background:#3038409e}.job-card-actions button.release-hold{color:#fff;border-color:#df6661c2;background:#c9534f}.job-card-actions button.return-todo{color:var(--factory-text);border-color:#9cabb75c;background:#3038409e}.job-card-actions button.restore{color:#0e171b;border-color:#4fb979b8;background:var(--factory-green)}.job-card-actions button.void{color:var(--factory-text);border-color:#9cabb75c;background:#3038409e}.job-card-actions button:disabled{cursor:wait;opacity:.6}@media(min-width:1500px){.job-card-list{--job-card-height: 260px}.job-card-heading h3{font-size:17px}.hold-banner{max-height:42px;font-size:22px}.job-card-facts dt{font-size:12px}.job-card-facts dd{font-size:15px}.job-card-actions button{min-height:32px;font-size:13px}}.lane-state{display:grid;min-height:220px;padding:24px;place-items:center;align-content:center;gap:10px;color:var(--factory-muted);text-align:center;font-size:16px;font-weight:800}.lane-state.error{color:#f0aaa6}.lane-retry{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:var(--factory-panel-2);cursor:pointer}.lane-more-state{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;color:var(--factory-muted);font-size:12px}.lane-more-state.error{color:#f0aaa6}.lane-more-state button{border:0;color:var(--factory-cyan);background:transparent;font-weight:800;cursor:pointer}.lane-sentinel{height:1px}.spinning{animation:kanban-spin .9s linear infinite}.dialog-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;padding:24px;place-items:center;background:#05080ac2}.kanban-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:calc(100dvh - 48px);border:1px solid var(--factory-line);border-radius:8px;color:var(--factory-text);background:var(--factory-surface);box-shadow:var(--shadow-overlay);overflow:hidden}.dialog-header{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--factory-line);background:#151a1d}.dialog-header h2{margin:2px 0 0;font-size:22px}.dialog-close,.dialog-remove-button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-muted);background:var(--factory-panel);cursor:pointer}.dialog-close:disabled,.dialog-remove-button:disabled{cursor:not-allowed;opacity:.4}.dialog-loading{display:flex;min-height:300px;align-items:center;justify-content:center;gap:10px;color:var(--factory-muted);font-weight:800}.create-job-card-form{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0}.create-job-card-summary{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(220px,1fr) 180px;gap:12px;padding:16px 18px;border-bottom:1px solid var(--factory-line)}.dialog-field{display:grid;min-width:0;gap:6px;color:var(--factory-muted);font-size:12px;font-weight:800}.dialog-field input,.dialog-field select,.dialog-field textarea{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:#171d20;font:inherit;font-size:14px}.dialog-field textarea{min-height:66px;resize:vertical}.dialog-field input:focus,.dialog-field select:focus,.dialog-field textarea:focus{border-color:var(--factory-cyan);outline:2px solid rgba(91,184,214,.2)}.dialog-field input:disabled{color:var(--factory-muted);background:#252c30;opacity:1}.dialog-notice,.dialog-error{margin:12px 18px 0;padding:10px 12px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-muted);background:#20262a;font-size:13px;font-weight:800}.dialog-error{color:#ffd0cd;border-color:#df6661a6;background:#df66611f}.dialog-warning{display:grid;gap:10px;margin:12px 18px 0;padding:12px;border:1px solid rgba(219,157,63,.4);border-radius:5px;color:#f6ddbd;background:#db9d3f1f}.dialog-warning-title{display:flex;align-items:center;gap:8px}.dialog-warning-list{display:grid;gap:6px;margin:0;padding-left:18px}.dialog-warning-list li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.warning-button{color:#0e171b;border-color:#db9d3f9e;background:#f3c37a}.create-item-heading{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px}.create-item-heading h3{margin:0;font-size:16px}.dialog-add-button{display:inline-flex;min-height:36px;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:var(--factory-panel-2);font-weight:800;cursor:pointer}.dialog-add-button:disabled{cursor:not-allowed;opacity:.45}.create-item-list{display:grid;align-content:start;gap:10px;min-height:0;padding:0 18px 16px;overflow-y:auto}.create-item-row{position:relative;display:grid;grid-template-columns:120px minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(210px,1.35fr) 38px;gap:10px;align-items:end;min-width:0;margin:0;padding:12px;border:1px solid var(--factory-line);border-radius:6px;background:var(--factory-panel)}.create-item-row legend{padding:0 6px;color:var(--factory-brand);font-size:12px;font-weight:900}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--factory-line);background:#151a1d}.transition-dialog{width:min(540px,calc(100vw - 32px))}.transition-form{display:grid;gap:18px;padding:22px}.transition-warning{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #697881;border-radius:6px;color:var(--factory-text);background:#303a41}.transition-warning.void{border-color:#da5d53b8;background:#a8413b2e}.transition-warning.restore{border-color:#4fb979b8;background:#4fb9791f}.transition-warning svg{flex:0 0 auto;margin-top:1px}.transition-warning strong{display:block;margin-bottom:5px;font-size:16px}.transition-warning p{margin:0;color:var(--factory-muted);line-height:1.55}.first-article-reject-panel{display:grid;gap:10px;padding:0 22px 18px}.first-article-reject-panel label{display:grid;gap:6px;color:var(--factory-muted);font-size:13px;font-weight:900}.first-article-reject-panel select,.first-article-reject-panel textarea{width:100%;border:1px solid var(--factory-line);border-radius:6px;color:var(--factory-text);background:#0f1518;font:inherit;font-weight:800}.first-article-reject-panel select{min-height:42px;padding:0 12px}.first-article-reject-panel textarea{min-height:70px;padding:10px 12px;resize:vertical}.transition-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.transition-context div{min-width:0;padding:10px;border:1px solid var(--factory-line);border-radius:5px;background:var(--factory-panel-2)}.transition-context dt{margin-bottom:4px;color:var(--factory-muted);font-size:12px}.transition-context dd{overflow-wrap:anywhere;margin:0;color:var(--factory-text);font-weight:800}.transition-submit{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #71808a;border-radius:5px;color:var(--factory-text);background:#3c4850;font-weight:900;cursor:pointer}.transition-submit.void{border-color:#c95b53;background:#a8413b}.transition-submit.restore{color:#0e171b;border-color:var(--factory-green);background:var(--factory-green)}.transition-submit:disabled{cursor:wait;opacity:.65}.start-job-card-dialog{width:min(760px,100%)}.complete-job-card-dialog{width:min(720px,100%)}.complete-job-card-form{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0}.complete-quantity-fields{display:grid;grid-template-columns:1fr 1fr 150px;gap:12px;align-items:end;padding:18px}.complete-good-field input:focus{border-color:var(--factory-green);outline-color:#4fb97938}.complete-defect-field input:focus{border-color:var(--factory-red);outline-color:#df666138}.complete-total{display:grid;min-height:62px;align-content:center;gap:3px;padding:8px 12px;border:1px solid var(--factory-line);border-radius:5px;background:var(--factory-panel)}.complete-total span{color:var(--factory-muted);font-size:11px;font-weight:800}.complete-total strong{color:var(--factory-green);font-size:22px}.complete-good-field.active input,.complete-defect-field.active input{border-width:2px}.complete-keypad{display:grid;gap:12px;padding:0 18px 18px}.complete-keypad-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--factory-line);border-radius:5px;background:#171d21e0}.complete-keypad-current span{color:var(--factory-muted);font-size:12px;font-weight:800}.complete-keypad-current strong{color:var(--factory-text);font-size:22px;font-weight:900}.complete-keypad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.complete-keypad-key,.complete-keypad-action{min-height:58px;border:1px solid rgba(130,158,172,.22);border-radius:8px;color:var(--factory-text);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),#192025f5;font:inherit;font-size:26px;font-weight:900;cursor:pointer}.complete-keypad-key:disabled,.complete-keypad-action:disabled{cursor:wait;opacity:.65}.complete-keypad-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.complete-keypad-action{font-size:14px}.complete-keypad-action.quick{border-color:#4fb97994;color:#09210f;background:var(--factory-green)}.complete-quantity-warning{display:flex;align-items:center;gap:8px;margin:0 18px 18px;padding:10px 12px;border:1px solid rgba(216,161,58,.6);border-radius:5px;color:#ffe0a0;background:#d8a13a1f;font-size:13px;font-weight:800}.complete-submit-button{border-color:#4fb979b8;background:var(--factory-green)}.job-card-detail-dialog{width:min(980px,100%)}.hold-job-card-dialog{width:min(680px,100%)}.hold-dialog-header{border-bottom-color:#d8a13a8c}.hold-job-card-form{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0}.hold-job-card-fields{display:grid;align-content:start;gap:14px;padding:18px;overflow-y:auto}.hold-required-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(216,161,58,.55);border-radius:5px;color:#ffe0a0;background:#d8a13a1f;font-size:13px;font-weight:800}.hold-submit-button{border-color:#d8a13ab8;background:var(--factory-brand)}.job-card-detail-body{min-height:0;overflow-y:auto}.detail-information-area{display:grid;gap:8px;padding:12px 14px;border-bottom:1px solid var(--factory-line);background:#181e21}.detail-information-section{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--factory-line);border-radius:6px;background:var(--factory-panel)}.detail-information-section.work-order-information{border-color:#4299e17a;background:#4299e112}.detail-information-section h3{margin:0;padding-bottom:5px;border-bottom:1px solid var(--factory-line);font-size:15px}.detail-information-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--factory-line)}.detail-information-section-heading h3{padding-bottom:0;border-bottom:0}.detail-information-section-heading .primary-button.compact{min-height:34px;padding:0 10px;gap:6px;font-size:13px}.detail-information-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 10px}.detail-information-grid div{display:grid;min-width:0;gap:2px}.detail-inline-field{display:grid;min-width:0;gap:3px}.detail-inline-field input{width:100%;min-width:0;min-height:34px;padding:6px 8px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:#171d20;font:inherit;font-size:14px}.detail-inline-field input:focus{border-color:var(--factory-cyan);outline:2px solid rgba(91,184,214,.2)}.detail-inline-field input:disabled{cursor:wait;opacity:.65}.detail-information-grid span,.detail-section-heading p,.detail-lock-note{color:var(--factory-muted);font-size:11px;font-weight:800}.related-job-card-groups,.related-job-card-group,.related-job-card-list{display:grid;gap:6px}.related-job-card-group h4{margin:0;color:var(--factory-muted);font-size:12px}.related-job-card{display:grid;grid-template-columns:36px minmax(180px,220px) minmax(0,1fr);align-items:stretch;gap:8px;min-height:62px;padding:6px 8px;border:1px solid var(--factory-line);border-radius:5px;background:var(--factory-panel-2)}.related-job-card.current{border-color:#4299e1cc;background:#4299e11a}.related-job-card.voided{opacity:.55}.related-job-card-handle,.related-job-card-content{border:0;color:inherit;background:transparent}.related-job-card-handle{display:grid;width:32px;height:34px;place-items:center;border-radius:4px;color:var(--factory-muted);cursor:grab;touch-action:none}.related-job-card-handle:disabled{cursor:default;opacity:.25}.related-job-card-identity{display:grid;align-content:center;gap:5px;min-width:0}.related-job-card-content{display:grid;min-width:0;align-content:center;padding:1px 0;text-align:left;cursor:pointer}.related-job-card-number{overflow:hidden;color:var(--factory-muted);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.related-job-card-primary{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px}.related-job-card-primary div{display:grid;min-width:0;gap:2px}.related-job-card-primary span{color:var(--factory-muted);font-size:11px;font-weight:800}.related-job-card-primary strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.related-job-card-status{display:grid;min-width:0;place-items:center;min-height:31px;padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:5px;color:var(--factory-muted);background:#ffffff0f;font-size:16px;font-weight:900;text-align:center}.related-job-card-status.todo{color:#c9ddff;border-color:#4299e173;background:#4299e124}.related-job-card-status.in_progress{color:#ffe0a0;border-color:#d8a13a7a;background:#d8a13a24}.related-job-card-status.completed{color:#bdf3cf;border-color:#4fb9797a;background:#4fb97924}.detail-information-grid strong{overflow-wrap:anywhere;font-size:15px}.detail-hold-banner{display:flex;align-items:flex-start;gap:9px;margin:14px 18px 0;padding:11px 12px;border:1px solid rgba(216,161,58,.6);border-radius:5px;color:#ffe0a0;background:#d8a13a1f}.detail-hold-banner div{display:grid;gap:3px}.detail-hold-banner span{color:var(--factory-muted);font-size:12px}.detail-success{margin:12px 18px 0;padding:10px 12px;border:1px solid rgba(79,185,121,.55);border-radius:5px;color:#bdf3cf;background:#4fb9791f;font-size:13px;font-weight:800}.detail-sections{display:grid;gap:8px;padding:12px 14px 14px}.detail-section{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--factory-line);border-radius:6px;background:var(--factory-panel)}.detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-section-heading h3,.detail-section-heading p{margin:0}.detail-section-heading h3{font-size:16px}.detail-section-heading p{margin-top:2px}.job-card-detail-dialog .dialog-field textarea{min-height:84px}.detail-quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-lock-note{margin:-4px 0 0;color:#ffe0a0}.detail-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.detail-action-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-text);background:var(--factory-panel-2);font-weight:900;cursor:pointer}.detail-action-button.success{color:#c8f4d7;border-color:#4fb97999}.detail-action-button.danger{color:#ffd0cd;border-color:#df6661a6}.detail-action-button:disabled{cursor:wait;opacity:.55}.start-job-card-form{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0}.start-job-card-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 18px;border-bottom:1px solid var(--factory-line)}.start-job-card-context div{display:grid;min-width:0;gap:4px}.start-job-card-context span{color:var(--factory-muted);font-size:11px;font-weight:800}.start-job-card-context strong{overflow-wrap:anywhere;font-size:14px}.start-job-card-fields{display:grid;grid-template-columns:140px 1fr 1fr;gap:12px;align-content:start;padding:16px 18px;overflow-y:auto}.dependency-dialog-backdrop{z-index:60}.dependency-dialog{width:min(680px,100%)}.dependency-dialog-header{border-bottom-color:#d8a13a8c}.dependency-dialog-title{display:flex;align-items:center;gap:12px;min-width:0;color:#ffe0a0}.dependency-dialog-title h2{color:var(--factory-text)}.dependency-dialog-body{display:grid;min-height:0;align-content:start;gap:14px;padding:18px;overflow-y:auto}.dependency-dialog-body>p{margin:0;color:var(--factory-muted);line-height:1.6}.dependency-dialog-body ul{display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none}.dependency-dialog-body li{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(130px,1fr) 90px;gap:10px;padding:11px 12px;border:1px solid rgba(216,161,58,.42);border-radius:5px;background:#d8a13a14}.dependency-dialog-body li div{display:grid;min-width:0;gap:3px}.dependency-dialog-body li span{color:var(--factory-muted);font-size:11px;font-weight:800}.dependency-dialog-body li strong{overflow-wrap:anywhere;font-size:13px}.dependency-confirm-button{border-color:#d8a13ab8;background:var(--factory-brand)}@keyframes kanban-spin{to{transform:rotate(360deg)}}@media(max-width:820px){.kanban-display{grid-template-rows:auto auto auto minmax(0,1fr);height:100dvh;min-height:100dvh}.kanban-titlebar{align-items:center;padding:10px 12px}.titlebar-brand img{width:36px;height:36px}.titlebar-brand h1{font-size:18px}.titlebar-brand .eyebrow,.kanban-today,.kanban-user,.titlebar-button{display:none}.kanban-lane-tabs.visible{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 10px;border-bottom:1px solid var(--factory-line);background:#111518}.kanban-view-toolbar{align-items:stretch;gap:8px;padding:8px 10px}.kanban-mode-switch{flex:1}.kanban-mode-switch button{min-width:0;padding:0 9px;font-size:13px}.work-station-filter{min-width:0}.work-station-filter>span{display:none}.work-station-filter select{width:132px;min-width:0}.work-station-board{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px}.work-station-card{flex:0 0 auto;grid-template-rows:auto auto;width:100%;height:auto;overflow:visible}.kanban-iot-source{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;border:1px solid rgba(123,140,151,.36);border-radius:8px;background:#182026b8;color:#d8e7ee;font-size:15px;font-weight:800}.kanban-iot-source strong{color:#9cb4c0}.kanban-iot-source.source-connected{border-color:#5bb8d6d1}.kanban-iot-source.source-disconnected{border-color:#df6661d1;color:#ffd5d2}.kanban-iot-source.source-disabled{border-color:#66727a;color:#d8dfe3}.kanban-mode-hint{margin-bottom:16px;padding:10px 14px;border:1px solid rgba(123,140,151,.22);border-radius:8px;background:#18202675;color:#e0e9efd1;font-size:13px;line-height:1.45}.work-station-header{gap:6px;min-height:50px;padding:9px 10px}.work-station-select{gap:5px}.work-station-header svg{width:19px;height:19px}.work-station-header h2{font-size:19px}.work-station-count{padding:5px 8px;font-size:13px}.work-station-body{gap:9px;padding:10px}.work-station-lights{gap:5px;font-size:14px}.work-station-lights span{min-height:38px;padding:5px 6px}.work-station-hold{padding:6px 8px;font-size:13px}.work-station-jobs{gap:5px}.work-station-job-card,.work-station-card.summary-single .work-station-job-card{min-height:auto;padding:10px}.work-station-job-title{gap:7px}.work-station-job-title strong,.work-station-card.summary-single .work-station-job-title strong{font-size:16px}.work-station-job-quantity,.work-station-card.summary-single .work-station-job-quantity,.work-station-job-facts dd{font-size:15px}.work-station-job-facts{grid-template-columns:minmax(0,1fr);gap:9px}.work-station-empty{min-height:148px;padding:12px}.work-station-empty strong{font-size:17px}.work-station-empty span{font-size:14px}.kanban-lane-tabs button{display:flex;min-width:0;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:0 6px;border:1px solid var(--factory-line);border-radius:5px;color:var(--factory-muted);background:var(--factory-panel);font-size:13px;font-weight:800}.kanban-lane-tabs button.active{color:#d8f5ff;border-color:#5bb8d69e;background:#5bb8d629}.kanban-lane-tabs span{font-size:11px}.kanban-board{display:block;min-height:0;padding:8px}.kanban-lane{display:none;height:100%}.kanban-lane.mobile-active{display:grid}.lane-heading{min-height:58px}.job-card-heading h3{font-size:19px}.job-card-header,.job-card-body{padding:9px 10px}.job-card-list{--job-card-height: 410px}.job-card-facts{grid-template-columns:1fr 1fr;row-gap:10px}.job-card-facts div:nth-child(2n){padding-right:0;border-right:0}.job-card-facts div:nth-child(odd){padding-left:0}.job-card-facts div:nth-child(n+3){padding-top:10px;border-top:1px solid rgba(174,185,188,.12)}.hold-banner{max-height:40px;font-size:18px}.job-card-facts dt{font-size:13px}.job-card-facts dd{font-size:17px}.job-card-assignment select{font-size:16px}.job-card-actions{padding:9px 10px}.job-card-actions button{min-height:42px;padding:0 12px;font-size:15px}.kanban-create-button{width:42px;padding:0;font-size:0}.dialog-backdrop{padding:0;place-items:stretch}.kanban-dialog{width:100%;max-height:100dvh;border:0;border-radius:0}.dialog-header{min-height:64px;padding:10px 14px}.dialog-header h2{font-size:19px}.create-job-card-summary{grid-template-columns:1fr;gap:10px;padding:12px 14px}.create-job-card-summary .compact{display:none}.create-item-heading{padding:8px 14px}.create-item-list{padding:0 14px 14px}.create-item-row{grid-template-columns:1fr 1fr;gap:10px}.create-item-row .note{grid-column:1 / -1}.dialog-remove-button{position:absolute;top:-7px;right:8px;width:34px;height:34px}.dialog-actions{padding:10px 14px}.transition-context{grid-template-columns:1fr}.transition-form{padding:17px 14px}.start-job-card-context,.start-job-card-fields,.complete-quantity-fields{grid-template-columns:1fr;padding:12px 14px}.complete-keypad{padding:0 14px 14px}.complete-keypad-key,.complete-keypad-action{min-height:54px}.complete-total{min-height:58px}.complete-quantity-warning{margin:0 14px 14px}.detail-information-area{padding:12px 14px}.detail-information-grid{grid-template-columns:1fr 1fr}.related-job-card{grid-template-columns:32px minmax(0,1fr);gap:8px}.related-job-card-identity,.related-job-card-content{grid-column:2}.related-job-card-identity{gap:6px}.related-job-card-status{padding:6px;font-size:14px;justify-self:start;min-width:86px}.related-job-card-primary{grid-template-columns:1fr;gap:6px}.related-job-card-primary strong{font-size:16px}.hold-job-card-fields{padding:14px}.detail-sections{padding:12px 14px 14px}.detail-section-heading{align-items:flex-start}.detail-section-heading .primary-button{flex:none;min-width:42px;padding:0 10px}.detail-quantity-grid{grid-template-columns:1fr}.detail-action-buttons{display:grid;grid-template-columns:1fr}.dependency-dialog-body{padding:14px}.dependency-dialog-body li{grid-template-columns:1fr;gap:8px}}@media(min-width:821px)and (max-width:1100px){.kanban-board{grid-template-columns:repeat(3,minmax(240px,1fr));overflow-x:auto}.kanban-user,.kanban-today{display:none}}.workbench-shell{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:radial-gradient(circle at 18% 0%,rgba(77,140,157,.12),transparent 30%),linear-gradient(180deg,#0d141a,#101820 44%,#0d1318);color:#e8eef2;font-size:17px;overflow:hidden}.workbench-header{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:18px;min-height:74px;padding:10px clamp(18px,2vw,28px);border-bottom:1px solid rgba(132,162,177,.16);background:linear-gradient(180deg,#0b1116f5,#0d141aeb),#0d141a;box-shadow:0 12px 32px #00000047;z-index:20}.workbench-header-left,.workbench-header-right{display:flex;align-items:center;gap:14px;min-width:0}.workbench-header-left{justify-self:start}.workbench-header-right{flex-wrap:wrap;justify-content:flex-end;justify-self:end}.workbench-menu-button,.workbench-notification-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid rgba(133,164,180,.18);border-radius:6px;font-weight:800;cursor:pointer}.workbench-menu-button{display:none;padding:0 14px;color:#e8eef2;background:#142028d1}.workbench-menu-button:hover{border-color:#61b5ce80;background:#1c2d38eb}.workbench-title-block{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.workbench-title-logo{width:32px;height:32px;object-fit:contain}.workbench-title-block .eyebrow{margin:0;color:#d2a347;font-size:12px;line-height:1.1;white-space:nowrap}.workbench-title-block h1{margin:2px 0 0;color:#f2f6f8;font-size:22px;line-height:1.15}.workbench-tabs{display:inline-flex;align-items:center;justify-self:center;gap:6px;min-width:0;padding:4px;border:1px solid rgba(133,164,180,.18);border-radius:8px;background:#080d12b8;box-shadow:inset 0 1px #ffffff0a}.workbench-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:6px;color:#a9b7c0;background:transparent;font-size:15px;font-weight:850;white-space:nowrap;cursor:pointer}.workbench-tab:hover{color:#eef7fa;border-color:#61b5ce52;background:#1b2a34d1}.workbench-tab.active{color:#f2fbff;border-color:#70c4db9e;background:linear-gradient(180deg,#326270f2,#1d414ef2);box-shadow:inset 0 1px #ffffff24,0 0 0 1px #43899d38,0 8px 18px #0000004d}.workbench-tab-badge,.workbench-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:1px solid rgba(255,213,143,.48);border-radius:999px;color:#ffe0a6;background:#7b4614b8;font-size:12px;line-height:1}.workbench-tab:focus-visible{outline:3px solid rgba(91,184,214,.34);outline-offset:2px}.workbench-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workbench-active-filter{display:inline-flex;align-items:center;min-height:36px;max-width:220px;padding:0 10px;overflow:hidden;border:1px solid rgba(97,181,206,.34);border-radius:6px;color:#d9f5ff;background:#152b35d1;font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.workbench-notification-button{max-width:min(440px,42vw);padding:0 10px 0 14px;color:#d7e2e8;background:#0a1016b3}.workbench-notification-button:hover{border-color:#61b5ce75;background:#142028e6}.workbench-notification-button.active{border-color:#70c4db9e;background:#1a3a46e6}.workbench-notification-summary{overflow:hidden;max-width:280px;color:#9cabb4;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.workbench-notification-icon{display:inline-flex;align-items:center;gap:6px;color:#f1f6f8}.workbench-user-menu{position:relative;flex:0 0 auto}.workbench-user-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;max-width:180px;padding:0 12px;overflow:hidden;border:1px solid rgba(133,164,180,.18);border-radius:6px;color:#edf3f6;background:#0a1016b3;font-weight:850;cursor:pointer}.workbench-user-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-user-button:hover{border-color:#61b5ce75;background:#142028e6}.workbench-user-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:70;display:grid;gap:6px;width:220px;padding:10px;border:1px solid rgba(133,164,180,.18);border-radius:8px;background:#101820;box-shadow:0 18px 42px #0000006b}.workbench-user-popover-profile{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid rgba(133,164,180,.14)}.workbench-user-popover-profile strong{color:#eef4f7;font-size:15px}.workbench-user-popover-profile span{color:#9eacb5;font-size:14px;font-weight:750}.workbench-user-popover button{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:6px;color:#d7e2e8;background:transparent;font-weight:820;text-align:left;cursor:pointer}.workbench-user-popover button:hover{border-color:#61b5ce47;background:#1b2a34c7}.workbench-main{min-height:0;flex:1 1 auto;overflow:auto}.workbench-notification-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#04080c8f}.workbench-notification-panel{position:absolute;top:78px;right:16px;display:flex;flex-direction:column;gap:18px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow:auto;padding:18px;border:1px solid rgba(133,164,180,.18);border-radius:8px;background:#101820;box-shadow:0 24px 72px #00000075}.workbench-notification-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.workbench-notification-panel-header h2{margin:4px 0 0;color:#eef4f7}.workbench-notification-empty{display:grid;justify-items:center;gap:10px;min-height:220px;padding:26px 18px;color:#9eacb5;text-align:center;align-content:center;border:1px dashed rgba(97,181,206,.28);border-radius:8px;background:#101a22d1}.workbench-notification-empty h3{margin:0;color:#eef4f7}.workbench-notification-empty p{max-width:280px;margin:0;line-height:1.65}.workbench-menu-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#04080cad}.workbench-menu-panel{display:flex;flex-direction:column;gap:20px;width:min(340px,calc(100vw - 32px));height:100%;padding:20px;color:#eef4f7;background:#0e151c;box-shadow:18px 0 42px #00000075}.workbench-menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.workbench-logo{width:160px;max-width:70%;height:auto}.workbench-user{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:12px;border:1px solid rgba(133,164,180,.18);border-radius:6px;background:#142028d1}.workbench-user small{grid-column:2;color:var(--factory-muted)}.workbench-menu-actions{display:grid;gap:10px;margin-top:auto}.workbench-menu-actions .ghost-button{width:100%;margin-top:0}.workbench-nav{display:grid;gap:8px}.workbench-nav-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:6px;color:#a9b7c0;background:transparent;font-weight:800;cursor:pointer}.workbench-nav-item .workbench-nav-badge{margin-left:auto}.workbench-nav-item:hover{color:#eef4f7;border-color:#61b5ce47;background:#1b2a34c7}.workbench-nav-item.active{color:#f2fbff;border-color:#70c4db9e;background:linear-gradient(180deg,#326270f2,#1d414ef2)}.workbench-shell .primary-button,.workbench-shell .secondary-button,.workbench-shell .ghost-button,.workbench-shell .icon-table-action{border-color:#85a4b433;color:#e8eef2;background:#0d151cc7}.workbench-shell .primary-button{border-color:#70c4db94;background:linear-gradient(180deg,#326270f2,#1d414ef2)}.workbench-shell .secondary-button:hover,.workbench-shell .ghost-button:hover,.workbench-shell .icon-table-action:hover{border-color:#61b5ce70;background:#182630eb}@media(max-width:820px){.workbench-shell{height:auto;min-height:100vh;font-size:16px;overflow:visible}.workbench-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px}.workbench-header-left,.workbench-header-right{width:100%}.workbench-header-left{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}.workbench-menu-button{display:inline-flex;min-width:0}.workbench-tabs{display:none}.workbench-header-right{width:auto;justify-content:flex-end}.workbench-actions{order:2;width:100%;justify-content:flex-start}.workbench-header-right:has(.workbench-actions:not(:empty)){display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;justify-self:stretch;width:100%}.workbench-header-right:has(.workbench-actions:not(:empty)) .workbench-actions{grid-column:1 / -1}.workbench-notification-button{max-width:100%}.workbench-user-menu,.workbench-notification-summary{display:none}.workbench-notification-panel{top:auto;right:auto;bottom:0;left:0;width:100%;max-height:82vh;border-radius:12px 12px 0 0}}@media(max-width:560px){.workbench-header-left{align-items:center}.workbench-title-logo{width:28px;height:28px}.workbench-title-block{gap:8px}.workbench-title-block .eyebrow{font-size:11px}.workbench-title-block h1{font-size:20px}.workbench-notification-summary{display:none}.workbench-actions{width:100%}.workbench-actions .primary-button,.workbench-actions .secondary-button{flex:1 1 auto}}.workbench-workspace{padding:14px 18px;overflow:auto}.workbench-workspace .eyebrow{color:#d2a347}.workbench-workspace h1{margin-top:6px;font-size:38px}.workbench-copy{margin-top:12px;color:#9eacb5;font-size:18px;font-weight:700}.work-order-page-heading{margin-bottom:10px}.work-order-page-heading .eyebrow{margin-bottom:2px}.work-order-page-heading h1{margin:0}.work-order-page-heading .workbench-copy{margin-top:6px;font-size:15px}.overview-workspace{display:grid;align-content:start}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.overview-panel{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:linear-gradient(180deg,#16222beb,#0e161eeb),#101820;box-shadow:inset 0 1px #ffffff09,0 14px 32px #00000038}.overview-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.overview-panel-title-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.overview-panel-heading h2{margin:0;color:#f2f6f8;font-size:22px;line-height:1.2;overflow-wrap:anywhere}.overview-panel-heading svg{flex:0 0 auto;color:#9eacb5}.overview-panel-title-row svg{width:18px;height:18px;padding:2px;border:1px solid rgba(130,158,172,.28);border-radius:4px;color:#aebbc3}.overview-panel-status{align-self:center;max-width:260px;color:#a7b5be;font-size:14px;font-weight:850;line-height:1.4;text-align:right}.overview-quick-panel,.overview-alert-panel{grid-column:1 / -1}.overview-alert-panel{border-color:#c68f2352;background:linear-gradient(180deg,#2a2516d1,#1b1d14e0),#171a14}.overview-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.overview-quick-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;min-height:66px;padding:12px 14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;color:#eef4f7;background:linear-gradient(180deg,#18252fe0,#121c24e0);font:inherit;font-size:18px;font-weight:900;text-align:left;cursor:pointer}.overview-quick-action svg{grid-row:1 / span 2;color:#9fb7c4}.overview-quick-action .overview-action-chevron{grid-column:3;grid-row:1 / span 2;color:#c3d0d6}.overview-quick-action span,.overview-quick-action small{min-width:0;overflow-wrap:anywhere}.overview-quick-action small{color:#9eacb5;font-size:14px;font-weight:800}.overview-quick-action.primary{border-color:#70c4db4d;background:linear-gradient(180deg,#1d303af2,#111f28eb)}.overview-quick-action:disabled{color:#cfd9de;border-color:#829eac2e;background:linear-gradient(180deg,#18252fe0,#121c24e0);cursor:not-allowed}.overview-quick-action:disabled svg{color:#9fb0ba}.overview-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.overview-order-due-panel .overview-kpi-grid,.overview-work-priority-panel .overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-kpi-card{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:98px;padding:12px 14px 10px;border:1px solid rgba(130,158,172,.18);border-left:1px solid rgba(130,158,172,.18);border-radius:8px;color:#e8eef2;background:#121d26c7}.overview-kpi-card.critical,.overview-kpi-card.warning{border-color:#d8a13a3d}.notifications-workspace{display:grid;align-content:start;gap:14px}.notifications-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.notifications-heading h1{margin-bottom:0}.notifications-toolbar{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,.9fr) minmax(260px,1.6fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:#0e1820d1}.notifications-toolbar label{display:grid;gap:6px;min-width:0;color:#9fb0ba;font-size:13px;font-weight:850}.notifications-toolbar select,.notifications-toolbar input{min-height:42px;min-width:0;border:1px solid rgba(132,162,177,.22);border-radius:6px;color:#eef4f7;background:#091016eb;font:inherit;font-weight:800}.notifications-toolbar select{padding:0 10px}.notifications-search span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-height:42px;padding:0 10px;border:1px solid rgba(132,162,177,.22);border-radius:6px;background:#091016eb}.notifications-search input{min-height:auto;padding:0;border:0;background:transparent}.notifications-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(212,95,83,.34);border-radius:8px;color:#ffd8d4;background:#411a1cc7;font-weight:850}.notifications-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch;padding:14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:linear-gradient(180deg,#16222bf0,#0e161ef0),#101820;box-shadow:0 12px 28px #00000038}.notification-card.urgent{border-color:#d3595366;background:linear-gradient(180deg,#301a1deb,#151216f0),#111820}.notification-card.warning{border-color:#d8a13a57}.notification-card-main{display:grid;gap:8px;min-width:0}.notification-card-topline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#9fb0ba;font-size:13px;font-weight:850}.notification-card-topline time{margin-left:auto}.notification-card h2{margin:0;color:#f2f6f8;font-size:21px;line-height:1.25}.notification-card p{margin:0;color:#c9d5dc;font-weight:760;line-height:1.55}.notification-meta{display:flex;flex-wrap:wrap;gap:8px;color:#8fa1ab;font-size:12px;font-weight:800}.notification-meta span{min-width:0;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-status-pill,.notification-severity-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900}.notification-status-pill.pending{color:#ffe0a6;background:#7b4614b8}.notification-status-pill.acknowledged{color:#bdefff;background:#1f5464b8}.notification-status-pill.resolved{color:#b9dbc7;background:#2353329e}.notification-severity-pill.urgent{color:#ffd7d2;background:#7c2828b8}.notification-severity-pill.warning{color:#ffe0a6;background:#684818b8}.notification-severity-pill.info{color:#cfeaf4;background:#284350b8}.notification-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:120px}.notification-passive-state{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid rgba(130,158,172,.18);border-radius:6px;color:#9fb0ba;background:#0910168f;font-weight:850}.notifications-empty{display:grid;justify-items:center;gap:10px;min-height:320px;padding:32px 18px;border:1px dashed rgba(97,181,206,.28);border-radius:8px;color:#9eacb5;background:#101a22b8;text-align:center;align-content:center}.notifications-empty h2{margin:0;color:#eef4f7}.notifications-empty p{margin:0}.overview-kpi-card.info{border-color:#61b5ce3d}.overview-kpi-card-title{display:block;padding-bottom:10px;border-bottom:1px solid rgba(130,158,172,.18);color:#d2a347;font-size:14px;font-weight:900}.overview-kpi-items{display:grid;grid-template-columns:repeat(var(--overview-kpi-columns, 2),minmax(0,1fr));gap:0;align-items:stretch}.overview-kpi-card:has(.overview-kpi-item:nth-child(3)){--overview-kpi-columns: 3}.overview-kpi-card:has(.overview-kpi-item:nth-child(4)){--overview-kpi-columns: 4}.overview-kpi-item{display:grid;gap:4px;min-width:0;padding:0 12px;border:0;border-left:1px solid rgba(130,158,172,.18);border-radius:0;background:transparent}.overview-kpi-item:first-child{border-left:0;padding-left:0}.overview-kpi-item:last-child{padding-right:0}.overview-kpi-item span{min-width:0;color:#a1b0b9;font-size:14px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}.overview-kpi-item strong{color:#f2f6f8;font-size:22px;line-height:1}.overview-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;gap:6px 14px;min-height:74px;padding:16px;border:1px solid rgba(198,143,35,.42);border-radius:8px;color:#c9d2d7;background:#12140ea3;align-content:center}.overview-empty-state.warning{border-color:#d8a13a7a;background:#11120c99}.overview-empty-state svg{grid-row:1 / span 2;color:#d8a13a}.overview-empty-state.warning svg{color:#f0a400}.overview-empty-state strong{color:#eef4f7;font-size:18px}.overview-empty-state span{max-width:none;font-size:16px;font-weight:800;line-height:1.55}.overview-flow-total{display:flex;align-items:baseline;gap:12px;min-width:0;padding:14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:#121d26c7}.overview-flow-total span{color:#d4dee4;font-size:16px;font-weight:950}.overview-flow-total strong{color:#f2f6f8;font-size:22px;line-height:1}.overview-flow-total small{margin-left:auto;color:#a1b0b9;font-weight:850}.overview-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.overview-flow-card{display:grid;gap:8px;min-width:0;min-height:112px;padding:14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:#121d26c7}.overview-flow-card span,.overview-dispatch-item span{color:#d4dee4;font-size:16px;font-weight:950}.overview-flow-card strong,.overview-dispatch-item strong{color:#f2f6f8;font-size:24px;line-height:1}.overview-flow-card small,.overview-dispatch-item small{color:#9eacb5;font-weight:800;line-height:1.4}.overview-dispatch-list{display:grid;gap:10px}.overview-dispatch-item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:14px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:#121d26c7}.overview-dispatch-item div{display:grid;gap:6px;min-width:0}.overview-workflow-note{margin:0;color:#9eacb5;font-size:15px;font-weight:850}.orders-grid{min-height:0}.management-board-workspace{display:grid;align-content:start;gap:8px;padding-top:4px;padding-bottom:6px}.management-board-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.management-board-title-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.management-board-heading .eyebrow{margin:0 0 2px;font-size:11px;line-height:1}.management-board-heading h1{margin:0;font-size:34px;line-height:1.02}.management-board-copy-inline{margin:0;font-size:14px;line-height:1.2}.management-board-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:min(760px,100%)}.management-board-filter{display:grid;gap:4px;min-width:0;color:#d4dee4;font-size:13px;font-weight:900}.management-board-filter input,.management-board-filter select{width:100%;min-height:38px;padding:0 10px;border:1px solid rgba(130,158,172,.22);border-radius:8px;color:#eef4f7;background:#121d26e0;font:inherit}.management-board-filter input::placeholder{color:#93a5af}.management-board-filter-keyword{grid-column:span 1}.management-board-intro-panel,.management-lane-card{min-width:0;padding:12px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:linear-gradient(180deg,#16222beb,#0e161eeb),#101820;box-shadow:inset 0 1px #ffffff09,0 14px 32px #00000038}.management-board-active-filters,.management-lane-card-header{display:flex;align-items:center;gap:8px}.management-lane-card-header{justify-content:space-between}.management-board-intro-panel p,.management-lane-card p,.management-lane-empty span{margin:0;color:#9eacb5;font-size:14px;font-weight:800;line-height:1.5}.management-board-intro-panel{display:grid;gap:12px}.management-board-intro-panel h2,.management-lane-card h2{margin:4px 0 0;color:#eef4f7}.management-board-active-filters{flex-wrap:wrap;gap:8px}.management-board-active-filters span,.management-lane-card-header span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid rgba(130,158,172,.2);border-radius:999px;color:#d4dee4;background:#121d26b8;font-size:12px;font-weight:850}.management-board-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.management-lane-card{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:0;height:calc(100dvh - 162px);overflow:hidden}.management-card-list{--management-job-card-height: 228px;display:grid;grid-auto-rows:var(--management-job-card-height);align-content:start;gap:4px;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.management-card-list::-webkit-scrollbar{width:10px}.management-card-list::-webkit-scrollbar-track{background:#121d2694;border-radius:999px}.management-card-list::-webkit-scrollbar-thumb{border:2px solid rgba(18,29,38,.58);border-radius:999px;background:#7fa0b073}.management-card-list::-webkit-scrollbar-thumb:hover{background:#9ebecdad}.management-job-card{min-width:0;height:100%;display:grid;align-content:start;overflow:hidden}.management-job-card-focused{outline:3px solid rgba(255,211,127,.92);outline-offset:-3px;box-shadow:0 0 0 1px #ffd37f61,0 0 32px #ffb94557,0 12px 28px #00000042}.management-job-card-header{display:grid;gap:4px}.management-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(130,158,172,.22);border-radius:999px;font-size:12px;font-weight:900}.management-badge.warning{border-color:#c68f234d;color:#f3c96b;background:#3f30126b}.management-badge.info{border-color:#61b5ce4d;color:#9fd6e4;background:#19364366}.management-badge.neutral{border-color:#829eac38;color:#d4dee4;background:#141f2785}.management-board-more-menu .icon-table-action{width:30px;min-width:30px;height:30px;min-height:30px}.management-job-card-header-tail{display:inline-flex;align-items:center;gap:6px}.management-board-more-popover{min-width:182px}.management-board-more-popover button{justify-content:space-between}.management-board-more-popover button small{color:#8ea2ad;font-size:11px;font-weight:800}.management-board-more-popover button.management-board-disabled-action{cursor:not-allowed;opacity:.72}.management-board-more-popover button.management-board-disabled-action:hover{background:transparent}.management-job-card-facts{grid-template-columns:.82fr 1fr 1fr 1.12fr}.management-job-card .job-card-body{padding:5px 8px 3px}.management-job-card .job-card-data-panel{padding:5px 8px 4px}.management-job-card .job-card-facts dt{font-size:11px}.management-job-card .job-card-facts dd{font-size:13px;line-height:1.05}.management-job-card-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;padding:3px 8px;align-items:center}.management-job-card-actions button{min-height:26px;padding:0 7px;font-size:12px;white-space:nowrap}.management-job-card .job-card-title h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.management-job-card .job-card-warning-banner{min-height:28px;margin-top:4px;padding:3px 7px}.management-job-card .job-card-warning-banner span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.management-job-card .job-card-warning-banner.first-article{gap:8px}.management-job-card .first-article-approve-button{min-height:26px;padding:0 8px;font-size:12px;white-space:nowrap}.management-job-card-facts dd{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.management-job-card-facts dd>span{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis}.management-job-card .job-card-warning-banner.first-article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.management-job-card .first-article-approve-button{min-height:28px;padding:0 10px;font-size:13px;flex:0 0 auto}.management-lane-footnote{margin:0;color:#93a4ad;font-size:13px;font-weight:800;line-height:1.45}.management-lane-empty{display:grid;gap:6px;align-content:center;min-height:118px;padding:14px;border:1px dashed rgba(130,158,172,.22);border-radius:8px;background:#121d267a}.management-lane-empty strong{color:#eef4f7;font-size:18px}.orders-main{display:grid;grid-template-columns:minmax(360px,42%) minmax(0,1fr);gap:16px;align-items:start}.orders-list-panel,.order-empty-detail{min-width:0}.orders-list-panel{display:grid;gap:12px}.work-order-focused-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(130,158,172,.22);border-radius:8px;color:#d4dee4;background:#121d26c7}.work-order-focused-bar span{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:800}.order-empty-detail{min-height:280px;align-content:center;text-align:center}.work-order-link-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.work-order-link-row:hover{border-color:#61b5ce6b;background:#182630eb}.work-order-link-row:focus-visible{outline:3px solid rgba(91,184,214,.35);outline-offset:2px}.work-order-job-card-table{width:100%;table-layout:fixed}.work-order-job-card-table th,.work-order-job-card-table td{overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.work-order-job-card-table th:nth-child(1),.work-order-job-card-table td:nth-child(1){width:44px}.work-order-job-card-table th:nth-child(6),.work-order-job-card-table td:nth-child(6){width:84px}.work-order-job-card-table th:nth-child(7),.work-order-job-card-table td:nth-child(7){width:64px}.work-order-job-card-table th:nth-child(8),.work-order-job-card-table td:nth-child(8){width:88px}.work-order-job-card-table th:nth-child(9),.work-order-job-card-table td:nth-child(9){width:132px}.work-order-job-card-table td:last-child{overflow:visible}.job-card-status-button{min-height:30px;padding:0 8px;font-size:12px}.job-card-status-cell{white-space:nowrap}.job-card-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid rgba(133,164,180,.32);border-radius:999px;background:#0d151c14;color:#243341;font-size:12px;font-weight:800;white-space:nowrap}.job-card-status-pill.todo{border-color:#5d7a8f4d;background:#576f811a;color:#274255}.job-card-status-pill.in-progress{border-color:#53a2c452;background:#53a2c41f;color:#155270}.job-card-status-pill.completed{border-color:#4da87552;background:#4da8751f;color:#1f5a38}.job-card-status-pill.hold{border-color:#cd803157;background:#cd803124;color:#8b4b10}.job-card-status-pill.voided{border-color:#c1686852;background:#c168681f;color:#7d3131}.job-card-status-pill.undispatched{border-color:#747d8857;background:#747d8824;color:#46515b}.job-card-actions-cell{width:84px;min-width:84px;white-space:nowrap}.job-card-row-actions{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:3px}.job-card-row-actions .icon-table-action{width:30px;min-width:30px;height:30px;min-height:30px}.job-card-more-menu{position:relative}.job-card-more-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:12;display:grid;min-width:132px;padding:6px;border:1px solid rgba(130,158,172,.24);border-radius:8px;background:#101820;box-shadow:0 16px 36px #00000052}.job-card-more-popover button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#eef4f7;font:inherit;text-align:left;cursor:pointer}.job-card-more-popover button:hover{background:#829eac24}.job-card-more-popover button.danger{color:#ffb4b4}.job-card-more-empty{padding:8px 10px;color:#aebbc4;font-size:12px;line-height:1.4;white-space:nowrap}.workbench-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0b13177a}.workbench-dialog{display:grid;gap:16px;width:min(860px,96vw);max-height:min(86vh,820px);overflow:auto;padding:18px;border:1px solid rgba(130,158,172,.18);border-radius:8px;background:#101820;box-shadow:0 24px 72px #00000075}.workbench-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.workbench-dialog .eyebrow{margin:0;color:#d2a347}.workbench-dialog-heading h2{margin:4px 0 0;color:#eef4f7}.order-method-dialog{width:min(720px,96vw)}.order-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.order-method-card{display:grid;justify-items:start;gap:10px;min-width:0;min-height:180px;padding:18px;border:1px solid rgba(130,158,172,.22);border-radius:8px;color:#e8eef2;background:#121d26c7;font:inherit;text-align:left;cursor:pointer}.order-method-card:hover{border-color:#61b5ce75;background:#182630eb}.order-method-card:focus-visible{outline:3px solid rgba(91,184,214,.35);outline-offset:2px}.order-method-card svg{color:#9fb7c4}.order-method-card strong{color:#f2f6f8;font-size:22px;line-height:1.2}.order-method-card span{color:#a7b5be;font-weight:800;line-height:1.45}.order-method-card small{align-self:end;color:#d2a347;font-size:15px;font-weight:900}.order-create-form{max-width:none}.pdf-import-entry{display:grid;gap:14px}.pdf-import-dropzone{display:grid;place-items:center;min-height:180px;padding:24px;border:1px dashed rgba(97,181,206,.48);border-radius:8px;color:#e8eef2;background:#121d26c7;font-weight:900;cursor:pointer}.pdf-import-dropzone input{margin-top:12px}@media(min-width:821px){.workbench-main:has(.overview-workspace){overflow:hidden}.overview-workspace{--overview-font: clamp(14px, calc(.36vw + .72vh + 4px) , 23px);--overview-gap: clamp(10px, 1.55vh, 18px);--overview-panel-pad: clamp(12px, 1.75vh, 20px);height:100%;min-height:0;padding:var(--overview-gap);font-size:var(--overview-font);align-content:stretch;overflow:hidden}.overview-grid{height:100%;min-height:0;grid-template-rows:minmax(0,.95fr) minmax(0,1.08fr) minmax(0,1.35fr) minmax(0,1.62fr);gap:var(--overview-gap);align-items:stretch}.overview-panel{grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1.15vh,14px);min-height:0;padding:var(--overview-panel-pad)}.overview-panel-heading h2{font-size:clamp(20px,1.3em,30px)}.overview-panel-status{font-size:clamp(13px,.72em,17px)}.overview-panel-title-row svg{width:1.1em;height:1.1em}.overview-quick-actions{height:100%;gap:var(--overview-gap)}.overview-quick-action{min-height:0;height:100%;padding:clamp(12px,1.8vh,22px) clamp(14px,1.25vw,26px);font-size:clamp(18px,1.08em,25px)}.overview-quick-action small{font-size:clamp(14px,.78em,18px)}.overview-empty-state{min-height:0;height:100%;padding:clamp(14px,2vh,24px)}.overview-empty-state strong{font-size:clamp(17px,1.05em,24px)}.overview-empty-state span{font-size:clamp(15px,.86em,20px)}.overview-kpi-grid{height:100%;gap:var(--overview-gap)}.overview-kpi-card{min-height:0;height:100%;gap:clamp(8px,1.15vh,14px);padding:clamp(12px,1.6vh,20px) clamp(14px,1.15vw,24px)}.overview-kpi-card-title{padding-bottom:clamp(8px,1.1vh,14px);font-size:clamp(14px,.78em,18px)}.overview-kpi-item{align-content:center;padding:0 clamp(10px,1vw,20px)}.overview-kpi-item span{font-size:clamp(14px,.76em,18px)}.overview-kpi-item strong{font-size:clamp(22px,1.08em,30px)}.overview-dispatch-panel,.overview-flow-panel{align-content:stretch}.overview-dispatch-panel{grid-template-rows:auto minmax(0,1fr) auto}.overview-flow-panel{grid-template-rows:auto minmax(0,.62fr) minmax(0,1.22fr)}.overview-dispatch-list{grid-template-rows:repeat(2,minmax(0,1fr))}.overview-dispatch-list,.overview-flow-grid{min-height:0;height:100%;gap:var(--overview-gap)}.overview-dispatch-item,.overview-flow-card{align-content:center;min-height:0;height:100%;padding:clamp(14px,1.8vh,24px) clamp(14px,1.15vw,24px)}.overview-flow-total{height:100%;min-height:0;padding:clamp(12px,1.55vh,20px) clamp(14px,1.15vw,24px)}.overview-flow-total span,.overview-flow-card span,.overview-dispatch-item span{font-size:clamp(14px,.86em,21px)}.overview-flow-total strong,.overview-flow-card strong,.overview-dispatch-item strong{font-size:clamp(20px,1.2em,34px)}.overview-flow-total small,.overview-flow-card small,.overview-dispatch-item small,.overview-workflow-note{font-size:clamp(12px,.72em,18px)}}@media(max-width:1100px){.overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-flow-grid,.orders-main,.management-board-heading,.management-board-filters,.management-board-lanes{grid-template-columns:1fr}.management-board-heading{display:grid}.management-board-filters{min-width:0}.management-job-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.overview-grid,.overview-quick-actions,.overview-kpi-grid,.overview-flow-grid,.overview-order-due-panel .overview-kpi-grid,.overview-work-priority-panel .overview-kpi-grid{grid-template-columns:1fr}.overview-kpi-card:has(.overview-kpi-item:nth-child(3)),.overview-kpi-card:has(.overview-kpi-item:nth-child(4)){--overview-kpi-columns: 2}.overview-flow-total,.overview-dispatch-item{align-items:flex-start;flex-direction:column}.overview-flow-total small{margin-left:0}.overview-panel-heading{align-items:flex-start}.overview-panel-status{text-align:left}.management-job-card-header{display:grid}.management-job-card-badges{justify-content:flex-start}.management-job-card-facts{grid-template-columns:1fr}}@media(max-width:640px){.workbench-workspace{padding:20px}.workbench-dialog-layer{align-items:stretch;padding:12px}.workbench-dialog{width:100%;max-height:calc(100vh - 24px)}.order-method-grid{grid-template-columns:1fr}.order-method-card{min-height:148px}}.admin-shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;min-height:0;overflow:hidden;background:#f4f5f1;color:#182026}.admin-sidebar{display:flex;flex-direction:column;gap:24px;max-height:100vh;min-height:0;padding:22px;position:sticky;top:0;color:var(--factory-text);background:var(--factory-bg)}.admin-logo{width:180px;height:auto}.admin-user{align-items:flex-start;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--factory-line);border-radius:8px;background:var(--factory-surface);font-weight:900}.admin-user small{color:var(--factory-muted);font-weight:800}.admin-nav{display:grid;min-height:0;gap:18px;overflow:auto;padding-right:2px}.admin-nav-group{display:grid;gap:8px}.admin-nav-heading{padding:0 12px;border:0;color:var(--factory-brand);font-size:12px;font-weight:900;letter-spacing:0;background:transparent;text-align:left}.admin-nav-heading.collapsible{display:flex;align-items:center;justify-content:space-between;min-height:32px;border-radius:6px;cursor:pointer}.admin-nav-heading.collapsible:hover{color:var(--factory-text);background:var(--factory-surface)}.admin-nav-heading svg{transition:transform .16s ease}.admin-nav-heading svg.open{transform:rotate(180deg)}.admin-nav-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:6px;color:var(--factory-muted);background:transparent;font-weight:800;cursor:pointer}.admin-nav-item:hover{color:var(--factory-text);border-color:var(--factory-line);background:var(--factory-panel)}.admin-nav-item:disabled{opacity:.48;cursor:not-allowed}.admin-nav-item:disabled:hover{color:var(--factory-muted);border-color:transparent;background:transparent}.admin-nav-item.active{color:var(--factory-bg);border-color:var(--factory-brand);background:var(--factory-brand)}.sidebar-actions{flex:0 0 auto;align-items:stretch;flex-direction:column;margin-top:auto}.admin-sidebar .sidebar-actions .ghost-button{margin-top:0}.admin-workspace{padding:28px;overflow:auto}.admin-workspace .eyebrow{color:var(--factory-brand-deep)}.admin-workspace h1{margin-top:6px;font-size:34px}.admin-copy{margin-top:12px;color:#5d6863;font-size:17px;font-weight:700}.workspace-heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.admin-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}.m3-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.m3-main{display:grid;gap:14px;min-width:0}.list-toolbar{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto auto;gap:10px;padding:12px;border:1px solid #d5d8d0;border-radius:8px;background:#fff;box-shadow:0 10px 26px #1f252914}.list-toolbar input,.list-toolbar select,.detail-heading select{min-height:42px;padding:0 10px;border:1px solid #c3cac2;border-radius:6px;color:#172027;background:#fff;font:inherit;font-weight:800}.selected-row td{background:#fff7e4}.m3-main tbody tr{cursor:pointer}.m3-main tbody tr:hover td{background:#f7f3e8}.detail-panel{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid #d5d8d0;border-radius:8px;background:#fff;box-shadow:0 10px 26px #1f252914}.detail-panel .table-panel{min-width:0;overflow-x:hidden}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.compact-switch{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid #d5d8d0;border-radius:6px;color:#1f282e;background:#f8f9f5;font-size:13px;font-weight:900;white-space:nowrap}.compact-switch input{width:18px;height:18px;accent-color:var(--factory-cyan)}.inline-edit-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e4dd;border-radius:8px;background:#f8f9f5}.inline-edit-form.add-item-form{grid-template-columns:minmax(160px,1fr) 90px 110px minmax(140px,1fr) auto auto}.inline-edit-form.work-order-edit-form{grid-template-columns:minmax(170px,1.2fr) minmax(90px,.6fr) minmax(170px,1fr) minmax(120px,.8fr) minmax(150px,1fr) auto}.add-item-switch{min-height:42px;padding:0 10px}.detail-heading h2,.detail-panel h3{color:#1d252b}.mini-table,.detail-metrics{display:grid;gap:8px}.mini-row,.detail-metrics{grid-template-columns:minmax(0,1fr) 90px minmax(140px,220px)}.mini-row{display:grid;gap:10px;padding:10px 12px;border:1px solid #e2e4dd;border-radius:6px;color:#1f282e;background:#f8f9f5}.mini-row.item-row{grid-template-columns:minmax(0,1fr) 120px minmax(120px,1fr) auto;align-items:center}.mini-row.voided{color:#68746e;background:repeating-linear-gradient(135deg,#1f25290a 0,#1f25290a 8px,#1f252914 8px,#1f252914 9px,#1f25290a 9px,#1f25290a 17px),#eef0eb}.item-edit-form{display:grid;grid-column:1 / -1;grid-template-columns:minmax(160px,1fr) 90px 120px minmax(150px,1fr) auto auto;gap:10px;align-items:end}.mini-row small{color:#68746e;font-weight:750}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-metrics span{min-height:38px;padding:8px 10px;border:1px solid #e2e4dd;border-radius:6px;color:#1f282e;background:#f8f9f5;font-weight:850}.detail-note{display:grid;gap:4px;padding:10px;border:1px solid #e2e4dd;border-radius:6px;color:#1f282e;background:#f8f9f5}.detail-note span{color:#68746e;font-size:13px;font-weight:900}.detail-note p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:850}.split-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e4dd;border-radius:8px;background:#f8f9f5}.split-form h3{grid-column:1 / -1}.form-item-list{display:grid;gap:6px}.form-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e2e4dd;border-radius:6px;color:#1f282e;background:#f8f9f5;font-weight:800}.form-item-row span{min-width:0;overflow-wrap:anywhere}.form-item-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-form,.workbench-form,.table-panel{border:1px solid #d5d8d0;border-radius:8px;background:#fff;box-shadow:0 10px 26px #1f252914}.admin-form,.workbench-form{display:grid;gap:14px;padding:18px}.admin-form h2,.workbench-form h2{color:#1d252b;font-size:20px}.field{display:grid;gap:7px;color:inherit;font-weight:850}.field span{color:inherit;font-size:14px}.field small{color:#6b7771;font-size:12px;font-weight:750;line-height:1.45}.field input,.field select{width:100%;min-height:42px;padding:0 10px;border:1px solid #c3cac2;border-radius:6px;color:#172027;background:#fff;font:inherit}.field input:disabled,.field select:disabled{color:#7a8580;border-color:#d7dad3;background:repeating-linear-gradient(135deg,#1f25290d 0,#1f25290d 8px,#1f252917 8px,#1f252917 9px,#1f25290d 9px,#1f25290d 17px),#eef0eb;cursor:not-allowed;opacity:1}.login-panel .field input,.login-panel .field select{min-height:48px;padding:0 12px;color:var(--factory-text);border-color:var(--factory-line);background:var(--factory-panel)}.login-submit{width:100%;min-height:50px;margin-top:26px;font-size:16px}.field input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--factory-cyan)}.switch-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border:1px solid #dfe2da;border-radius:8px;color:#1f282e;background:#f8f9f5;font-weight:900;cursor:pointer}.switch-field>span:first-child{font-size:14px}.switch-field input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;width:48px;height:28px;border:1px solid #aeb8b1;border-radius:999px;background:#dfe3dd;transition:border-color .16s ease,background .16s ease}.switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #1f25292e;transition:transform .16s ease}.switch-field input:checked+.switch-track{border-color:#5bb8d6b8;background:var(--factory-cyan)}.switch-field input:checked+.switch-track .switch-thumb{transform:translate(20px)}.date-picker-field{position:relative;display:grid;min-width:0}.date-picker-field input{min-width:0;padding-right:44px}.date-picker-button{position:absolute;top:5px;right:5px;display:grid;width:32px;height:32px;place-items:center;border:1px solid #c3cac2;border-radius:6px;color:#2d3a42;background:#f8f9f5;cursor:pointer}.date-picker-button:hover{color:#172027;border-color:var(--factory-brand-deep);background:#fff7e4}.form-error{color:var(--factory-red);font-weight:850}.form-section{display:grid;gap:12px;padding:14px 0 16px;border-top:1px solid #dfe2da}.form-section-heading{display:flex;align-items:center;min-height:28px}.form-section-heading h3{color:#1d252b;font-size:15px;font-weight:950}.form-section-muted{padding:14px;border:1px solid #dfe2da;border-radius:8px;background:#f8f9f5}.table-panel{overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:12px;border-bottom:1px solid #e2e4dd;text-align:left;vertical-align:middle;font-size:14px}th{color:#3e474d;background:#eceee8;font-weight:900}td{color:#1f282e;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.empty-table{padding:20px;color:#68746e;font-weight:800}.status-icon{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid currentColor;border-radius:999px}.status-icon.active{color:#1d7043;background:#edf8f1}.status-icon.inactive{color:#9b312d;background:#fff0ef}.col-is_active{width:48px;text-align:center}.col-actions{width:82px;text-align:center}.resource-operations .col-code{width:18%}.resource-operations .col-name{width:13%}.resource-operations .col-operation_type{width:58px}.resource-operations .col-standard_work_minutes{width:78px}.resource-operations .col-description{width:auto}.resource-operations th.col-standard_work_minutes{font-size:12px;line-height:1.25}.permission-col{width:108px;text-align:center}.permission-check{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:54px;min-height:34px;border:1px solid #d5d8d0;border-radius:6px;color:#1d7043;background:#edf8f1}.permission-check input{width:18px;height:18px;accent-color:var(--factory-cyan)}.permission-check:has(input:not(:checked)){color:#68746e;background:#f8f9f5}.permission-check:has(input:disabled){opacity:.58;cursor:not-allowed}.permission-check.pending{border-color:var(--factory-brand-deep);color:var(--factory-brand-deep);background:#fff7e4}.current-account{display:block;margin-top:4px;color:var(--factory-brand-deep);font-weight:900}.pending-permission-count{margin:0;color:var(--factory-brand-deep);font-weight:900;white-space:nowrap}.account-permission-actions{align-items:center}.account-permission-actions .primary-button{flex:0 0 auto;min-height:38px}.account-permission-actions .primary-button:disabled{opacity:.55;cursor:not-allowed}.account-permission-dialog{max-width:min(680px,calc(100vw - 32px))}.permission-change-list{display:grid;gap:8px;max-height:46vh;overflow:auto}.permission-change-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 130px;gap:10px;padding:10px 12px;border:1px solid #e2e4dd;border-radius:6px;color:#1f282e;background:#f8f9f5;font-weight:850}.permission-change-row span{overflow-wrap:anywhere}.permission-change-row em{color:var(--factory-brand-deep);font-style:normal;font-weight:900}@media(max-width:820px){.portal-actions,.workbench-shell,.admin-shell,.admin-grid,.m3-grid,.list-toolbar,.detail-metrics,.inline-edit-form,.item-edit-form,.split-form,.login-stage{grid-template-columns:1fr}.login-shell{padding:18px}.login-intro,.login-panel{min-height:auto}.login-intro{padding:24px}.login-brand-lockup .portal-logo{width:min(240px,68vw)}.login-title-block{margin-top:80px}.admin-shell{height:auto;min-height:100vh;overflow:visible}.admin-sidebar{max-height:none;position:static}.admin-nav{overflow:visible}}
