/* Shared worksheet header, using the existing scope and cost data. */
#content .worksheet-header{background:#fff;border:1px solid #c8dbea;border-radius:10px;padding:20px;margin:0 0 20px;}
#content .worksheet-header .procurement-context-top{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;}
#content .worksheet-header .worksheet-title{flex:0 0 auto;margin:0 auto 0 0;font-size:30px;line-height:1.25;color:#183e5d;}
#content .worksheet-header .subproject-context-head{flex:0 1 330px;min-width:210px;gap:5px;}
#content .worksheet-header .subproject-context-head>strong{font-size:14px;}
#content .worksheet-header .subproject-context-head>label{font-size:0;gap:0;}
#content .worksheet-header .subproject-context-head select{font-size:15px;min-height:42px;}
#content .worksheet-header .procurement-context-cost-box{flex:0 1 650px;min-width:0;}
#content .worksheet-header .procurement-context-cost-list{display:flex;gap:12px;flex-wrap:nowrap;}
#content .worksheet-header .procurement-context-cost{flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px;border:1px solid #d8e5f0;background:#f3f7fb;border-radius:7px;min-width:0;}
#content .worksheet-header .procurement-context-cost>span{font-size:12px;}
#content .worksheet-header .procurement-context-cost>strong{font-size:16px;font-weight:650;}
#content .worksheet-header .procurement-context-cost[data-selected=true]{border-color:#287cbd;}
#content .worksheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;margin:0 0 18px;max-width:100%;overflow-x:auto;padding:2px 0 4px;}
#content .worksheet-actions .project-logo-controls{display:contents;}
#content .worksheet-actions>button,#content .worksheet-actions .project-logo-controls>button{flex:0 0 auto;white-space:nowrap;min-height:42px;margin:0;}
#content .worksheet-actions .project-logo-preview{max-width:80px;max-height:40px;object-fit:contain;}
#content .worksheet-add,#content [data-order-add],#content [data-change-add]{background:#23864a;color:#fff;border-color:#23864a;}
#content .worksheet-pdf,#content [data-worksheet-pdf]{background:#2168ad;color:#fff;border-color:#2168ad;}
#content .worksheet-add:hover,#content [data-order-add]:hover,#content [data-change-add]:hover{background:#1b6c3a;}
#content .worksheet-pdf:hover,#content [data-worksheet-pdf]:hover{background:#19548e;}
#content .worksheet-tools{border:1px solid #c8dbea;border-radius:8px;background:#fff;margin:16px 0;padding:12px 16px;}
#content .worksheet-tools>summary{cursor:pointer;font-weight:600;color:#183e5d;}
#content .worksheet-tools>.source-trade-coverage{margin:12px 0 0;}
#content .worksheet-tools>button{margin-top:12px;}
#content .worksheet-register-title:empty{display:none;}
#content .cost-orders>.worksheet-actions{border-bottom:1px solid #e1eaf1;padding-bottom:16px;}
#content .order-header-actions{min-width:0;margin:0 0 0 auto;justify-content:flex-start;}
#content .order-header-actions button{box-sizing:border-box;height:42px;}

