:root{
  --navy:#06173A;--navy2:#0F2450;--navy3:#183566;--cyan:#43BBED;--blue:#1D6FB8;
  --bg:#F5F7FA;--card:#fff;--border:#E3E8EF;--text:#18202A;--muted:#687586;
  --green:#198754;--green-bg:#E8F5EE;--amber:#B7791F;--amber-bg:#FFF5DE;
  --red:#C33B31;--red-bg:#FDEAE8;--gray:#8B98A8;--gray-bg:#EEF2F6;--purple:#7251B5;
  --shadow:0 7px 24px rgba(6,23,58,.07);--radius:11px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans)}
button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{background:var(--navy);color:#fff;padding:11px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(67,187,237,.28)}
.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--cyan),#1f76b8);display:grid;place-items:center;font-weight:900;color:#fff;letter-spacing:-1px}.brand-title{font-weight:800;letter-spacing:.06em;font-size:14px}.brand-sub{font-size:10px;color:#91a7bf;margin-top:1px}
.top-center{flex:1;display:flex;justify-content:center}.global-search{width:min(470px,100%);position:relative}.global-search input{width:100%;background:#102950;border:1px solid #25416c;color:#fff;border-radius:8px;padding:8px 11px}.global-search input::placeholder{color:#8da3bb}.search-results{position:absolute;left:0;right:0;top:42px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);max-height:360px;overflow:auto;display:none}.search-results.open{display:block}.search-hit{padding:9px 11px;border-bottom:1px solid var(--border);cursor:pointer}.search-hit:hover{background:var(--gray-bg)}.search-hit b{font-size:12px}.search-hit small{display:block;color:var(--muted);margin-top:2px}
.top-actions{display:flex;gap:7px;align-items:center}.top-btn,.actor-btn{border:1px solid #27436c;background:#102950;color:#dbe8f5;border-radius:7px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:700}.top-btn:hover,.actor-btn:hover{color:#fff;background:#17355f}.sync-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;background:#43d17c}.sync-dot.local{background:#f1bd4a}.sync-dot.err{background:#ef6359}
.nav{background:var(--navy2);padding:0 13px;display:flex;overflow-x:auto;gap:1px}.nav button{border:0;background:none;color:#9db0c5;padding:11px 13px;font-size:12.5px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;cursor:pointer}.nav button.active{color:#fff;border-bottom-color:var(--cyan)}.nav button:hover{color:#fff}
main{width:100%;max-width:1260px;margin:0 auto;padding:17px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.page-title{font-size:19px;font-weight:850;margin:0}.page-sub{font-size:12px;color:var(--muted);margin-top:3px}.toolbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.btn{border:0;background:var(--blue);color:#fff;border-radius:8px;padding:8px 13px;font-size:12.5px;font-weight:750;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn.ghost{background:transparent;color:var(--blue);border:1px solid #cddcea}.btn.danger{background:#fff;color:var(--red);border:1px solid #edc1bd}.btn.green{background:var(--green)}.btn.amber{background:var(--amber)}.btn.small{padding:5px 9px;font-size:11px}.btn.icon{padding:6px 8px}.btn:disabled{opacity:.45;cursor:not-allowed}
.grid{display:grid;gap:11px}.kpi-grid{grid-template-columns:repeat(4,minmax(130px,1fr));margin-bottom:13px}.kpi{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--gray);border-radius:var(--radius);padding:12px 14px;min-height:81px;text-align:left;color:inherit}.kpi:is(button){cursor:pointer}.kpi:is(button):hover,.kpi:is(button):focus-visible{box-shadow:var(--shadow);transform:translateY(-1px)}.kpi .value{font-family:var(--mono);font-size:25px;font-weight:850}.kpi .label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:3px;font-weight:750}.kpi.blue{border-left-color:var(--blue)}.kpi.green{border-left-color:var(--green)}.kpi.red{border-left-color:var(--red)}.kpi.amber{border-left-color:var(--amber)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:0 1px 0 rgba(6,23,58,.01);margin-bottom:11px}.card-title{font-size:13.5px;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.card-sub{font-size:11px;color:var(--muted);font-weight:500}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:11px}
.foreman-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}.foreman-card{border:1px solid var(--border);border-left:4px solid var(--fm,#8b98a8);background:#fff;border-radius:9px;padding:11px;cursor:pointer}.foreman-card:hover{box-shadow:var(--shadow)}.fm-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.fm-name{font-weight:850;font-size:13px}.fm-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.fm-stat div{background:var(--gray-bg);border-radius:7px;padding:7px}.fm-stat b{display:block;font-family:var(--mono);font-size:15px}.fm-stat small{font-size:9px;color:var(--muted);text-transform:uppercase}
.avatar{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:var(--fm,#8793a2);color:#fff;font-size:9px;font-weight:850;margin-right:6px}.tag{display:inline-flex;align-items:center;max-width:100%;min-height:20px;padding:3px 8px;border-radius:999px;font-size:10px;line-height:1.2;font-weight:800;background:var(--gray-bg);color:var(--muted);white-space:normal;overflow-wrap:anywhere}.tag.done{background:var(--green-bg);color:var(--green)}.tag.missing,.tag.blocked{background:var(--red-bg);color:var(--red)}.tag.waiting,.tag.attention,.tag.in_progress{background:var(--amber-bg);color:var(--amber)}.tag.progress,.tag.check{background:#E7F0FA;color:var(--blue)}.tag.priority{background:#F3E8FF;color:#6B21A8}.tag.closed{background:var(--green-bg);color:var(--green)}.tag.by_others{background:#e8eff6;color:#48647f}
.progress{height:8px;min-width:40px;background:var(--gray-bg);border-radius:6px;overflow:hidden}.progress>span{display:block;height:100%;max-width:100%;background:var(--blue);border-radius:6px;transition:width .2s}.progress.green>span{background:var(--green)}.progress-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:120px}.progress-label .progress{flex:1}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:9px;background:#fff}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;background:#fafbfd;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8fafc}.mono{font-family:var(--mono);font-weight:700}.muted{color:var(--muted)}.tiny{font-size:10px}.nowrap{white-space:nowrap}
.tabs{display:flex;gap:4px;margin-bottom:11px;border-bottom:1px solid var(--border);overflow-x:auto}.tabs button{border:0;background:none;padding:8px 10px;font-size:12px;font-weight:750;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}
.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.filters input,.filters select{border:1px solid var(--border);background:#fff;border-radius:7px;padding:7px 8px;font-size:12px;min-width:130px}.filters input{min-width:180px}
.attention-row,.activity-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid var(--border)}.attention-row:last-child,.activity-row:last-child{border-bottom:0}.attention-row .body,.activity-row .body{flex:1}.attention-row b,.activity-row b{font-size:12px}.attention-row p,.activity-row p{font-size:11px;color:var(--muted);margin:2px 0 0}.activity-row time{font-family:var(--mono);font-size:9px;color:var(--muted);min-width:105px}
.pie-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pie-legend{display:grid;gap:6px}.pie-legend-row{display:flex;align-items:center;gap:7px;font-size:11.5px;border:0;background:transparent;border-radius:6px;padding:5px;text-align:left;cursor:pointer;color:inherit}.pie-legend-row:hover{background:var(--gray-bg)}.dot{width:9px;height:9px;border-radius:50%;background:var(--c)}
.section{margin-top:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.section-head h3{margin:0;font-size:13px}.count-badge{font-family:var(--mono);font-size:10px;color:var(--muted)}
.line-hero{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:11px}.line-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.line-id{font-family:var(--mono);font-weight:850;font-size:16px}.line-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:5px}.stage-strip{display:flex;gap:3px;margin-top:12px;overflow:auto}.stage-step{flex:1;min-width:105px;text-align:center;padding:8px 7px;border-radius:6px;background:var(--gray-bg);color:var(--muted);font-size:9.5px;line-height:1.25;font-weight:800;white-space:normal}.stage-step.done{background:var(--green-bg);color:var(--green)}.stage-step.current{background:var(--blue);color:#fff}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}.metric{border:1px solid var(--border);border-radius:8px;padding:8px;text-align:center}.metric b{display:block;font-family:var(--mono);font-size:14px}.metric small{font-size:9px;color:var(--muted);text-transform:uppercase}
.iso-card{border:1px solid var(--border);border-radius:9px;margin-bottom:9px;overflow:hidden;background:#fff}.iso-head{padding:10px 11px;background:#f9fbfd;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.iso-head b{font-family:var(--mono);font-size:12px}.sheet{padding:10px;border-top:1px solid var(--border)}.sheet-title{font-size:11px;font-weight:850;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-list{display:grid;gap:5px}.item-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:#fff;cursor:pointer}.item-row:hover{background:#f9fbfd}.item-row .id{font-family:var(--mono);font-weight:800;font-size:11.5px;min-width:80px}.item-row .desc{font-size:10.5px;color:var(--muted);flex:1}.item-row .actions{display:flex;gap:4px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--gray)}.status-dot.done{background:var(--green)}.status-dot.missing{background:var(--red)}.status-dot.not_required{background:#6e7781}.status-dot.by_others{background:#607d9b}.status-dot.planned{background:var(--gray)}
.item-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.item-box{border:1px solid var(--border);border-radius:8px;padding:9px}.item-box-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.item-box-head b{font-size:11.5px}
.foreman-home .work-group{margin-bottom:14px}.work-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--fm,#8b98a8);border-radius:10px;padding:11px;margin-bottom:7px;cursor:pointer}.work-card.priority{box-shadow:inset 0 0 0 1px #d9b6f1}.work-card:hover{box-shadow:var(--shadow)}.work-title{font-family:var(--mono);font-size:13px;font-weight:850}.work-sub{font-size:11px;color:var(--muted);margin-top:3px}.work-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.instruction{margin-top:7px;background:#edf6ff;border-left:3px solid var(--blue);padding:7px 8px;border-radius:5px;font-size:10.5px}
.foreman-overview{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px}.foreman-overview>.instruction{display:grid;gap:4px;margin-top:12px;font-size:12px}.foreman-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.category-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-tile{min-height:112px;border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:11px;background:#fff;color:var(--text);padding:13px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px}.category-tile:first-child{grid-column:1/-1}.category-tile span{font-size:14px;font-weight:850}.category-tile b{font-family:var(--mono);font-size:20px}.category-tile small{color:var(--muted)}.category-tile:hover{box-shadow:var(--shadow)}.foreman-submit{margin-top:12px}.foreman-submit .btn{width:100%;min-height:48px}.fast-items{display:grid;gap:7px}.fast-item{width:100%;min-height:58px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 10px;text-align:left;cursor:pointer}.fast-item b{font-family:var(--mono)}.fast-item small{grid-column:2/-1;color:var(--muted)}.fast-item.done{border-left:4px solid var(--green)}.fast-item.missing{border-left:4px solid var(--red)}.fast-item.by_others{border-left:4px solid #607d9b}.fast-item:hover{background:#f9fbfd}.wp-mobile-list{display:grid;gap:10px}.wp-mobile-card{width:100%;border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:11px;background:#fff;color:var(--text);padding:13px;text-align:left;cursor:pointer}.wp-mobile-card:hover{box-shadow:var(--shadow)}.wp-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.condition-row{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.compact-action{min-height:36px!important;padding:7px 11px}
.modal-backdrop{position:fixed;inset:0;background:rgba(6,23,58,.52);display:flex;align-items:flex-start;justify-content:center;padding:25px 12px;overflow:auto;z-index:100}.modal{background:#fff;border-radius:12px;width:min(620px,100%);padding:18px;box-shadow:0 20px 60px rgba(6,23,58,.25)}.modal.wide{width:min(920px,100%)}.modal h2{font-size:16px;margin:0 0 4px}.modal-sub{font-size:11px;color:var(--muted);margin-bottom:13px}.modal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px;align-items:center}.modal-actions .right{display:flex;gap:7px}.field{margin-bottom:10px}.field label{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:7px;padding:8px 9px;font-size:12.5px;background:#fff}.field textarea{min-height:58px;resize:vertical}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.field-row.three{grid-template-columns:repeat(3,1fr)}.check-row{display:flex;align-items:center;gap:7px;font-size:12px}.form-error{background:var(--red-bg);color:var(--red);padding:8px;border-radius:7px;font-size:11.5px;font-weight:700;margin-bottom:9px}.status-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.status-choice{border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 5px;font-size:10.5px;font-weight:800;cursor:pointer}.status-choice.selected{outline:2px solid var(--blue)}.status-choice.done{background:var(--green-bg);color:var(--green)}.status-choice.missing{background:var(--red-bg);color:var(--red)}.status-choice.by_others{background:#e8eff6;color:#48647f}
.toast-wrap{position:fixed;right:14px;bottom:14px;z-index:150;display:grid;gap:7px}.toast{background:#132b4d;color:#fff;border-radius:8px;padding:9px 11px;font-size:11.5px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center}.toast button{border:0;background:none;color:var(--cyan);font-weight:800;cursor:pointer}.empty{text-align:center;padding:24px 10px;color:var(--muted);font-size:12px}.empty b{display:block;color:var(--text);font-size:13px;margin-bottom:3px}.danger-zone{border-top:1px solid var(--border);padding-top:10px;margin-top:13px}
.att-table{font-size:11px}.att-table td,.att-table th{text-align:center}.att-table .name-cell{text-align:left;position:sticky;left:0;background:#fff;z-index:2;min-width:150px}.att-cell{display:block;border-radius:6px;padding:5px 3px;cursor:pointer;font-weight:750;min-width:48px}.att-cell.work{background:var(--green-bg);color:var(--green)}.att-cell.vacation{background:var(--amber-bg);color:var(--amber)}.att-cell.absence{background:var(--red-bg);color:var(--red)}.att-cell.empty{background:var(--gray-bg);color:#9aa5b1;padding:5px 3px}
.week-nav{display:flex;align-items:center;gap:8px;margin-bottom:10px}.week-label{font-weight:850;font-size:12.5px}.pill{border-radius:999px;padding:4px 8px;background:var(--gray-bg);font-size:10px;font-weight:800}
.mobile-only{display:none}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}.item-columns{grid-template-columns:1fr}.top-center{display:none}}
@media(max-width:640px){.topbar{padding:9px 10px}.brand{min-width:auto}.brand-sub{display:none}.top-actions .top-btn.hide-mobile{display:none}.nav{padding:0 5px}.nav button{padding:10px 9px;font-size:11.5px}main{padding:10px}.page-title{font-size:17px}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:7px}.kpi{padding:10px;min-height:70px}.kpi .value{font-size:21px}.metric-grid{grid-template-columns:repeat(2,1fr)}.field-row,.field-row.three{grid-template-columns:1fr}.status-choices{grid-template-columns:repeat(2,1fr)}.modal-backdrop{padding:7px}.modal{padding:14px;border-radius:10px;max-height:calc(100dvh - 14px);overflow:auto}.modal-actions{position:sticky;bottom:-14px;background:#fff;padding:10px 0 2px}.btn{min-height:42px}.btn.small{min-height:36px}.item-row{min-height:46px}.mobile-only{display:block}.desktop-only{display:none}.work-card{padding:12px}.foreman-grid{grid-template-columns:1fr}.category-tile{min-height:104px}.foreman-wait-home{width:100%}.wp-mobile-card{padding:12px}.condition-row{justify-content:flex-start}}

/* V1 testing batch 2026-07-28 */
.field-hidden{display:none!important}

.tag.no-drawing{background:#FDE8E8;color:#9B2C2C}
.tag.taken-over{background:#E7E3FA;color:#4C3A9B}
.crew-manual-row{display:flex;gap:7px;align-items:flex-end}
.crew-manual-row .field{flex:1;margin-bottom:0}
.wp-crew-list{display:grid;gap:6px}
.wp-crew-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 0;border-bottom:1px solid var(--border)}
.wp-crew-row:last-child{border-bottom:0}
.wp-crew-lines{margin-left:auto;display:flex;gap:3px;flex-wrap:wrap}

/* Undo last reversible action. When something IS undoable the button must be unmistakably
   different from the neighbouring topbar buttons, otherwise "it lit up" is invisible to the user. */
.undo-btn:not(:disabled){background:var(--amber);border-color:#d99a2b;color:#fff}
.undo-btn:not(:disabled):hover{background:#a06a1a;color:#fff}
.undo-btn:disabled{opacity:.35;cursor:not-allowed}
.undo-btn:disabled:hover{background:#102950;color:#dbe8f5}

/* Secondary "add" affordances on browse screens: available, but never the dominant element.
   The primary content of a browse screen is what is already there, not the buttons to add more. */
.btn-quiet{border:0;background:none;color:var(--muted);font-size:10.5px;font-weight:750;padding:3px 6px;border-radius:6px;cursor:pointer;white-space:nowrap}
.btn-quiet:hover{background:var(--gray-bg);color:var(--blue)}
.btn-quiet.danger{color:#a2726d}
.btn-quiet.danger:hover{background:var(--red-bg);color:var(--red)}
.item-add-tools{gap:2px;opacity:.75}
.item-box:hover .item-add-tools,.sheet:hover .item-add-tools,.iso-card:hover .item-add-tools,.item-add-tools:focus-within{opacity:1}

/* Chained creation flow — chooser + created-panel */
.chooser-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 14px}
.chooser-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;text-align:left;min-height:64px}
.chooser-btn b{font-size:13.5px}
.chooser-btn span{font-size:11px;font-weight:600;opacity:.85}
.created-list{display:grid;gap:8px;margin-bottom:6px;max-height:55vh;overflow:auto}
.created-row{border:1px solid var(--border);border-radius:9px;padding:10px 11px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.created-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.created-inline{display:flex;align-items:center;gap:6px}
.created-inline select{border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-size:12px}
.created-actions{display:flex;gap:6px;flex-wrap:wrap}
.created-line-row{flex-direction:column;align-items:stretch}
.existing-line-row summary::-webkit-details-marker{display:none}
.created-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--border);flex-wrap:wrap}
@media(max-width:640px){.chooser-options{grid-template-columns:1fr}}

/* Canonical Work Pack editor and detailed entry */
.breadcrumbs{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:var(--muted);font-size:11px;overflow:auto;white-space:nowrap}.breadcrumbs button{border:0;background:none;color:var(--blue);font:inherit;font-weight:800;padding:3px;cursor:pointer}.canonical-workspace{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:12px;align-items:start}.work-tree{position:sticky;top:76px;border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px;max-height:calc(100vh - 92px);overflow:auto}.work-tree-root{padding:6px 8px;border-left:3px solid var(--blue);background:var(--blue-bg);margin-bottom:6px;font-size:11.5px}.work-tree button{width:100%;border:0;background:none;text-align:left;color:var(--text);cursor:pointer}
.work-tree-line{margin-bottom:2px}
.work-tree-line-head{display:flex;align-items:center;gap:6px;padding:7px 4px 4px;border-top:1px solid var(--border);font-size:11.5px}
.work-tree-line-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage-dot{width:7px;height:7px;border-radius:50%;background:var(--gray);flex:none}
.stage-dot.foreman_check,.stage-dot.supervisor_check,.stage-dot.pre_lcp,.stage-dot.lcp_waiting{background:var(--blue)}
.stage-dot.closed{background:var(--green)}
.work-tree-iso{margin:0 0 4px 4px;border-left:2px solid var(--border);padding-left:8px}
.work-tree-iso>button{padding:3px 2px;font-family:var(--mono);font-size:10.5px;color:var(--blue);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.work-tree-sheets{display:flex;flex-wrap:wrap;gap:4px;padding:2px 0 2px 2px}
.work-tree-sheets button.work-tree-sheet{width:auto;flex:none;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--muted);line-height:1.6}
.work-tree-sheets button.work-tree-sheet:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.work-context{min-width:0}.item-section{padding:0!important}.item-section>summary{list-style:none;cursor:pointer;padding:10px}.item-section>summary::-webkit-details-marker{display:none}.item-section>summary:before{content:"▾";color:var(--muted);margin-right:7px}.item-section:not([open])>summary:before{content:"▸"}.item-section .item-list,.item-section .flange-controls{padding:0 10px 10px}.flange-controls{display:flex;align-items:center;gap:8px}.flange-controls .mono{font-size:18px}.bulk-preview{max-height:55vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.bulk-preview table{margin:0}.bulk-preview tr.duplicate{background:var(--red-bg)}.bulk-preview input{width:100%;min-width:110px;border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-size:12px}.bulk-preview tr.duplicate input{border-color:var(--red)}.default-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:12px}.default-teams>.section-head{grid-column:1/-1}.default-team-card{border:1px solid var(--border);border-left:5px solid var(--fm);background:#fff;border-radius:10px;padding:11px}.team-members{display:flex;gap:5px;flex-wrap:wrap}.team-table th:last-child,.team-table td:last-child{text-align:right}.team-table tr{height:48px}.person-inactive{background:#fff1f1;color:#8d4a4a}.person-inactive .avatar{filter:saturate(.35)}.crew-option{padding:8px 0;border-bottom:1px solid var(--border)}.crew-option span{display:grid}.crew-option small{color:var(--muted);font-size:10px}
@media(max-width:900px){.canonical-workspace{grid-template-columns:1fr}.work-tree{position:static;max-height:none}.work-context{min-width:0}}
@media(max-width:640px){.work-tree-iso{margin-left:8px}.item-section>summary{align-items:flex-start;flex-wrap:wrap}.item-section>summary .toolbar{width:100%;margin-top:7px}.item-section>summary .toolbar .btn{flex:1}.bulk-preview{max-height:45vh}.default-teams{grid-template-columns:1fr}.breadcrumbs{margin-bottom:7px}}
.color-palette{display:flex;gap:10px;flex-wrap:wrap;padding:4px 0}
.color-swatch{width:38px;height:38px;border-radius:10px;border:3px solid #fff;box-shadow:0 0 0 1px var(--border);background:var(--c);cursor:pointer;transition:transform .12s,box-shadow .12s}
.color-swatch:hover{transform:translateY(-1px)}
.color-swatch.selected{box-shadow:0 0 0 3px var(--navy);transform:scale(1.04)}
.team-section{padding:0;overflow:hidden}
.team-section>.card-title{padding:12px 14px;margin:0;border-bottom:1px solid var(--border);background:#fbfcfe}
.team-section>.table-wrap{border:0;border-radius:0}
.team-no{width:42px;color:var(--muted)}
.foreman-color-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;color:var(--muted)}
.foreman-color-chip i{display:block;width:18px;height:18px;border-radius:6px;background:var(--c);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.status-toggle{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:850;cursor:pointer;background:var(--gray-bg);color:var(--muted)}
.status-toggle.active{background:var(--green-bg);color:var(--green);border-color:#cfe8d8}
.status-toggle.inactive{background:var(--gray-bg);color:#707b87}
.wp-progress-cell{display:flex;align-items:center;gap:7px;min-width:125px}.wp-progress-cell .progress{width:88px}
.wp-stage-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:5px;width:100%}
.wp-stage{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:7px;background:var(--gray-bg);color:var(--muted);border:1px solid transparent;min-width:0}
.wp-stage i{font-style:normal;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-stage b{font-family:var(--mono);font-size:11px}
.wp-stage.done{background:var(--green-bg);color:var(--green)}.wp-stage.current{background:var(--blue);color:#fff;border-color:#155c9d;box-shadow:0 0 0 2px rgba(29,111,184,.12)}
.wp-stage.current i,.wp-stage.current b{color:#fff}
.wp-stage-strip.compact{display:flex;min-width:390px}.wp-stage-strip.compact .wp-stage{flex:1;padding:5px 6px}.wp-stage-strip.compact .wp-stage i{font-size:8px}.wp-stage-strip.compact .wp-stage b{font-size:9px}
.wp-detail-meta{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;margin-bottom:10px}.wp-detail-meta .card{margin:0;padding:10px}.wp-detail-meta .card>b{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.builder-block{border:1px solid #cbdceb;background:#f4f9fd;border-radius:9px;padding:10px 11px;margin:8px 0 11px}.builder-title{font-size:11px;font-weight:850;color:var(--navy2);margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}
.hours-stepper{display:grid;grid-template-columns:46px 1fr 46px;gap:7px;align-items:center}.hours-stepper input{text-align:center;font-family:var(--mono);font-size:16px;font-weight:800}
.bulk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.bulk-day{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--border);border-radius:8px;padding:8px 4px;cursor:pointer;background:#fff}.bulk-day span{font-size:10px;font-weight:800}.bulk-day b{font-family:var(--mono);font-size:11px}.bulk-day.off{opacity:.45;cursor:not-allowed}
.select-cell{width:36px!important;min-width:36px!important;text-align:center!important}.select-cell input{width:16px;height:16px}
.note-dot{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-left:4px;vertical-align:middle}
.wp-table td:last-child{min-width:410px}
@media(max-width:900px){.wp-detail-meta{grid-template-columns:repeat(2,1fr)}.wp-stage-strip{display:flex;overflow-x:auto}.wp-stage{min-width:110px}.bulk-days{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.wp-detail-meta{grid-template-columns:1fr 1fr}.bulk-days{grid-template-columns:repeat(3,1fr)}.color-swatch{width:42px;height:42px}.wp-stage-strip.compact{min-width:450px}}

/* Prompt 3: planners, drill-down controls, batch reporting and consistency */
.dashboard-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.quick-card,.detail-link,.metric-grid button.metric{font:inherit;color:inherit;cursor:pointer}.quick-card{display:grid;text-align:left;border:1px solid var(--border);border-left:5px solid var(--blue);background:#fff;border-radius:10px;padding:13px;min-height:92px}.quick-card b{font-size:22px;color:var(--blue)}.quick-card span{font-weight:850}.quick-card small{color:var(--muted);margin-top:3px}.quick-card:hover,.quick-card:focus-visible,.metric-grid button.metric:hover{border-color:var(--blue);box-shadow:0 4px 14px rgba(22,73,130,.12)}.fm-stat button{border:0;background:transparent;border-radius:7px;padding:5px;cursor:pointer}.fm-stat button:hover{background:var(--blue-bg)}.foreman-detail-metrics{grid-template-columns:repeat(3,1fr)}.metric.highlight{outline:2px solid var(--blue);background:var(--blue-bg)}.detail-link{width:100%;border:0;border-bottom:1px solid var(--border);background:#fff;padding:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.detail-link:hover{background:var(--gray-bg)}
.attendance-wrap{max-height:62vh}.attendance-wrap thead{position:sticky;top:0;z-index:2}.att-table .name-cell{position:sticky;left:0;background:#fff;z-index:1;min-width:170px}.att-table th.name-cell{background:#fafbfd;z-index:3}.att-cell{width:100%;min-width:60px;min-height:38px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:850;cursor:pointer}.att-cell.empty{background:transparent;color:var(--muted);border-color:var(--border)}.att-cell.work{background:var(--blue-bg);color:var(--blue)}.att-cell.vacation{background:var(--green-bg);color:var(--green)}.att-cell.absence{background:var(--red-bg);color:var(--red)}.planner-summary{margin-top:12px}.planner-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:210px;overflow:auto;border:1px solid var(--border);padding:8px;border-radius:8px}
.current-batch{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--blue);background:var(--blue-bg);border-radius:10px;padding:11px;margin-bottom:10px}.current-batch small,.batch-weld small{display:block;color:var(--muted);margin-top:2px}.batch-list{max-height:48vh;overflow:auto;border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.batch-weld{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid var(--border)}.batch-weld:last-child{border-bottom:0}.batch-add-row{padding:6px}.welding-report-card .metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.search-hit .tag{margin-left:5px}
button,.kpi,.foreman-card,.attention-row,tr.clickable{transition:background .12s,border-color .12s,box-shadow .12s,transform .12s}.kpi:hover,.foreman-card:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(10,34,70,.12)}.tag,.pill,.progress{max-width:100%;overflow:visible}.tag{white-space:nowrap}.progress{min-width:50px}.table-wrap td,.table-wrap th{height:42px}.toolbar{flex-wrap:wrap}
.focus-card{outline:2px solid var(--blue);box-shadow:0 0 0 4px var(--blue-bg)}
.pie-slice{cursor:pointer;transform-origin:75px 75px;transition:opacity .12s,transform .12s}.pie-slice:hover{opacity:.85;transform:scale(1.025)}
@media(max-width:900px){.welding-report-card .metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.dashboard-quick{grid-template-columns:1fr}.planner-people{grid-template-columns:1fr}.welding-report-card .metric-grid,.foreman-detail-metrics{grid-template-columns:repeat(2,1fr)}.attendance-wrap{max-height:65vh}.att-table .name-cell{min-width:125px}.att-cell{min-width:52px}.current-batch{align-items:flex-start;flex-direction:column}.current-batch .btn{width:100%}}
