:root{--bg:#f5f2eb;--surface:#fffdf8;--ink:#29322e;--muted:#60675f;--line:#dedfd5;--green:#224f40;--green-soft:#e8eee6;--red:#963e2b;--red-soft:#fbe9e1;--focus:#416d57;--radius:6px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit;color:inherit}button,select,a{touch-action:manipulation}button{cursor:pointer;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:6px 10px;font-weight:600}button:hover{background:#eeeede;border-color:#98aa96}button:disabled{opacity:.5;cursor:default}a{color:var(--green);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.timeline-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input,select{caret-color:var(--green);accent-color:var(--green)}::selection{background:#cddfc9;color:#173625}*{scrollbar-color:#a7b5a1 #efefe5;scrollbar-width:thin}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}button,select,input{max-width:100%}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--surface);padding:10px}.skip-link:focus{top:8px}.app{display:grid;grid-template-columns:164px minmax(0,1fr);min-height:100vh}.sidebar{background:#fcfaf5;border-inline-end:1px solid var(--line);padding:18px 8px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:750;text-decoration:none;color:var(--ink);padding:0 5px;letter-spacing:-.02em}.brandmark{display:grid;place-items:center;background:var(--green);color:white;border-radius:6px;width:26px;height:26px;font-size:20px}.company{padding:12px 7px;color:var(--muted);margin:8px 0}.company b{display:block;color:var(--ink);font-size:12px}.company small{font-size:11px}.nav{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;border:0;text-align:start;background:transparent;color:var(--muted);padding:8px;margin-bottom:3px;border-radius:5px;font-size:13px}.nav.active{background:var(--green-soft);color:var(--green)}.nav-count{font-size:11px;margin-inline-start:auto;background:#dce6d9;border-radius:3px;padding:0 5px}.side-bottom{margin-top:auto;padding-top:24px}.side-bottom p{font-size:11px;color:var(--muted);padding:4px 8px}.main{min-width:0}.topbar{min-height:66px;padding:12px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fcfaf5}.page-heading{min-width:0}h1{font-size:23px;font-weight:650;letter-spacing:-.02em;line-height:1.15}.page-heading p{margin-top:4px;font-size:12px;color:var(--muted)}.header-tools{display:flex;align-items:center;gap:12px}.quiet{background:transparent;border-color:transparent;color:var(--muted);font-size:12px}.language-toggle,.view-toggle{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;padding:2px;background:#eeeede;gap:2px}.language-toggle button,.view-toggle button{border:0;min-height:28px;padding:4px 8px;font-size:11px;background:transparent;color:var(--muted)}.language-toggle button.active,.view-toggle button.active{background:var(--surface);color:var(--green)}main{padding:12px 20px 16px;max-width:1720px;margin:auto}.scenario-bar{display:flex;align-items:center;gap:14px;margin-bottom:12px}.scenario-choice{display:flex;align-items:center;gap:8px;min-width:0}.scenario-choice label{font-size:12px;color:var(--muted);white-space:nowrap}.scenario-choice select{min-height:36px;border:1px solid #aebfac;border-radius:5px;background:var(--surface);padding:6px 8px;font-weight:600;font-size:12px;max-width:335px}.scenario-bar p{font-size:12px;color:var(--muted);flex:1}.scenario-bar>.quiet{white-space:nowrap}.stats{display:flex;border-block:1px solid var(--line);padding:8px 0;gap:24px}.stat{display:flex;align-items:baseline;gap:9px;min-width:0}.stat-label{font-size:12px;color:var(--muted)}.stat-number{font-size:18px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-number small{font-size:11px;font-weight:400;color:var(--muted);margin-inline-start:5px}.stat.risk .stat-number{color:var(--red)}.flowbar{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:11px;color:var(--muted)}.steps{display:flex;align-items:center;gap:7px}.steps svg{width:12px;height:12px}.steps .current{font-weight:700;color:var(--green)}.steps .complete{color:var(--green)}#state-label{text-align:end}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:12px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.panel h2{font-size:14px;font-weight:700;letter-spacing:-.01em}.sub{font-size:11px;color:var(--muted);margin-top:3px}.panel-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary{background:var(--green);border-color:var(--green);color:#fff;font-size:12px}.primary:hover{background:#173e30;border-color:#173e30}.secondary{color:var(--green);border-color:#aabfaa;font-size:12px}.legend{display:flex;gap:16px;padding:9px 12px;font-size:11px;color:var(--muted);align-items:center}.legend span{display:flex;align-items:center;gap:5px}.legend i{height:7px;width:7px;background:#8faf93;border-radius:2px}.legend .warn{background:#cf826b}.legend .travel{height:0;width:14px;border-top:2px dashed #7f9279;background:none}.legend .mobile-hint{display:none}.timeline-scroll{overflow-x:auto}.timeline{min-width:810px;padding:0 12px 8px}.time-axis{display:grid;grid-template-columns:108px minmax(0,1fr);font-size:11px;color:var(--muted)}.ticks{height:30px;position:relative;border-bottom:1px solid var(--line)}.tick{position:absolute;top:0;transform:translateX(-50%);font-size:16px;font-weight:650;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.tick small{font-size:11px;font-weight:400;color:var(--muted)}.tick:first-child{transform:none}.tick:last-child{transform:translateX(-100%)}.lane{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:calc(112px + var(--stack-offset,0px))}.crew-label{display:flex;flex-direction:column;justify-content:center;padding-inline-end:8px;gap:3px}.crew-label b{font-size:12px;display:flex;align-items:center;gap:6px}.crew-label i{width:6px;height:6px;border-radius:50%}.crew-label small{font-size:11px;color:var(--muted)}.lane-track{position:relative;min-height:calc(112px + var(--stack-offset,0px));border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),#eae9e0 calc(12.5% - 1px),#eae9e0 12.5%)}.lane.unavailable .lane-track{background-color:#eeece3}.job{position:absolute;top:8px;min-width:32px;height:59px;border:1px solid color-mix(in srgb,var(--crew) 40%,var(--surface));border-radius:4px;background:color-mix(in srgb,var(--crew) 11%,var(--surface));transform-origin:top left;z-index:2;container-type:inline-size}.job.overlapping{z-index:3}.job-body{display:block;width:100%;height:100%;border:0;border-radius:3px;min-height:0;background:transparent;padding:5px 10px;text-align:start;overflow:hidden;cursor:grab;user-select:none;font-weight:400}.job-body:hover{background:#ffffff50}.job-time{display:block;font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}.job-time span{font-size:11px;font-weight:400;letter-spacing:0}.job strong{display:block;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job small{display:block;font-size:11px;white-space:nowrap;color:#455446}.job.has-issue{background:var(--red-soft);border-color:#c48673;color:#743a2a}.job.has-issue small{color:#865341}.job.changed{border:2px solid #53764e}.resize-handle{position:absolute;top:0;bottom:0;width:11px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:ew-resize;z-index:4;touch-action:none}.resize-handle.left{left:0}.resize-handle.right{right:0}.resize-handle::after{content:'';position:absolute;height:19px;width:2px;background:currentColor;opacity:.3;top:calc(50% - 9px);left:4px;border-radius:1px}.resize-handle:hover{background:#ffffff70}.travel-segment{position:absolute;top:calc(74px + var(--stack-offset,0px));height:0;border-top:2px dashed #809475;min-width:20px;pointer-events:none;z-index:1;color:#4b6144}.travel-segment>span{position:absolute;top:2px;left:50%;transform:translateX(-50%);background:var(--surface);padding:0 2px;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}.travel-risk{border-color:#b87158;color:var(--red)}.travel-risk>span{left:0;transform:none;font-size:11px}.lane-alert{position:absolute;top:calc(92px + var(--stack-offset,0px));padding:0 5px;min-height:18px;max-width:185px;border:0;border-radius:3px;background:var(--red-soft);color:var(--red);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-alert>span{margin-inline-end:4px;font-weight:800}.empty-lane{position:absolute;left:14px;top:43px;font-size:11px;color:var(--muted)}.unassigned-list{margin:0 12px 10px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;color:var(--red)}.unassigned-list button{display:flex;width:100%;gap:8px;align-items:center;justify-content:space-between;text-align:start;margin-top:5px;padding:5px 8px;min-height:32px;font-size:11px;background:var(--red-soft);border-color:#d9b4a5}.unassigned-list button>span:last-child{display:flex;align-items:center;white-space:nowrap;gap:5px;font-variant-numeric:tabular-nums}.unassigned-list svg{width:14px}.board-bottom{padding:8px 12px;border-top:1px solid var(--line);background:#f6f5ed;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}.review-banner{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--green-soft);color:var(--green);font-size:11px}.review-banner svg{width:14px;height:14px}.risk-head{background:#f8eee7}.pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 5px;border-radius:3px;background:var(--red-soft);color:var(--red)}.pill.ok{background:var(--green-soft);color:var(--green)}.pill svg{width:13px;height:13px}.issue{display:block;border:0;border-radius:0;border-bottom:1px solid var(--line);width:100%;padding:11px 12px;text-align:start;background:var(--surface);min-height:0}.issue:hover{background:#f9eee6}.issue-title{font-size:12px;display:flex;align-items:center;gap:7px}.warning-icon{display:inline-grid;place-items:center;background:#f1d6ca;color:var(--red);width:16px;height:16px;border-radius:3px;font-size:11px}.issue p{font-weight:400;color:var(--muted);font-size:11px;margin-top:5px}.issue-link{font-size:11px;color:var(--green);display:flex;align-items:center;gap:4px;margin-top:5px}.issue-link svg{width:12px;height:12px}.helper,.approval,.success-body{padding:12px;font-size:12px;color:var(--muted)}.helper .primary,.approval .primary,.success-body>.primary{width:100%;margin-top:8px}.approval p,.success-body .sub{margin-top:7px;font-size:11px}.approval .quiet{display:block;margin:4px auto 0}.success-body .quiet{display:block;margin:4px auto}.change{padding:10px 12px;border-bottom:1px solid var(--line)}.change h3{font-size:12px;margin-bottom:5px}.change p{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:baseline;margin-top:3px;font-variant-numeric:tabular-nums}.change .new{color:var(--green);font-weight:600}.tag{min-width:38px;font-size:11px;font-weight:400}.table-scroll{overflow-x:auto}.orders-table{width:100%;min-width:1080px;table-layout:fixed;border-collapse:collapse;text-align:start;font-size:12px}.orders-table th{font-size:11px;font-weight:600;color:var(--muted);padding:8px;border-bottom:1px solid var(--line);background:#f4f4eb;text-align:start}.orders-table th:first-child{width:24%}.orders-table th:nth-child(2){width:15%}.orders-table th:nth-child(4){width:7%}.orders-table th:last-child{width:14%}.orders-table td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}.orders-table tbody tr:last-child td{border-bottom:0}.orders-table input,.orders-table select{width:100%;min-width:0;min-height:34px;height:34px;border:1px solid #c7cdc0;border-radius:4px;background:var(--surface);padding:5px 6px;font-size:14px;font-variant-numeric:tabular-nums}.orders-table input:hover,.orders-table select:hover{border-color:#92a48a}.orders-table input:focus,.orders-table select:focus{background:#fff}.orders-table input[type=number]{padding-inline-end:3px}.object-cell>input{font-weight:600}.object-meta{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:var(--muted);margin-top:3px}.object-meta>select{width:auto;max-width:84px;min-height:24px;height:24px;padding:1px 3px;border:0;background:transparent;font-size:11px}.object-meta>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-issues{font-size:11px;line-height:1.3;color:var(--red);margin-top:3px;overflow-wrap:anywhere}.row-error{font-size:11px;color:var(--red);margin-top:4px}.row-error:empty{display:none}.orders-table [aria-invalid=true]{border-color:var(--red);background:#fff0e8}.row-invalid{background:#fef0e8}.selected-row{background:#edf1e8}.check-cell{padding-top:10px!important}.row-check{white-space:nowrap}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-card{padding:12px}.team-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.team-card>p{font-size:12px;color:var(--muted);margin-top:5px}.team-tasks{border-top:1px solid var(--line);margin-top:10px;padding-top:5px}.team-tasks>button{display:flex;gap:12px;text-align:start;border:0;background:transparent;width:100%;font-size:12px;font-weight:400;min-height:30px;padding:4px 0}.team-tasks>button span{font-variant-numeric:tabular-nums;color:var(--muted)}.team-card>.secondary{margin-top:10px}.footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-top:10px}#save-status{color:var(--green);text-align:end}.drop-target{outline:2px solid #6e8a62;outline-offset:-2px;background-color:#eaf0e5}.drag-source{opacity:.25}.drag-ghost{position:fixed;z-index:80;pointer-events:none;box-shadow:0 8px 24px #28352430;opacity:.95}.drag-tooltip{position:fixed;z-index:81;padding:8px 10px;background:#293d31;color:white;font-size:12px;max-width:290px;border-radius:5px;pointer-events:none;font-variant-numeric:tabular-nums}.schedule-dragging{user-select:none;cursor:grabbing}.schedule-dragging *{cursor:grabbing!important}dialog{border:1px solid var(--line);border-radius:10px;width:min(540px,calc(100% - 32px));max-height:90vh;padding:0;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#25362980}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:18px;letter-spacing:-.02em}.icon-button{display:grid;place-items:center;width:36px;padding:0;background:transparent;border:0}#modal-body{padding:16px}.modal-copy p{font-size:14px;color:var(--muted);margin-bottom:12px}.modal-copy ol{padding-inline-start:22px;font-size:14px;margin:0}.modal-copy li{margin-bottom:12px}.modal-copy h3{font-size:14px;margin:18px 0 7px}#toast{display:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:90;padding:10px 16px;background:#243e2e;color:#fff;border-radius:6px;max-width:calc(100vw - 32px);font-size:13px}#toast.show{display:block}
@container(max-width:125px){.job-body{padding:4px 9px}.job-time{font-size:13px;line-height:1.1}.job-time span{font-size:11px;display:block}.job strong{font-size:11px}.job small{display:none}}
@container(max-width:65px){.job-time{font-size:11px}.job strong{display:none}}
@media(max-width:1280px){.workspace{grid-template-columns:minmax(0,1fr)}.risk-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.risk-panel>.panel-head,.risk-panel>.helper,.risk-panel>.approval{grid-column:1/-1}.risk-panel .issue:nth-child(even){border-inline-end:1px solid var(--line)}}
@media(max-width:960px){.scenario-bar p{display:none}.scenario-bar>.quiet{margin-inline-start:auto}.stats{gap:18px}.scenario-choice select{max-width:320px}.app{grid-template-columns:145px minmax(0,1fr)}.brand{font-size:17px}.nav{font-size:12px}}
@media(max-width:720px){body{font-size:16px}.app{grid-template-columns:1fr}.sidebar{padding:10px 12px 0;border-inline-end:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:19px}.company,.side-bottom{display:none}.sidebar nav{display:flex;gap:4px;margin-top:8px}.nav{flex:1;width:auto;justify-content:center;margin:0;min-height:40px;border-radius:4px 4px 0 0;font-size:14px}.nav-count{margin-inline-start:0}.nav.active{border-bottom:1px solid var(--green)}.nav svg{width:16px;height:16px}.topbar{padding:10px 12px;min-height:64px;align-items:start;gap:8px}.page-heading p{font-size:12px;max-width:34ch}h1{font-size:20px}.header-tools{gap:5px}.header-tools>.quiet{font-size:11px;min-height:32px;padding:3px}.language-toggle button{padding:4px 6px;font-size:11px;min-height:28px}.language-toggle{flex-shrink:0}main{padding:10px 12px 16px}.scenario-bar{align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.scenario-choice{flex:1;min-width:0;display:block}.scenario-choice label{font-size:11px;display:block;margin-bottom:3px}.scenario-choice select{font-size:16px;min-height:40px;width:100%;max-width:100%;font-weight:500;padding:5px 4px}.scenario-bar>.quiet{padding:4px;min-height:40px;font-size:11px;max-width:75px;white-space:normal;margin-top:18px;line-height:1.2}.stats{gap:8px;justify-content:space-between;padding:8px 0}.stat{display:block}.stat-label{font-size:11px;display:block}.stat-number{font-size:18px}.stat-number small{font-size:11px}.flowbar{font-size:11px;flex-wrap:wrap;padding:8px 0}.steps{gap:5px}#state-label{font-size:11px}.panel-head{padding:10px;flex-wrap:wrap}.panel-tools{gap:6px}.panel-head .panel-tools{width:100%}.panel h2{font-size:15px}.primary,.secondary{font-size:13px;min-height:40px}.panel-tools>.primary{flex:1}.panel-tools>.secondary{flex:1}.legend{padding:9px 10px;gap:12px;flex-wrap:wrap;font-size:11px}.legend .mobile-hint{display:block;width:100%;font-size:11px}.timeline{min-width:830px;padding:0 10px 8px}.crew-label{position:sticky;left:0;z-index:6;background:var(--surface)}.crew-label small{font-size:11px}.risk-panel{display:block}.risk-panel .issue:nth-child(even){border-inline-end:0}.issue{padding:12px;font-size:14px}.issue-title{font-size:14px}.issue p{font-size:13px}.issue-link{font-size:12px}.team-grid{grid-template-columns:1fr}.team-card>p,.team-tasks>button{font-size:14px}.table-scroll{overflow:visible}.orders-table{display:block;min-width:0;table-layout:auto}.orders-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.orders-table tbody{display:block}.orders-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;border-bottom:1px solid var(--line)}.orders-table td{display:block;border:0!important;padding:0;min-width:0}.orders-table td::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.orders-table .object-cell{grid-column:1/-1}.orders-table .object-cell::before{display:none}.orders-table input,.orders-table select{font-size:16px;min-height:40px;height:40px;padding:7px 8px}.object-meta{font-size:11px;gap:8px}.object-meta>select{font-size:16px;min-height:34px;height:34px;max-width:125px;padding:3px 4px}.object-meta>span:last-child{font-size:11px}.check-cell{grid-column:1/-1;padding-top:0!important}.check-cell::before{display:none!important}.row-issues,.row-error{font-size:12px;line-height:1.4}.row-check{font-size:12px}.footer{flex-direction:column;gap:4px;font-size:11px}#save-status{text-align:start}.modal-copy p,.modal-copy li{font-size:16px}.view-toggle{flex:1}.view-toggle button{flex:1;min-height:34px}.approval p,.success-body .sub{font-size:12px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,border-color .12s}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Interval context and linked conflicts. The gap is not a promise that any job fits. */
.lane,.lane-track{min-height:calc(128px + var(--stack-offset,0px))}
.lane-alert{top:calc(104px + var(--stack-offset,0px))}
.legend .free{background:#d8e6d5;border:1px solid #83997c}
.gap-segment{position:absolute;top:calc(73px + var(--stack-offset,0px));height:27px;min-height:0;min-width:3px;padding:0 2px;border:0;border-top:1px dashed #8d9c86;border-radius:0;background:transparent;color:#43593b;z-index:1;overflow:hidden;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;text-align:center}
.gap-segment:hover,.gap-segment:focus-visible{background:#e8eee4;border-color:#54704a;z-index:5}
.gap-free{position:absolute;top:-1px;height:5px;background:#bdd1b7;pointer-events:none}
.gap-label{position:relative;display:block;line-height:24px;white-space:nowrap}
.gap-tight{color:var(--red);border-color:#b87158}.gap-tight .gap-free{background:#cf826b}
.job.linked-hover{outline:2px solid var(--green);outline-offset:2px;z-index:7}
.issue.linked-hover{background:#f3ddd2;box-shadow:inset 0 0 0 1px #af715c}
#schedule-tip{position:fixed;z-index:80;width:max-content;max-width:min(330px,calc(100vw - 16px));padding:12px 14px;background:#293b31;color:#fcfaf5;border-radius:6px;pointer-events:none;font-size:12px;line-height:1.45;box-shadow:0 8px 24px #24342c26}
#schedule-tip[hidden]{display:none}#schedule-tip>b{font-size:14px}#schedule-tip p{margin-top:4px}#schedule-tip small{display:block;font-size:11px;color:#dbe6d9;margin-top:7px}.tip-issue{border-top:1px solid #687b6b;margin-top:9px;padding-top:8px}.tip-issue strong{font-size:12px;color:#ffd8c6}
/* Calm editable table: the row carries structure; controls appear on hover or focus. */
.orders-table th{background:#f1f2eb;padding-block:11px}.orders-table td{padding-block:9px;border-bottom-color:#e9e9e0}.orders-table tbody tr:hover{background:#f5f6ef}.orders-table tbody tr.row-invalid{background:#fef0e8}
.orders-table input,.orders-table select{border-color:transparent;background:transparent;border-radius:4px;transition:border-color .12s,background .12s}
.orders-table input:hover,.orders-table select:hover,.orders-table tr:focus-within input:hover{border-color:#b4c1ad;background:#fffdf8}
.orders-table input:focus,.orders-table select:focus{border-color:#7d9574;background:#fffdf8}
.time-control{position:relative;border:1px solid transparent;border-radius:4px;min-width:0}
.time-control:hover,.time-control:focus-within{border-color:#becab7;background:#fffdf8}
.orders-table .time-control input{display:block;padding-inline-end:20px;border:0;height:32px;min-height:32px;letter-spacing:.01em}
.orders-table .time-control input:hover{border:0;background:transparent}
.orders-table input[type=number]{appearance:textfield;-moz-appearance:textfield}.orders-table input::-webkit-inner-spin-button,.orders-table input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.time-steppers{position:absolute;right:0;top:1px;bottom:1px;width:17px;display:flex;flex-direction:column;opacity:0;transition:opacity .12s}
.time-control:hover .time-steppers,.time-control:focus-within .time-steppers{opacity:1}
.time-steppers button{display:grid;place-items:center;flex:1;min-height:0;padding:0;border:0;border-radius:3px;background:transparent;color:#57704d}.time-steppers button:hover{background:#e2ecd9}
.crew-availability{display:block;margin:2px 6px 0;font-size:11px;color:var(--muted)}.crew-availability::before{content:'';display:inline-block;width:5px;height:5px;margin-inline-end:5px;border-radius:50%;background:#83917e;vertical-align:1px}.crew-availability[data-kind=free]{color:#355a34}.crew-availability[data-kind=free]::before{background:#4a7c46}.crew-availability[data-kind=busy],.crew-availability[data-kind=travel],.crew-availability[data-kind=unavailable],.crew-availability[data-kind=shift]{color:var(--red)}.crew-availability[data-kind=busy]::before,.crew-availability[data-kind=travel]::before,.crew-availability[data-kind=unavailable]::before,.crew-availability[data-kind=shift]::before{background:var(--red)}
@media(max-width:720px){.orders-table .time-control input{font-size:16px;height:40px;min-height:40px;padding-inline-end:31px}.time-control{border-color:#dce1d5;background:#fcfdf7}.time-steppers{opacity:1;width:28px}.crew-availability{font-size:12px}.orders-table td{padding-block:0}.orders-table th{padding-block:8px}.orders-table input,.orders-table select{border-color:#dce1d5;background:#fcfdf7}.object-meta>select{border-color:transparent;background:transparent}.legend{gap:10px}}
@media(prefers-reduced-motion:reduce){.orders-table input,.orders-table select,.time-steppers{transition:none}}
.orders-table th:first-child{width:22%}.orders-table th:nth-child(2){width:17%}
.gap-small .gap-label{line-height:12px;margin-top:2px}.gap-small .gap-label>span{display:block}
/* Operational additions preserve the existing paper/forest table and timeline. */
[hidden]{display:none!important}.workspace-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-3px 0 9px}.workspace-tools>div{display:flex;gap:6px;flex-wrap:wrap}.workspace-tools button{min-height:30px;font-size:11px}.crew-settings-link{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;min-height:26px;text-align:left;font-size:12px}.crew-settings-link:hover{text-decoration:underline;background:none}.lane-track{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--hour-width,12.5%) - 1px),#eae9e0 calc(var(--hour-width,12.5%) - 1px),#eae9e0 var(--hour-width,12.5%))}.off-shift,.crew-break{position:absolute;inset-block:0;pointer-events:none;z-index:0}.off-shift{background:repeating-linear-gradient(135deg,#e9e9e280 0 5px,#d9ddd580 5px 6px)}.crew-break{background:#e6e4d8a0;border-inline:1px dashed #c8c6b7;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;overflow:hidden;font-size:10px;color:#737365}.crew-break>span{writing-mode:vertical-rl;max-height:46px}.lock-mark{display:inline-flex;vertical-align:middle;margin-right:3px}.lock-mark svg{width:10px;height:10px}.job:has(.lock-mark) .job-body{cursor:pointer}.resize-handle:disabled{visibility:hidden}.job-lock{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap}.orders-table .job-lock input{width:13px;height:13px;min-height:13px;padding:0;margin:0;flex:0 0 13px}.orders-table input:disabled,.orders-table select:disabled{opacity:.65;cursor:not-allowed}.object-meta{flex-wrap:wrap;row-gap:1px}.object-meta>select[data-field=kind]{max-width:130px;font-size:11px}.travel-summary{padding:8px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}.travel-summary>b{color:var(--ink)}.travel-summary small{margin-left:auto;font-size:10px}.change-details{font-style:italic;display:block!important}.proposal-errors{background:var(--red-soft);color:var(--red)}.proposal-errors p+p{margin-top:7px}.team-grid{align-items:start}.crew-settings{padding:12px 0;border-block:1px solid var(--line);margin:12px 0}.crew-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.crew-field-grid label,.travel-fields label{font-size:11px;color:var(--muted);display:grid;gap:5px}.crew-field-grid input,.travel-fields input{width:100%;min-width:0;padding:6px;border:1px solid #c7cdbf;border-radius:4px;background:#fffdf8;font-size:13px;min-height:34px}.crew-check,.crew-skills label{display:flex;align-items:center;gap:7px;font-size:12px;margin:10px 0}.crew-check input,.crew-skills input{width:14px;height:14px;margin:0}.crew-skills{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 8px;border:0;padding:0}.crew-skills legend{font-size:11px;color:var(--muted);float:none;width:auto;padding:0}.crew-skills label{margin:4px 0}.crew-offset{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.crew-offset>span{width:100%;margin-bottom:2px}.crew-offset button{min-height:28px;font-size:11px;padding:3px 9px}.crew-offset output{min-width:52px;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.crew-actions{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.crew-error,.settings-error{color:var(--red);font-size:12px;margin-top:10px}.crew-error:empty,.settings-error:empty{display:none}.settings-note{font-size:12px;color:var(--muted);margin:12px 0 18px;max-width:850px}.travel-settings{margin-top:16px}.travel-settings>summary{padding:14px;cursor:pointer;font-weight:600;font-size:13px}.travel-settings form{padding:0 14px 16px}.travel-fields{display:flex;gap:18px;max-width:430px}.travel-fields label{flex:1;min-width:0}.travel-settings .sub{margin:14px 0;max-width:760px;line-height:1.5}.matrix-scroll{overflow:auto}.travel-matrix{border-collapse:collapse;min-width:420px;width:min(100%,800px);font-size:11px;text-align:center}.travel-matrix th{font-weight:600;color:var(--muted);padding:6px}.travel-matrix td{padding:4px}.travel-matrix input{width:70px;min-height:32px;text-align:center;border:1px solid #c7cdbf;border-radius:4px;background:#fffdf8}.footer #save-status{max-width:65%}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.workspace-tools{align-items:flex-start}.workspace-tools>div{justify-content:flex-end;gap:1px}.workspace-tools button{font-size:11px;min-height:36px}.job-lock{font-size:12px;margin-top:7px}.orders-table .job-lock input{width:16px;height:16px;min-height:16px;flex-basis:16px}.object-meta>select[data-field=kind]{font-size:16px;max-width:160px}.crew-field-grid input,.travel-fields input,.travel-matrix input{font-size:16px;min-height:40px}.crew-check,.crew-skills label{font-size:14px;min-height:28px}.crew-offset button{min-height:36px;font-size:13px}.crew-offset>span{font-size:12px}.team-grid{grid-template-columns:1fr}.crew-actions .primary{flex:1}.travel-summary small{margin-left:0;width:100%;font-size:11px}.footer #save-status{max-width:100%}.travel-fields{gap:10px}.crew-skills{gap:10px}}

.crew-control .crew-availability{display:inline-flex}.job-lock{display:inline-flex;margin-left:9px}.crew-settings .crew-actions{gap:4px}@media(min-width:1300px){.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.job-lock{margin-left:0;display:flex}}