@media(max-width:1100px){
 #content .worksheet-header .procurement-context-top{flex-wrap:wrap;gap:16px;}
 #content .worksheet-header .worksheet-title{flex:1 1 auto;}
 #content .worksheet-header .procurement-context-cost-box{flex:1 1 100%;}
}
@media(max-width:600px){
 #content .worksheet-header{padding:16px;}
 #content .worksheet-header .worksheet-title{font-size:26px;}
 #content .worksheet-header .subproject-context-head{flex:1 1 100%;}
 #content .worksheet-header .procurement-context-cost-list{flex-wrap:wrap;}
 #content .worksheet-header .procurement-context-cost{flex:1 1 160px;}
 #content .worksheet-actions{justify-content:flex-start;}
}
#content .table-title-toolbar.worksheet-actions{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;}
#content .table-title-toolbar.worksheet-actions>*{flex-shrink:0;}
/* Planning fees follow the same title, scope and cost header. */
#content .planning-fee-header .subproject-context-head{position:relative;overflow:visible;}
#content .planning-assignment-toggle>summary{display:inline-block;cursor:pointer;font-size:13px;padding:6px 10px;border:1px solid #b8ccde;border-radius:5px;background:#fff;color:#183e5d;}
#content .planning-assignment-toggle>.planning-subproject-assignment{position:absolute;top:100%;left:0;z-index:20;width:min(460px,80vw);box-sizing:border-box;box-shadow:0 8px 25px #163d5c30;margin:6px 0;}
#content .planning-fee-header .planning-subproject-assignment h2{font-size:17px;}
#content .structural-percentage-fields{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;}
#content .structural-percentage-fields>label{flex:0 1 240px;min-width:180px;}
#content .structural-agreement-note{position:relative;}
#content .structural-agreement-note>summary{display:grid;place-items:center;cursor:pointer;list-style:none;width:40px;height:36px;border-radius:5px;background:#146cb1;color:white;font-weight:700;}
#content .structural-agreement-note>summary::-webkit-details-marker{display:none;}
#content .structural-agreement-body{position:absolute;z-index:25;top:100%;right:0;width:min(440px,80vw);padding:16px;box-sizing:border-box;background:#fff;border:1px solid #bdd2e3;border-radius:8px;box-shadow:0 8px 25px #163d5c30;}
#content .structural-agreement-body textarea{width:100%;box-sizing:border-box;min-height:90px;}
#content .structural-agreement-body p{font-size:13px;}
#content .planning-scope-summary:empty{display:none;}

/* Cash plan: title above the TP row, current totals to its right, tools below. */
#content .cash-plan-context .procurement-context-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
#content .cash-plan-context .cash-title{flex:0 0 100%;width:100%;margin:0 0 4px}
#content .cash-plan-context .subproject-context-head{flex:0 1 210px;min-width:180px}
#content .cash-plan-context .procurement-context-cost-box{flex:1 1 280px;min-width:0}
#content .cash-plan-context .cash-header-totals{display:flex;flex:0 1 auto;gap:14px 22px;margin-left:auto;align-items:center;flex-wrap:wrap}
#content .cash-plan-context .cash-header-total{display:flex;flex-direction:column;gap:4px;color:#000;font-size:13px;font-weight:600}
#content .cash-plan-context .cash-header-total strong{font-size:18px;white-space:nowrap}
#content .cash-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px}
#content .cash-toolbar .project-logo-controls{display:contents}
#content .cash-toolbar button{margin:0;white-space:nowrap}
#content .cash-toolbar .project-logo-preview{max-width:80px;max-height:40px;object-fit:contain}
#content .cash-plan-context .cash-help-bubble{left:0}
@media(max-width:700px){
 #content .cash-plan-context .subproject-context-head{flex:1 1 100%}
 #content .cash-plan-context .cash-header-totals{flex:1 1 100%;margin-left:0;gap:12px 20px}
 #content .cash-toolbar .cash-year-range{flex-wrap:wrap;max-width:100%}
}

/* Order register: shared field baseline and a single row of primary actions. */
#content .cost-orders [data-order-visible-table]>thead>tr>th{font-size:17px;font-weight:800;color:#294f6d;line-height:1.3;vertical-align:middle}
body #content .cost-orders [data-order-visible-table]>tbody>tr.order-register-row>td{vertical-align:top;padding-top:5px!important;padding-bottom:5px!important}
#content .cost-orders [data-order-visible-table] .order-register-row>td>input,
#content .cost-orders [data-order-visible-table] .order-register-row>td>select,
#content .cost-orders [data-order-visible-table] .order-register-row .manual-date-control,
#content .cost-orders [data-order-visible-table] .order-register-row .manual-date-control>input{height:34px;min-height:34px;box-sizing:border-box;margin-top:0;margin-bottom:0}
#content .cost-orders [data-order-visible-table] .order-remarks-cell textarea{height:34px;min-height:34px;margin:0;vertical-align:top}
#content .cost-orders [data-order-visible-table] .order-actions-heading,
#content .cost-orders [data-order-visible-table] .order-actions-cell{min-width:300px}
#content .cost-orders .order-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
#content .cost-orders .order-actions-primary{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:8px}
#content .cost-orders .order-row-actions button{white-space:nowrap;margin:0;height:34px;min-height:34px;box-sizing:border-box;padding:5px 8px;line-height:1.3}
#content .cost-orders [data-order-visible-table] .order-register-row>td>input,
#content .cost-orders [data-order-visible-table] .order-register-row>td>select{display:block}
#content .cost-orders [data-order-visible-table] .order-register-row .manual-date-control{vertical-align:top}

