.job-row-has-estimate td:first-child{box-shadow:inset 3px 0 0 var(--success)}.job-row-has-estimate:not(.job-row-selected) td{background:color-mix(in srgb, var(--success-bg) 55%, transparent)}.job-row-in-progress.job-row-has-estimate:not(.job-row-selected) td{background:color-mix(in srgb, var(--warning-bg) 70%, var(--success-bg))}.job-est-cell{flex-direction:column;align-items:center;gap:.4rem;display:flex}.job-est-chips{flex-wrap:wrap;justify-content:center;gap:.25rem;max-width:9.5rem;display:flex}.job-est-chip{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;gap:.2rem;padding:.12rem .38rem;font-size:.62rem;font-weight:800;line-height:1.2;display:inline-flex}.job-est-chip--none{color:var(--text-muted);background:#f8fafc;border-color:#e2e8f0;font-weight:700}.job-est-chip--sales{color:var(--primary);background:var(--primary-light,#eff6ff);border-color:#bfdbfe}.job-est-chip--planning{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.job-est-chip--ready{color:#0f766e;background:#ccfbf1;border-color:#5eead4}.job-est-chip--dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}
.adj-row-overlap td{box-shadow:inset 3px 0 0 var(--warning);background:var(--warning-bg)!important}.adj-row-overlap:hover td{background:color-mix(in srgb, var(--warning-bg) 70%, var(--warning-border))!important}.adj-overlap-hint{color:var(--warning);margin-top:.2rem;font-size:.68rem;font-weight:700;line-height:1.25}.adj-clash-filter{border:1px solid var(--panel-border);color:var(--text-secondary);font:inherit;cursor:pointer;background:#fff;border-radius:10px;min-height:34px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;transition:border-color .15s,color .15s,background .15s}.adj-clash-filter:hover{border-color:var(--warning-border);color:var(--warning);background:var(--warning-bg)}.adj-clash-filter.is-on{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.adj-clash-filter:focus-visible{outline:2px solid var(--warning);outline-offset:2px}.adj-overlap-pill{vertical-align:middle;letter-spacing:.04em;text-transform:uppercase;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px;margin-left:.4rem;padding:.12rem .4rem;font-size:.62rem;font-weight:800;display:inline-block}.adj-mode-switch{background:#f1f5f9;border:1px solid #0f172a14;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.adj-mode-switch button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:32px;padding:.4rem .85rem;font-size:.78rem;font-weight:700}.adj-mode-switch button:hover{color:var(--text-primary)}.adj-mode-switch button.is-active{color:var(--text-primary);background:#fff;box-shadow:0 1px 2px #0f172a14}.adj-mode-switch button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.sub-panel{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:stretch;gap:.85rem;min-height:calc(100vh - 12rem);display:grid}.sub-rail{border:1px solid var(--panel-border);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;min-height:0;padding:.75rem;display:flex}.sub-rail-block{flex-direction:column;gap:.45rem;min-height:0;display:flex}.sub-rail-workers{flex:1;min-height:0}.sub-rail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.66rem;font-weight:800}.sub-craft-list{flex-direction:column;gap:.2rem;max-height:180px;display:flex;overflow:auto}.sub-craft,.sub-worker{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;display:flex}.sub-craft{justify-content:space-between;padding:.45rem .55rem;font-size:.8rem;font-weight:600}.sub-craft:hover,.sub-worker:hover{background:#f8fafc}.sub-craft.is-active,.sub-worker.is-active{color:var(--primary);background:#2563eb14}.sub-craft:focus-visible,.sub-worker:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.sub-craft-count{font-family:var(--font-mono);color:var(--text-muted);background:#f1f5f9;border-radius:6px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.sub-craft.is-active .sub-craft-count{color:var(--primary);background:#2563eb1f}.sub-search{color:var(--text-muted);background:#fff;border:1px solid #0f172a1f;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .55rem;display:flex}.sub-search input{width:100%;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;min-height:28px;font-size:.8rem}.sub-worker-list{flex-direction:column;flex:1;gap:.15rem;min-height:160px;display:flex;overflow:auto}.sub-worker{padding:.45rem .5rem}.sub-worker-avatar{width:30px;height:30px;font-family:var(--font-mono);color:#fff;background:linear-gradient(140deg,#2563eb 0%,#0d9488 100%);border-radius:8px;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:700;display:grid}.sub-worker-meta{flex-direction:column;gap:.05rem;min-width:0;display:flex}.sub-worker-name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.sub-worker-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600}.sub-main{border:1px solid var(--panel-border);background:#fff;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.sub-head{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.sub-head-copy h3{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.sub-head-copy p{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.sub-head-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sub-toggle{border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;align-items:center;gap:.45rem;min-height:34px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.sub-toggle input{accent-color:var(--primary);width:14px;height:14px}.sub-toggle.is-on{color:var(--primary);background:#2563eb0f;border-color:#2563eb59}.sub-refresh{align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.78rem;display:inline-flex}.sub-alert{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.65rem .85rem;font-size:.82rem;font-weight:600;display:flex}.sub-alert button{border:1px solid var(--danger-border);color:var(--danger);cursor:pointer;background:#fff;border-radius:8px;padding:.3rem .65rem;font-size:.75rem;font-weight:700}.sub-table-wrap{flex:1;min-height:0;overflow:auto}.sub-table{margin:0;font-size:.84rem}.sub-table th{z-index:1;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;background:#f8fafc;font-size:.66rem;position:sticky;top:0}.sub-source{letter-spacing:.03em;text-transform:uppercase;border:1px solid #0000;border-radius:6px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.sub-source--adj{color:var(--indigo-600);background:#eef2ff;border-color:#ddd9fe}.sub-source--kiosk{color:var(--teal-600);background:#ecfeff;border-color:#a5f3fc}.sub-source--remote{color:var(--warning);border-color:var(--warning-border);background:#fff7ed}.sub-job{font-family:var(--font-mono);background:0 0;font-size:.8rem;font-weight:600}.sub-time{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.76rem}.sub-hours{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.sub-status{white-space:nowrap;border:1px solid;border-radius:6px;padding:.12rem .45rem;font-size:.65rem;font-weight:700;display:inline-block}.sub-notes{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:.78rem;overflow:hidden}.sub-pager{border-top:1px solid var(--panel-border);color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.75rem;display:flex}.sub-pager .btn{padding:.3rem .65rem;font-size:.72rem}.sub-empty{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.sub-empty-icon{width:48px;height:48px;color:var(--text-secondary);background:#f1f5f9;border-radius:12px;place-items:center;margin-bottom:.75rem;display:grid}.sub-empty strong{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;display:block}.sub-empty p{max-width:36ch;margin:0;font-size:.85rem;line-height:1.45}.sub-empty-inline{color:var(--text-muted);text-align:center;padding:1rem .5rem;font-size:.8rem}.sub-skel-stack{flex-direction:column;gap:.55rem;padding:1rem;display:flex}.sub-skel{background:linear-gradient(100deg,#e6ebf2 8%,#f2f6fa 40%,#e6ebf2 72%) 0 0/200% 100%;border-radius:8px;height:44px;animation:1.2s linear infinite sub-shimmer}@keyframes sub-shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@media (max-width:900px){.sub-panel{grid-template-columns:1fr;min-height:0}.sub-rail{max-height:none}.sub-craft-list{flex-flow:wrap;max-height:none}.sub-worker-list{max-height:220px}}@media (prefers-reduced-motion:reduce){.sub-skel{animation:none}}
