.clickable-row{cursor:pointer}.clickable-row:hover{background:#f7fbfb}.row-action{border:0;background:none;color:var(--teal);font-weight:700;cursor:pointer}.detail-loading{text-align:center;padding:70px;color:var(--muted)}.detail-hero{background:linear-gradient(120deg,var(--navy),#28526c);color:#fff;border-radius:14px;padding:24px 28px;display:flex;justify-content:space-between;align-items:end}.detail-hero h2{font-size:27px;margin:5px 0}.detail-hero p{margin:0;color:#cad7df}.detail-hero .eyebrow{color:#8bddd5}.back-link{display:block;border:0;background:none;color:#bcd2df;padding:0 0 14px;cursor:pointer}.detail-actions{display:flex;align-items:center;gap:9px}.detail-tabs{display:flex;gap:3px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px;margin:16px 0}.detail-tabs button{border:0;background:none;padding:10px 14px;white-space:nowrap;color:var(--muted);border-radius:7px}.detail-tabs .active{background:var(--teal2);color:#08746d;font-weight:700}.finance-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.finance-cards article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px}.finance-cards span,.finance-cards small,.product-title small{display:block;color:var(--muted)}.finance-cards strong{font-size:21px;display:block;margin:8px 0}.finance-cards .total-card{background:var(--navy);color:#fff}.finance-cards .total-card span,.finance-cards .total-card small{color:#bfd0db}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.product-title{display:flex;justify-content:space-between;align-items:center;background:#f7f9fa;padding:12px;border-radius:8px;margin-top:10px}.product-title span{color:var(--teal);font-size:12px}.mini-table{width:100%;border-collapse:collapse;margin-bottom:15px}.mini-table th,.mini-table td{padding:10px;border-bottom:1px solid var(--line);text-align:right}.mini-table th{font-size:11px;color:var(--muted)}.adjustments-list>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.adjustment-form{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:8px;margin-top:17px}.adjustment-form input,.adjustment-form select{padding:10px;border:1px solid var(--line);border-radius:7px}.adjustment-form button{grid-column:1/-1}@media(max-width:1000px){.finance-cards{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.detail-hero{align-items:start}.detail-actions{display:none}.finance-cards{grid-template-columns:1fr 1fr}.adjustment-form{grid-template-columns:1fr}}
.detail-tabs button:not(:disabled){cursor:pointer}.detail-tabs button:disabled:not(.active){opacity:.55;text-decoration:none}.detail-tabs .active:disabled{opacity:1}

.contract-summary-table td:nth-child(n+3){font-weight:700;white-space:nowrap}.contract-dialog{width:min(1180px,96vw);max-height:94vh}.contract-dialog>form{height:min(900px,94vh);display:flex;flex-direction:column;overflow:hidden}.contract-dialog-head{flex:0 0 auto;border-bottom:1px solid var(--line)}.contract-dialog-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.contract-value-bar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:center;padding:14px 24px;background:#f7fafb;border-bottom:1px solid var(--line)}.contract-value-bar>div{padding:10px 13px;background:#fff;border:1px solid var(--line);border-radius:9px}.contract-value-bar span,.contract-value-bar strong{display:block}.contract-value-bar span{font-size:11px;color:var(--muted);margin-bottom:5px}.contract-value-bar strong{font-size:18px}.contract-products-editor{flex:1;overflow:auto;padding:18px 24px;background:#f4f7f8}.contract-product{background:#fff;border:1px solid #dce4e8;border-radius:12px;padding:16px;margin-bottom:15px;box-shadow:0 3px 12px #17324d08}.contract-product-title{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.contract-product-title>div{flex:1}.contract-product-title strong{display:block;margin-top:4px}.activity-lock{display:inline-block;padding:5px 8px;border-radius:16px;background:#fff0df;color:#9b5a19;font-size:11px;font-weight:700}.contract-product-fields{display:grid;grid-template-columns:1.15fr .75fr .75fr 1.35fr;gap:10px;align-items:end;padding:14px 0}.contract-product-fields label,.contract-variant-fields label{font-size:11px;font-weight:700;color:#4d5b67}.contract-product-fields input,.contract-product-fields select,.contract-variant-fields input{display:block;width:100%;min-width:0;margin-top:5px;padding:9px;border:1px solid #d8e1e6;border-radius:7px;background:#fff;color:var(--ink)}.contract-product-fields :disabled,.contract-variant-fields :disabled{background:#eef2f4;color:#7c8993;cursor:not-allowed}.product-lock-note{font-size:11px;line-height:1.5;color:var(--muted);padding:9px;background:#f8fafb;border-radius:7px}.contract-variants-head{display:flex;justify-content:space-between;align-items:center;margin:3px 0 10px}.contract-variants-head h3{font-size:14px;margin:0}.contract-variants-head small{color:var(--muted)}.contract-variants{display:grid;gap:9px}.contract-variant{border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff}.contract-variant.locked{border-color:#efd9bb;background:#fffdfa}.contract-variant-meta{display:flex;align-items:center;gap:9px;margin-bottom:9px}.contract-variant-meta>strong{font-size:12px}.contract-variant-meta>span{color:var(--muted);font-size:11px}.contract-variant-meta .danger-link{margin-right:auto}.contract-variant-fields{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:8px;align-items:end}.contract-variant-fields.kind-wall{grid-template-columns:repeat(6,minmax(90px,1fr))}.contract-empty{margin:25px}.contract-dialog-actions{flex:0 0 auto;align-items:center;border-top:1px solid var(--line)}.contract-dialog-actions p{margin:0 auto 0 0;color:var(--muted);font-size:11px}.contract-dialog-actions .primary{min-width:130px}
@media(max-width:900px){.contract-value-bar{grid-template-columns:1fr 1fr}.contract-value-bar>button{width:100%}.contract-product-fields{grid-template-columns:1fr 1fr}.contract-variant-fields,.contract-variant-fields.kind-wall{grid-template-columns:repeat(3,minmax(110px,1fr))}.contract-dialog-actions p{display:none}}
@media(max-width:620px){.detail-hero{display:block}.detail-actions{display:flex;flex-wrap:wrap;margin-top:16px}.detail-actions .tag{width:100%;text-align:center}.detail-actions button{flex:1;padding:9px}.finance-cards{grid-template-columns:1fr 1fr}.contract-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.contract-dialog>form{height:100vh;max-height:100vh}.contract-dialog-head{padding:16px}.contract-value-bar{grid-template-columns:1fr 1fr;padding:10px}.contract-value-bar>button{grid-column:1/-1}.contract-products-editor{padding:10px}.contract-product{padding:12px}.contract-product-title{align-items:flex-start;flex-wrap:wrap}.contract-product-title>div{min-width:60%}.contract-product-fields{grid-template-columns:1fr}.contract-variant-meta{align-items:flex-start;flex-wrap:wrap}.contract-variant-meta .danger-link{margin-right:0;width:100%}.contract-variant-fields,.contract-variant-fields.kind-wall{grid-template-columns:1fr 1fr}.contract-dialog-actions{padding:11px}.contract-dialog-actions button{flex:1}.contract-summary-table{min-width:650px}}

.project-production-card{padding:0;overflow:hidden}.project-production-head{padding:22px 22px 0;margin-bottom:17px;gap:16px}.project-production-head small{display:block;margin-top:5px;color:var(--muted);line-height:1.6}.project-production-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.project-production-actions .primary{background:var(--teal);color:#fff;padding:10px 14px}.project-production-actions .secondary{background:#eef2f4;color:var(--ink);padding:10px 14px}.project-production-filter{display:grid;grid-template-columns:minmax(170px,230px) minmax(170px,230px) auto auto;align-items:end;gap:10px;margin:0 22px 18px;padding:14px;background:#f7fafb;border:1px solid var(--line);border-radius:10px}.project-production-filter label{font-size:12px;font-weight:700;color:#4d5b67}.project-production-filter input{display:block;width:100%;margin-top:6px;padding:9px 10px;border:1px solid #d8e1e6;border-radius:7px;background:#fff;color:var(--ink)}.project-production-filter button{min-height:39px;padding:9px 14px}.project-production-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:0 22px 18px}.project-production-summary article{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.project-production-summary span,.project-production-summary small,.production-matrix th small{display:block;color:var(--muted)}.project-production-summary span{font-size:12px}.project-production-summary strong{display:inline-block;margin:6px 0 0;font-size:23px;color:var(--navy)}.project-production-summary small{display:inline;margin-right:5px;font-size:11px}.project-production-loading{padding:65px 22px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.project-production-hint{margin:0;padding:12px 22px;color:#35625e;background:#eef8f7;border-block:1px solid #d3ebe8;font-size:12px;line-height:1.6}.project-production-table-wrap{max-height:min(66vh,760px);overflow:auto;overscroll-behavior:contain;background:#fff;outline:none}.project-production-table-wrap:focus-visible{box-shadow:inset 0 0 0 3px #159a9145}.production-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.production-matrix caption{text-align:right;padding:13px 22px;font-weight:700;color:var(--navy);background:#fff}.production-matrix th,.production-matrix td{min-width:118px;padding:11px 10px;text-align:center;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.production-matrix thead th{position:sticky;top:0;z-index:3;background:#f4f8f9;color:var(--navy);font-size:12px;box-shadow:0 1px 0 var(--line)}.production-matrix thead th>span,.production-matrix thead th>strong{display:block}.production-matrix thead th>strong{margin:5px 0;font-size:13px}.production-matrix thead th>small{max-width:155px;margin:auto;font-size:10px;line-height:1.45;font-weight:400}.production-matrix th:first-child{position:sticky;right:0;z-index:2;min-width:138px;background:#f8fafb;border-right:0}.production-matrix thead th:first-child{z-index:5}.production-matrix th:last-child,.production-matrix td:last-child{position:sticky;left:0;z-index:2;min-width:105px;background:#eef8f7;border-left:0}.production-matrix thead th:last-child{z-index:5;background:#dff3f0}.production-matrix tbody tr:hover td,.production-matrix tbody tr:hover th{background:#fbfdfd}.production-matrix tbody tr:hover td:last-child{background:#e8f7f4}.production-quantity-cell,.production-day-button,.production-day-total button{border:0;border-radius:7px;cursor:pointer;font-weight:800}.production-quantity-cell{min-width:46px;padding:7px 10px;background:var(--teal2);color:#08746d}.production-quantity-cell:hover,.production-quantity-cell:focus-visible{background:var(--teal);color:#fff}.production-day-button{width:100%;padding:7px 5px;background:transparent;color:var(--navy);text-decoration:underline;text-decoration-color:#9bcfc9;text-underline-offset:4px}.production-day-button:hover,.production-day-button:focus-visible{background:#e9f5f3}.production-day-total button{width:100%;padding:7px 9px;background:var(--navy);color:#fff}.production-quantity-cell:focus-visible,.production-day-button:focus-visible,.production-day-total button:focus-visible{outline:3px solid #e9a451;outline-offset:2px}.production-zero{color:#a9b2b9}.project-production-no-days{height:120px;color:var(--muted)!important;background:#fff!important}.project-production-details{margin:20px 22px 22px;padding:18px;border:1px solid #d8e5e7;border-radius:12px;background:#f8fbfb;outline:none}.project-production-details:focus-visible{box-shadow:0 0 0 3px #159a9133}.project-production-details-empty{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted)}.project-production-details-empty strong{color:var(--navy)}.project-production-details-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.project-production-details-head span,.project-production-details-head small{display:block;color:var(--muted);font-size:12px}.project-production-details-head h4{margin:5px 0;font-size:18px}.production-entry-list{display:grid;gap:10px}.production-entry-record{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.production-entry-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}.production-entry-title strong,.production-entry-title small{display:block}.production-entry-title small{margin-top:4px;color:var(--muted);font-size:11px}.production-entry-title>b{color:var(--teal);white-space:nowrap}.production-entry-record dl{display:grid;grid-template-columns:.7fr .8fr 1.25fr 1fr;gap:10px;margin:12px 0 0}.production-entry-record dl>div{min-width:0}.production-entry-record dt{margin-bottom:5px;color:var(--muted);font-size:11px}.production-entry-record dd{margin:0;font-size:13px;overflow-wrap:anywhere}.production-entry-record dd strong,.production-entry-record dd small{display:block}.production-entry-record dd small{margin-top:3px;color:var(--muted);font-size:10px;text-align:right}.production-entry-note{margin-top:12px;padding:11px 12px;border-radius:8px;background:#fff8ec;border:1px solid #f0dfc4}.production-entry-note strong{font-size:12px;color:#765222}.production-entry-note p{margin:5px 0 0;color:#5f5140;font-size:13px;line-height:1.65;white-space:pre-wrap}.project-production-error{margin:20px 22px;padding:28px;text-align:center;border:1px solid #f0cccc;background:#fff7f7;border-radius:10px;color:#8a3737}.project-production-error p{margin:7px 0 0}.project-production-empty{border-top:1px solid var(--line)}.production-entered-by{margin-top:6px!important;color:#4f6f6c!important}.production-entered-by b{color:var(--navy)}

.production-entry-note.empty{background:#f7f9fa;border-color:var(--line)}.production-entry-note.empty strong,.production-entry-note.empty p{color:var(--muted)}
@media(max-width:900px){.project-production-head{align-items:flex-start}.project-production-actions{flex-wrap:wrap;justify-content:flex-end}.project-production-filter{grid-template-columns:1fr 1fr}.project-production-summary{grid-template-columns:1fr 1fr}.production-entry-record dl{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.project-production-head{display:block}.project-production-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}.project-production-actions button{width:100%}.project-production-filter{grid-template-columns:1fr 1fr;margin-inline:12px;padding:11px}.project-production-filter button{width:100%}.project-production-summary{margin-inline:12px;gap:7px}.project-production-summary article{padding:11px}.project-production-summary strong{font-size:19px}.project-production-hint{padding-inline:14px}.production-matrix th,.production-matrix td{min-width:105px;padding:9px 7px}.production-matrix th:first-child{min-width:119px}.project-production-details{margin:14px 12px;padding:13px}.project-production-details-head{align-items:flex-start}.project-production-details-head .secondary{padding:8px 10px}.production-entry-title{align-items:flex-start}.production-entry-record dl{grid-template-columns:1fr 1fr}.project-production-error{margin-inline:12px}}

.production-form textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #dce3e7;border-radius:8px;background:#fff;color:var(--ink);font:inherit;line-height:1.6;resize:vertical;min-height:82px}.production-form textarea:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.production-field-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:400}.project-production-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.project-production-type-totals{display:grid;grid-template-columns:minmax(190px,.35fr) minmax(0,1.65fr);align-items:center;gap:14px;margin:0 22px 18px;padding:14px 16px;border-radius:11px;background:linear-gradient(120deg,var(--navy),#28526c);color:#fff}.project-production-type-totals>div:first-child strong,.project-production-type-totals>div:first-child small{display:block}.project-production-type-totals>div:first-child small{margin-top:5px;color:#c5d6df;font-size:11px;line-height:1.5}.project-production-type-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.project-production-type-list article{flex:1 0 145px;min-width:145px;padding:10px 12px;border:1px solid #ffffff20;border-radius:9px;background:#ffffff12}.project-production-type-list span,.project-production-type-list strong,.project-production-type-list small{display:block}.project-production-type-list span{min-height:31px;color:#d7e5eb;font-size:11px;line-height:1.4}.project-production-type-list strong{margin:4px 0;font-size:20px}.project-production-type-list small{color:#bcd0da;font-size:10px}.production-quantity-cell{display:grid;justify-items:center;gap:2px;width:100%;max-width:112px;margin:auto}.production-quantity-cell b{font-size:14px}.production-quantity-cell small{display:block;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;opacity:.82}.production-matrix tfoot th,.production-matrix tfoot td{font-weight:800;border-top:2px solid #cbd9dc}.production-matrix tfoot .production-period-total th,.production-matrix tfoot .production-period-total td{background:#eaf3f4;color:var(--navy)}.production-matrix tfoot .production-lifetime-total th,.production-matrix tfoot .production-lifetime-total td{background:var(--navy);color:#fff;border-color:#34526a}.production-matrix tfoot .production-lifetime-total th:first-child,.production-matrix tfoot .production-lifetime-total td:last-child{background:var(--navy)}.production-entry-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.production-entry-note{overflow-wrap:anywhere}.production-note{background:#eef8f7;border-color:#cee8e5}.production-note strong{color:#2e6661}.production-note p{color:#355e5a}.production-note.empty{background:#f7f9fa;border-color:var(--line)}.production-item-detailed>div{min-width:0}.production-created-at{margin-top:4px!important;color:var(--muted)!important}.production-list-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:8px 0 0;padding:7px 9px;border-radius:7px;background:#f1f8f7;color:#355e5a;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.production-list-note.empty{background:#f7f9fa;color:var(--muted)}
@media(max-width:900px){.project-production-type-totals{grid-template-columns:1fr}.project-production-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:620px){.project-production-summary{grid-template-columns:1fr 1fr}.project-production-type-totals{margin-inline:12px;padding:12px}.production-entry-notes{grid-template-columns:1fr}.production-quantity-cell{padding-inline:5px}.production-quantity-cell small{max-width:88px}}

/* Delivery-note archive embedded in the project record. */
.project-dispatch-archive{padding:22px;min-width:0}
.project-dispatch-archive>.section-head{align-items:flex-start;margin-bottom:14px}
.project-dispatch-archive .eyebrow{display:block;margin-bottom:5px;color:var(--teal);font-size:10px;font-weight:800;overflow-wrap:anywhere}
.project-dispatch-archive>.section-head h3{margin:0 0 4px;color:var(--navy)}
.project-dispatch-archive>.section-head small{color:var(--muted);line-height:1.55}
.project-archive-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.project-dispatch-archive .dispatch-table{margin-top:4px}
.project-dispatch-archive .project-pagination{margin-top:14px}
@media(max-width:620px){.project-dispatch-archive{padding:14px}.project-dispatch-archive>.section-head{display:block}.project-archive-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.project-archive-actions button{width:100%}}

/* Production workbook */
.production-sheet-card{border:1px solid #b9c9cf;box-shadow:0 6px 22px #17324d0b}.production-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(120deg,#14745a,#21866b);color:#fff}.production-sheet-title span,.production-sheet-title small{display:block}.production-sheet-title>div:first-child>span{font-size:11px;font-weight:800;letter-spacing:.03em;color:#d4f4e9}.production-sheet-title h3{margin:5px 0;font-size:23px}.production-sheet-title small{color:#d9f1ea;line-height:1.55}.production-sheet-grand-total{flex:0 0 auto;min-width:135px;padding:10px 15px;border:1px solid #ffffff38;border-radius:9px;background:#ffffff18;text-align:center}.production-sheet-grand-total span,.production-sheet-grand-total small{font-size:10px;color:#d5eee7}.production-sheet-grand-total strong{display:block;margin:3px 0;font-size:25px}.production-sheet-card .project-production-head{padding-top:18px;margin-bottom:13px}.production-sheet-card .project-production-head h4{margin:0;color:var(--navy);font-size:16px}.production-sheet-form{margin:0}.production-sheet-matrix{direction:rtl;border-top:1px solid #c4d0d5;border-right:1px solid #c4d0d5}.production-sheet-matrix caption{padding:9px 22px;background:#f7fafb;color:#546671;font-size:11px}.production-sheet-matrix th,.production-sheet-matrix td{min-width:108px;border-color:#c4d0d5;padding:9px 8px}.production-sheet-matrix thead th{color:#fff;box-shadow:none}.production-sheet-matrix .production-sheet-groups th{top:0;height:44px;background:#185a83;color:#fff;border-color:#457b9b}.production-sheet-matrix .production-sheet-groups .production-product-group{font-size:14px;letter-spacing:.01em}.production-sheet-matrix .production-sheet-variants th{top:44px;height:84px;background:#2d759e;color:#fff;border-color:#5e93b1}.production-sheet-matrix .production-sheet-variants th:first-child,.production-sheet-matrix .production-sheet-variants th:last-child{right:auto;left:auto}.production-sheet-matrix .production-sheet-variants strong,.production-sheet-matrix .production-sheet-variants small{display:block}.production-sheet-matrix .production-sheet-variants strong{font-size:14px}.production-sheet-matrix .production-sheet-variants small{max-width:165px;margin:5px auto 0;color:#e4f1f8;font-size:9px;line-height:1.4}.production-sheet-matrix .production-sheet-cumulative th{top:128px;height:46px;background:#e3e8eb;color:#263b49;border-color:#c0cbd0}.production-sheet-matrix .production-sheet-cumulative th:first-child,.production-sheet-matrix .production-sheet-cumulative th:last-child{right:auto;left:auto}.production-sheet-matrix .production-sheet-cumulative span,.production-sheet-matrix .production-sheet-cumulative strong{display:block}.production-sheet-matrix .production-sheet-cumulative span{font-size:9px;color:#647581}.production-sheet-matrix .production-sheet-cumulative strong{margin-top:2px;font-size:16px}.production-sheet-matrix .production-date-column{min-width:156px}.production-sheet-matrix .production-user-column{min-width:155px}.production-sheet-matrix .production-notes-column{min-width:245px}.production-sheet-matrix thead .production-date-column{position:sticky;right:0;top:0;z-index:8;background:#174d6d}.production-sheet-matrix thead .production-user-column{top:0;z-index:7;background:#185a83}.production-sheet-matrix thead .production-notes-column{position:sticky;left:0;top:0;z-index:8;background:#174d6d}.production-sheet-matrix tbody th.production-date-column{position:sticky;right:0;z-index:3;background:#f7fafb}.production-sheet-matrix tbody td.production-notes-column{position:sticky;left:0;z-index:3;background:#fff}.production-sheet-matrix tbody tr:hover td.production-notes-column{background:#fbfdfd}.production-entry-row>th,.production-entry-row>td{background:#fff9e8!important;border-bottom:2px solid #d9b962!important}.production-entry-row th.production-date-column{background:#fff4cf!important}.production-entry-row td.production-notes-column{background:#fff4cf!important}.production-entry-row label span,.production-entry-row .production-user-column>span,.production-entry-notes-cell>label{display:block;margin-bottom:4px;color:#6b5b2b;font-size:9px;font-weight:800}.production-entry-row input,.production-entry-row select,.production-entry-row textarea{width:100%;border:1px solid #cbbd88;border-radius:5px;background:#fff;color:var(--ink);font:inherit}.production-entry-row input,.production-entry-row select{padding:7px}.production-entry-row th label+label{display:block;margin-top:7px}.production-entry-quantity input{text-align:center;font-size:16px;font-weight:800}.production-entry-quantity input:focus,.production-entry-row textarea:focus,.production-entry-row select:focus{outline:3px solid #2b83ad55;border-color:#2b83ad}.production-entry-quantity input:disabled{background:#e8ecee;color:#88959c}.production-entry-quantity small{display:block;margin-top:4px;color:#7a714f;font-size:8px}.production-entry-row .production-user-column strong{display:block;overflow-wrap:anywhere;color:#294b5d;font-size:12px}.production-entry-notes-cell textarea{display:block;min-height:54px;padding:7px;line-height:1.4;resize:vertical}.production-sheet-save{width:100%;margin-top:6px;padding:7px 10px}.production-sheet-save:disabled{opacity:.55;cursor:not-allowed}.production-sheet-status{min-height:18px;margin:7px 22px 0;color:#516670;font-size:11px}.production-day-button small{display:block;margin-top:4px;color:#6a7a83;font-size:9px;text-decoration:none}.production-sheet-text-button{width:100%;max-width:190px;padding:5px;border:0;background:transparent;color:#2d4858;font:inherit;font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.production-sheet-text-button:hover,.production-sheet-text-button:focus-visible{border-radius:5px;background:#e6f2f5;outline:2px solid #2b83ad}.production-sheet-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap;text-align:right}.production-sheet-matrix .production-quantity-cell{max-width:88px;background:#e4f3f8;color:#175f84}.production-sheet-matrix .production-quantity-cell:hover,.production-sheet-matrix .production-quantity-cell:focus-visible{background:#176c92;color:#fff}.production-sheet-card .project-production-table-wrap{max-height:min(72vh,820px)}
@media(max-width:900px){.production-sheet-title{align-items:flex-start}.production-sheet-matrix .production-notes-column{min-width:210px}}
@media(max-width:620px){.production-sheet-title{padding:16px 14px}.production-sheet-title h3{font-size:19px}.production-sheet-grand-total{min-width:105px;padding-inline:9px}.production-sheet-card .project-production-head{padding-inline:14px}.production-sheet-matrix th,.production-sheet-matrix td{min-width:100px}.production-sheet-matrix .production-date-column{min-width:142px}.production-sheet-matrix .production-user-column{min-width:135px}.production-sheet-matrix .production-notes-column{min-width:190px}.production-sheet-matrix thead .production-notes-column,.production-sheet-matrix tbody td.production-notes-column{position:static;left:auto}.production-sheet-status{margin-inline:14px}}
.production-sheet-matrix .production-sheet-variants small{display:-webkit-box;max-height:38px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-weight:400}
.project-production-stock-summary{margin:0 22px 18px;padding:15px;border:1px solid #d5e0e4;border-radius:12px;background:#f8fbfb}.project-production-stock-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.project-production-stock-title h4{margin:0;color:var(--navy);font-size:16px}.project-production-stock-title small{color:var(--muted);font-size:11px}.project-production-stock-summary table{width:100%;border-collapse:collapse;min-width:620px}.project-production-stock-summary caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-production-stock-summary th,.project-production-stock-summary td{padding:10px 12px;border:1px solid #d6e0e5;text-align:center;background:#fff;font-size:12px}.project-production-stock-summary thead th{background:#082945;color:#fff}.project-production-stock-summary tbody th{text-align:right;color:var(--navy)}.project-production-stock-summary tbody th strong,.project-production-stock-summary tbody th small{display:block}.project-production-stock-summary tbody th small{margin-top:3px;color:var(--muted);font-weight:400}.project-stock-available{color:#08746d!important;font-size:14px!important;font-weight:800}@media(max-width:620px){.project-production-stock-summary{margin-inline:12px;padding:12px}.project-production-stock-title{display:block}.project-production-stock-title small{display:block;margin-top:5px}.project-production-stock-summary table{min-width:560px}}
/* Project location and operating defaults remain visible without mixing them with financial cards. */
.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.project-facts article{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 4px 15px rgba(15,43,68,.05)}.project-facts span,.project-facts strong{display:block}.project-facts span{color:var(--muted);font-size:12px;font-weight:700}.project-facts strong{margin-top:7px;color:var(--navy);font-size:15px;font-weight:850;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:900px){.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.project-facts{grid-template-columns:1fr}}

/* Financial account embedded in the project record */
.project-finance-dashboard{display:grid;gap:16px;min-width:0}.project-finance-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #b8ced8;border-radius:14px;background:linear-gradient(125deg,#f9fcfd,#e8f4f3)}.project-finance-hero h2{margin:5px 0;color:var(--navy)}.project-finance-hero p{margin:0;color:var(--muted);line-height:1.6}.project-finance-contract{min-width:0;padding:0;overflow:hidden}.project-finance-contract>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 21px;background:linear-gradient(120deg,#103a59,#176c70);color:#fff}.project-finance-contract>header .eyebrow{color:#bce6df}.project-finance-contract>header h3{margin:5px 0}.project-finance-contract>header p{margin:0;color:#d1e3e7}.project-finance-contract-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;background:#dce5e9;border-bottom:1px solid #dce5e9}.project-finance-contract-facts>div{min-width:0;padding:13px 15px;background:#f8fafb}.project-finance-contract-facts dt{color:var(--muted);font-size:11px}.project-finance-contract-facts dd{margin:5px 0 0;color:var(--navy);font-weight:800;overflow-wrap:anywhere}.project-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:17px 20px}.project-finance-kpis article{min-width:0;padding:13px;border:1px solid #d8e2e7;border-radius:10px;background:#fff}.project-finance-kpis article.attention{border-color:#ddc79c;background:#fffaf0}.project-finance-kpis span,.project-finance-kpis strong{display:block}.project-finance-kpis span{color:var(--muted);font-size:11px}.project-finance-kpis strong{margin-top:6px;color:var(--navy);font-size:16px;overflow-wrap:anywhere}.project-finance-section{padding:18px 20px;border-top:1px solid var(--line)}.project-finance-section h4{margin:0;color:var(--navy)}.project-finance-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-finance-progress-grid article{min-width:0;padding:14px;border:1px solid #d8e3e7;border-radius:10px;background:#f8fbfb}.project-finance-progress-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-finance-progress-grid span{color:var(--muted);font-size:11px;font-weight:800}.project-finance-progress-grid>article>strong{display:block;margin:8px 0 5px;color:var(--navy);font-size:23px}.project-finance-progress-grid progress{display:block;width:100%;height:8px;accent-color:var(--teal)}.project-finance-progress-grid small{display:block;margin-top:7px;color:var(--muted);line-height:1.5}.project-finance-due-table{min-width:1050px}.project-finance-due-table td{vertical-align:top}.project-finance-due-table td strong,.project-finance-due-table td small{display:block}.project-finance-due-table td small{margin-top:4px;color:var(--muted);font-size:10px}.project-finance-alerts{display:grid;gap:8px;margin:0 20px 20px;padding:15px;border:1px solid #e1cf9f;border-radius:10px;background:#fffaf0}.project-finance-alerts h4{margin:0 0 3px;color:#715522}.project-finance-alerts article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border-radius:8px;background:#fff}.project-finance-alerts article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f5dfae;color:#87571b;font-weight:900}.project-finance-alerts strong,.project-finance-alerts small{display:block}.project-finance-alerts small{margin-top:4px;color:var(--muted)}.project-finance-error{display:grid;place-items:center;min-height:220px;text-align:center}.project-finance-error strong{color:#9b3131}.project-finance-error p{color:var(--muted)}
@media(max-width:1050px){.project-finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.project-finance-contract-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.project-finance-hero{align-items:flex-start;flex-direction:column}.project-finance-hero button{width:100%}.project-finance-kpis,.project-finance-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-finance-kpis{padding:13px}.project-finance-section{padding-inline:13px}.project-finance-alerts{margin-inline:13px}}
@media(max-width:470px){.project-finance-contract>header{align-items:flex-start}.project-finance-contract-facts,.project-finance-kpis,.project-finance-progress-grid{grid-template-columns:1fr}.project-finance-kpis strong{font-size:18px}}

/* Project billing v2 write workflow. */
.project-finance-hero-actions,.project-finance-contract-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-finance-hero-actions{justify-content:flex-end;flex:0 0 auto}.project-finance-access-note{margin-top:8px!important;padding:8px 10px;border:1px solid #d4dee3;border-radius:8px;background:#fff;color:#5e6e78!important;font-size:11px}.project-finance-contract-actions{padding:12px 20px;border-bottom:1px solid var(--line);background:#f5f9fa}.project-finance-contract-actions button{min-height:39px}.project-finance-milestones-table{min-width:880px}.project-finance-milestones-table td{vertical-align:top}.project-finance-milestones-table td strong,.project-finance-milestones-table td small{display:block}.project-finance-milestones-table td small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.project-finance-pending-list{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.project-finance-pending-list h5{margin:0 0 3px;color:var(--navy)}.project-finance-pending-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #ead8aa;border-radius:9px;background:#fffaf0}.project-finance-pending-list strong,.project-finance-pending-list small{display:block}.project-finance-pending-list small{margin-top:3px;color:var(--muted)}.project-finance-pending-list button,.project-finance-inline-action{padding:7px 10px;font-size:11px}.project-finance-inline-action{display:block;margin-top:7px}.project-finance-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;justify-content:flex-start;gap:9px}.project-finance-check input{width:auto!important}.project-finance-allocation-editor{display:grid;gap:8px;margin-top:4px;padding:14px;border:1px solid #cadde0;border-radius:11px;background:#f7fbfb}.project-finance-allocation-editor .section-head{margin-bottom:2px}.project-finance-allocation-editor h3{font-size:15px}.project-finance-allocation-editor label{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,190px);align-items:center;gap:12px;padding:10px;border:1px solid #dce6e8;border-radius:8px;background:#fff}.project-finance-allocation-editor label strong,.project-finance-allocation-editor label small{display:block}.project-finance-allocation-editor label small{margin-top:3px;color:var(--muted);font-weight:500}.project-finance-action-dialog{width:min(820px,95vw)}.project-finance-action-form .permission-note{margin:0}.project-finance-action-form [hidden]{display:none!important}
.project-finance-auto-note{padding:8px 11px;border:1px solid #b9dbd4;border-radius:999px;background:#eaf7f4;color:#176b62;font-size:11px;font-weight:800}.project-finance-stage-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0 0;padding-top:10px;border-top:1px solid #d8e3e7}.project-finance-stage-values>div{min-width:0;padding:8px;border-radius:8px;background:#fff}.project-finance-stage-values dt{color:var(--muted);font-size:9px}.project-finance-stage-values dd{margin:4px 0 0;color:var(--navy);font-size:12px;font-weight:800;overflow-wrap:anywhere}
@media(max-width:720px){.project-finance-section .data-table th:nth-child(3),.project-finance-section .data-table td:nth-child(3){display:table-cell}.project-finance-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.project-finance-hero-actions button{width:100%}.project-finance-contract-actions{padding-inline:13px}.project-finance-contract-actions button{flex:1 1 calc(50% - 8px)}.project-finance-pending-list article{grid-template-columns:1fr auto}.project-finance-pending-list article button{grid-column:1/-1;width:100%}.project-finance-allocation-editor label{grid-template-columns:1fr}.project-finance-action-dialog{width:100vw;max-width:none;margin:auto 0 0;border-radius:16px 16px 0 0}}
@media(max-width:470px){.project-finance-hero-actions{grid-template-columns:1fr}.project-finance-contract-actions button{flex-basis:100%}.project-finance-stage-values{grid-template-columns:1fr}.project-finance-auto-note{width:100%;text-align:center}}