/* Required at commissioning. Drafts can still be saved with empty fields. */
#content [data-order-form] [data-order-required] :is(input,select){
 border-color:#b42318;box-shadow:inset 0 0 0 1px #b42318;
}
#content [data-order-form] [data-order-required] :is(input.is-filled:not([data-manual-date-text]),select.is-filled,input[data-manual-date-text]:not(:placeholder-shown):not([aria-invalid=true])){
 border-color:#237443;box-shadow:inset 0 0 0 1px #237443;
}

#content .worksheet-header .procurement-context-top:has(>.order-header-actions){display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-start;gap:10px;overflow-x:auto;padding:2px 0 6px}
#content .worksheet-header .procurement-context-top:has(>.order-header-actions)>.worksheet-title{flex:none;margin:0;display:flex;align-items:center;min-height:42px;white-space:nowrap}
#content .worksheet-header .procurement-context-top:has(>.order-header-actions)>.subproject-context-head{flex:0 0 200px}
#content .worksheet-header .procurement-context-top:has(>.order-header-actions)>.order-header-total{margin:0}
#content .worksheet-header .procurement-context-top>.order-header-actions{display:flex;flex-flow:row nowrap;align-items:center;margin:0;padding:0;gap:7px;overflow:visible}
#content .worksheet-header .order-header-actions>.project-logo-controls{display:contents!important}
#content .worksheet-header .order-header-actions button{flex:none;height:42px;min-height:42px;margin:0;white-space:nowrap}
#content .order-header-total{flex:none;display:grid;gap:3px;white-space:nowrap;font-size:13px}
#content .order-header-total strong{display:flex;align-items:center;min-height:42px;padding:0 10px;border:1px solid #c8dbea;border-radius:7px;background:#f3f7fb}
#content .order-header-actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:nowrap;overflow:visible;padding:0}
#content .order-header-actions .project-logo-controls{display:contents}
#content .cost-orders .order-register-row .order-field-note{top:1px;right:3px;width:14px;height:14px;min-height:14px;transform:translateY(-25%)}
#content .cost-orders .order-register-row .order-field-note svg{width:12px;height:12px}

.procurement-table.management-table.tracking-table thead th{vertical-align:middle;padding-top:16px}
.procurement-table .procurement-header-controls{align-items:center}
.procurement-table.tracking-table thead [data-tracking-filter]{margin-top:0}
.procurement-table .procurement-header-controls .procurement-hint{position:absolute;top:2px;right:3px;margin:0}
.procurement-table thead th:has(.procurement-header-controls) .procurement-header-controls{min-height:32px;box-sizing:border-box}
.procurement-table thead .procurement-column-sequence,.procurement-completed-table thead th:first-child{white-space:nowrap}
#content .cost-orders table[data-register-filter] thead th{font-size:16px;font-weight:750;vertical-align:middle;white-space:nowrap}
#content .cost-orders .register-filter-heading{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
#content .cost-orders .register-filter-heading button[data-tracking-filter]{display:inline-grid;place-items:center;flex:0 0 16px;width:16px;height:16px;min-height:16px;padding:0;margin:0}
#content .cost-orders .register-filter-heading button svg{width:10px;height:10px}

.workflow:has(>.sheet-area-navigation:not([hidden])){flex-wrap:wrap}
.workflow>.sheet-area-navigation:not([hidden]){
 order:-1;display:flex;align-items:center;gap:6px;flex:0 0 100%;min-width:0;
 overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin;
}
.workflow>.sheet-area-navigation>button{
 flex:none;min-height:30px;margin:0;padding:4px 10px;white-space:nowrap;
 background-color:#deedf8;color:#173e60;
}
.workflow>.sheet-area-navigation>button[aria-current=true]{
 background-color:#173e60;color:#fff;
}

#content .cost-orders .order-trade-cell{min-width:230px}
#content .cost-orders .order-trade-label{
 display:block;box-sizing:border-box;min-height:34px;padding:7px 10px;
 line-height:1.35;white-space:normal;overflow-wrap:anywhere;
}
#content .cost-orders .order-trade-picker{
 position:relative;border:2px solid #507b9f;border-radius:4px;background:#fff;
}
#content .cost-orders .order-trade-picker .order-trade-label{min-height:30px;padding-right:28px}
#content .cost-orders .order-trade-picker::after{
 content:"";position:absolute;top:12px;right:10px;width:6px;height:6px;
 border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none;
}
#content .cost-orders .order-trade-picker select{
 position:absolute;inset:0;width:100%;height:100%;min-width:0;opacity:0;cursor:pointer;
}
#content .cost-orders .order-trade-picker:focus-within{outline:2px solid #1766a2;outline-offset:2px}

/* Compact worksheet navigation and shared mobile title row. */
.mobile-sheet-area{display:none}
@media screen and (max-width:780px){
 html body.workspace-project-selected.workspace-working>header:has(>.mobile-sheet-area:not([hidden])){
  position:sticky;top:env(safe-area-inset-top,0px);
  grid-template-columns:minmax(0,1fr) minmax(98px,1fr) 42px;
  row-gap:4px;
 }
 html body.workspace-project-selected.workspace-working>header>.mobile-sheet-area:not([hidden]){
  display:block!important;grid-column:2;grid-row:1;
  width:100%;min-width:0;min-height:44px;padding:5px 8px;
  border:1px solid #6799bd;border-radius:6px;background:#244761;color:#fff;font-size:16px;
 }
 html body.workspace-project-selected.workspace-working>header:has(>.mobile-sheet-area:not([hidden]))>#activeProject{
  grid-column:1/-1;grid-row:2;height:34px;min-height:34px;
 }
 html body.workspace-project-selected.workspace-working .workflow>.sheet-area-navigation:not([hidden]){display:none}
 #content .worksheet-header{padding:10px 12px;margin-bottom:10px}
 #content .worksheet-header .procurement-context-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
 #content .worksheet-header .worksheet-title{
  flex:1 1 140px;min-width:0;margin:0;font-size:clamp(18px,5.4vw,23px);overflow-wrap:anywhere;
 }
 #content .worksheet-header .subproject-context-head{flex:0 1 40%;min-width:105px;gap:2px}
 #content .worksheet-header .subproject-context-head>strong{font-size:12px}
 #content .worksheet-header .subproject-context-head select{min-width:0;min-height:44px}
 #content .worksheet-header .procurement-context-cost-box{flex:1 1 100%}
 #content .worksheet-header .procurement-context-cost-list{flex-wrap:wrap}
 #content .worksheet-header .procurement-context-cost{flex:1 1 125px}
 #content .worksheet-actions,#content .table-title-toolbar.worksheet-actions{
  justify-content:flex-start;flex-wrap:wrap;overflow:visible;gap:6px;
 }
 #content .worksheet-actions button{min-height:44px;max-width:100%;white-space:normal}
 #content .worksheet-actions :is([data-procurement-save],[data-tracking-save],[data-tracking-forecast-save],[data-procurement-pdf],[data-tracking-pdf]){
  background:#215888;color:#fff;border-color:#215888;
 }
 #content :is(.cost-tracking,.procurement-view) thead th{background:#eef4fa;color:#173e60}
}
