/* RC4.4 - compact shared document workspace, with help isolated from form controls. */
[hidden]{display:none!important}
.help-popup{display:none!important}
.help-icon{width:20px;height:20px;min-width:20px;line-height:1;padding:0;cursor:help;flex:none}
#contextual-help{position:fixed;z-index:2500;max-width:300px;padding:12px 14px;background:#18364b;color:#fff;border-radius:9px;box-shadow:0 8px 24px #152d4430;font-size:13px;line-height:1.5;pointer-events:none}
#contextual-help::after{content:"";position:absolute;top:100%;left:14px;border:7px solid transparent;border-top-color:#18364b}
.document-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}
.document-status{font-size:13px;color:#3c677d;background:#e9f4f6;padding:6px 12px;border-radius:20px}
.document-layout{display:grid;grid-template-columns:minmax(0,1120px) 112px;gap:10px;justify-content:center;align-items:start}.document-form{width:100%;margin:0}.document-form [hidden]{display:none!important}
.document-side-nav{position:sticky;top:8px;display:grid;gap:5px;padding:7px;background:#eef5f8;border:1px solid #d3e0e7;border-radius:9px}.document-side-nav button{padding:7px 6px;font-size:11px;background:#fff;color:#235773;border:1px solid #c7d8e2}.document-side-nav button.active{background:#195c82;color:#fff}
.document-section{border:1px solid #dce5ec;background:white;border-radius:8px;padding:9px 11px;margin:6px 0}
.document-section>h3{font-size:14px;margin:0 0 7px}.document-section>summary{font-size:13px;font-weight:600;cursor:pointer;color:#356276;list-style-position:inside}
.document-section[open]>summary{margin-bottom:10px}
.document-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 9px}
.document-form input,.document-form select,.document-form textarea{margin-top:2px;min-height:31px;padding:6px 8px;border-color:#c8d5df;font-size:13px}
.document-form label{font-size:12px;font-weight:600;color:#40586a;min-width:0}
.document-form .check input{min-height:0;margin-top:0}
.document-line{padding:6px 8px;background:#f7f9fc;border:1px solid #dce6ee;border-radius:8px;margin-bottom:4px}
.document-line .document-section{background:transparent;padding:5px 0 0;border:none;margin:5px 0 0}
.document-line .document-fields{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px 6px}
.document-line .document-fields>label:has(textarea){grid-column:span 2}
.document-line textarea{height:31px;min-height:31px;resize:vertical;line-height:1.25}
.document-line-heading{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;color:#526d80}
.document-line-heading>strong{font-size:17px;color:#16435e;margin-left:auto;font-variant-numeric:tabular-nums}
.document-remove{background:transparent;color:#9c4040;font-size:12px;padding:6px 9px}
.document-add{padding:6px 0;gap:8px}.document-add button{background:#edf4f8;color:#245776;font-size:13px}
.document-summary{display:flex;justify-content:flex-end;gap:1px;margin:10px 0;background:#dae5ed;border:1px solid #dae5ed;border-radius:10px;overflow:hidden}
.document-summary>div{flex:1;background:#f4f8fb;padding:10px 15px;display:flex;flex-direction:column;gap:3px}
.document-summary>div:last-child{background:#164d6c;color:white}.document-summary span{font-size:12px}.document-summary strong{font-size:23px;font-variant-numeric:tabular-nums}
.document-savebar{position:sticky;bottom:0;z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#ffffffed;border:1px solid #dbe5ec;border-radius:10px;padding:9px 11px;box-shadow:0 -4px 18px #173d4a0b;margin-top:10px;backdrop-filter:blur(10px)}
.document-savebar>.muted{flex:1;font-size:12px;min-width:160px}.document-savebar button{font-size:13px}
.document-error{background:#fff0ef;color:#942e24;border-left:4px solid #c13d32;padding:14px;border-radius:6px;margin:12px 0}
.number-field{color:#607482}.document-number-value{font-size:16px!important;font-weight:800!important;color:#103f59!important;background:#eef8fb!important;border:2px solid #77b7cb!important;letter-spacing:.02em}.document-number-preview{display:block;min-height:31px;margin-top:2px;padding:6px 8px;border-radius:6px;font-variant-numeric:tabular-nums}
.number-settings{font-size:11px;margin:4px 0 0;color:#46677a}.lookup-toolbar{display:grid;grid-template-columns:1fr auto;gap:4px}.lookup-toolbar .registry-search{width:100%;margin:0}.lookup-toolbar .search-confirm{padding:5px 8px;font-size:11px;white-space:nowrap}.lookup-results{position:relative;z-index:20;max-height:190px;overflow:auto;border:1px solid #a9c9d8;background:#fff;border-radius:6px;box-shadow:0 6px 18px #163b5026;padding:3px}.lookup-result{display:block;width:100%;text-align:left;padding:6px 8px;margin:2px 0;background:#f2f8fa;color:#173f57;font-size:12px}.lookup-results p{padding:7px;margin:0}.reference-editor{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(220px,2fr) auto minmax(140px,.8fr) auto;gap:8px;align-items:end;padding:9px;background:#f7f9fc;border:1px solid #dce6ee;border-radius:8px;margin:6px 0}.document-references{display:grid;gap:5px;margin-bottom:8px}.reference-group{border:1px solid #cfe1e8;border-radius:7px;overflow:hidden}.document-reference{padding:7px 9px;border-left:4px solid #2b8096;background:#edf7f9;font-weight:650;color:#244f61}.reference-detail{padding:4px 10px 4px 15px;font-size:11px;border-top:1px solid #e1ecef;color:#486474}.cost-focus{border-color:#a9cfdb;background:#fbfeff}.cost-focus>h3{color:#164d6c}
.lookup-selected{display:block;margin-top:3px;padding:3px 6px;border-left:3px solid #2b8096;background:#edf7f9;color:#17445c;font-size:11px;font-weight:700}.lookup-native{display:none!important}.customer-search{grid-column:span 2}.customer-search-title{display:block;margin-bottom:3px}.customer-search-grid{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(190px,1.6fr);gap:5px}.customer-search-grid label{margin:0}.customer-results{grid-column:1/-1}.lookup-dialog-backdrop{position:fixed;inset:0;z-index:3000;background:#102a3db8;display:grid;place-items:center;padding:18px}.lookup-dialog{width:min(900px,96vw);max-height:90vh;overflow:hidden;background:#fff;border-radius:12px;padding:14px;box-shadow:0 18px 55px #071b2a66;display:grid;grid-template-columns:2fr 1fr;gap:8px}.lookup-dialog-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.lookup-dialog-head h3{margin:0}.lookup-dialog-list{grid-column:1/-1;max-height:65vh;overflow:auto;display:grid;gap:4px}.lookup-dialog-row{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#f1f7fa;color:#173f57;border:1px solid #d5e5ec;padding:8px 10px}.lookup-dialog-row small{font-weight:400;color:#587180}
.status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2;border:1px solid transparent;white-space:nowrap}.status-neutral{background:#e8eef3;color:#3c5362;border-color:#ccd8df}.status-open{background:#dceefa;color:#15577d;border-color:#a9d2e9}.status-warning{background:#fff0d5;color:#8a5200;border-color:#f0cd8a}.status-positive{background:#ddf3e7;color:#17623d;border-color:#a9d8bf}.status-danger{background:#fbe2df;color:#96352d;border-color:#eab4ae}.status-final{background:#eee4f7;color:#684080;border-color:#d4bce8}.record-status-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.summary>.status-badge{margin:4px 0 0 7px}.invoice-bottom-options{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(360px,2fr);gap:10px}.invoice-bottom-options>.grid{grid-template-columns:repeat(4,minmax(110px,1fr));gap:6px}.invoice-bottom-options>label{margin:0}.invoice-bottom-options textarea{min-height:82px}
.candidate-picker{display:grid;gap:5px;padding:9px;background:#f4f9fb;border:1px solid #c9dfe8;border-radius:8px;margin:7px 0}.candidate-row{padding:5px 8px;background:#fff;border-radius:6px}.project-links{display:grid;gap:4px;margin-top:7px}.project-links .document-reference{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;font-size:12px}.project-links .document-remove{margin-left:auto}
.stats:has(.inventory-group){align-items:start}.inventory-group{min-width:0;background:#fff;border:1px solid #d8e3ea;border-radius:9px;padding:7px}.inventory-group .metric{width:100%;margin:0 0 6px}.inventory-group>input{width:100%;min-height:31px;margin-bottom:5px;font-size:12px}.inventory-inline-list{max-height:300px;overflow:auto}.inventory-inline-list .record{padding:6px 7px;margin:3px 0;font-size:12px}.inventory-inline-list .actions button{font-size:10px;padding:4px 6px}
@media(max-width:1000px){.document-layout{grid-template-columns:1fr}.document-side-nav{position:static;grid-template-columns:repeat(6,1fr);grid-row:1}.document-side-nav button{font-size:10px}.reference-editor{grid-template-columns:1fr 1fr}.reference-editor .document-remove{grid-column:1/-1;justify-self:start}}
@media(max-width:650px){.document-section{padding:14px}.document-line{padding:12px}.document-summary{flex-wrap:wrap}.document-summary>div{padding:12px;min-width:100px}.document-summary strong{font-size:18px}.document-savebar{position:static}.document-fields{grid-template-columns:1fr}.document-line .document-fields{grid-template-columns:1fr 1fr}.document-heading{align-items:flex-start}.customer-search{grid-column:1/-1}.customer-search-grid,.lookup-dialog,.invoice-bottom-options{grid-template-columns:1fr}.invoice-bottom-options>.grid{grid-template-columns:1fr 1fr}.lookup-dialog-list,.lookup-dialog-head{grid-column:1}}
@media print{.document-savebar,.help-icon,#contextual-help{display:none!important}}

@media(min-width:651px){.document-line .document-fields>label{grid-column:span 1}.document-line .document-fields>label:has(textarea){grid-column:span 2}.document-line details .document-fields{grid-template-columns:repeat(8,minmax(0,1fr))}.document-line{font-size:11px}.document-line label{font-size:11px;margin-bottom:2px}.document-line input,.document-line select{min-width:0;height:31px}.document-line details>summary{font-size:11px}}

.payment-paid,.payment-paid:disabled{background:#197545!important;color:white!important;opacity:1!important;border:1px solid #145e38!important}.payment-open{background:#f4a340!important;color:#35200b!important;border:1px solid #d48420!important}.payment-label{display:inline-block;padding:6px 12px;border-radius:6px;margin-left:8px}

/* Cantiere: hierarchy and links, scoped to the project workspace. */
.project-toolbar{margin-bottom:12px}.project-identity{padding:14px;background:#edf4fa;border-radius:9px;margin-bottom:14px}.project-identity>strong{font-size:1.15rem}.project-summary{margin-bottom:18px}.project-summary>div{padding:12px;background:#f1f5f8;border-radius:8px}.project-summary span,.project-summary strong{display:block}.project-summary span{font-size:.84rem;color:#596b79}.project-close-actions{padding:14px;border:1px solid #cbdce9;border-radius:9px;margin:16px 0}.project-close-actions>span{font-weight:700;margin-right:auto}.project-document-nav{margin-bottom:14px}.project-document-section{border:1px solid #dce5ed;border-radius:10px;margin:14px 0;padding:12px;scroll-margin-top:18px}.project-document-section h3{margin-top:0}.project-document-table th{background:#edf4fa}.project-document-table td{vertical-align:middle;white-space:normal}.project-document-table td:first-child{font-weight:700}.project-document-table .actions{flex-wrap:nowrap}.project-sal-percent{color:#15598c;font-size:1.12rem}.project-links{width:100%}.project-links .project-document-section{padding:9px}.project-links .project-document-table{font-size:.9rem}@media(max-width:700px){.project-document-table{min-width:620px}.project-close-actions{align-items:stretch}.project-close-actions>span{width:100%}.project-close-actions button{flex:1}.project-document-nav button{flex:1 1 40%}}

/* Menus stay above the document, outside its fields, at every viewport width. */
.document-layout{grid-template-columns:minmax(0,1fr)}
.document-side-nav{position:static;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:10px;grid-row:auto}
.document-side-nav button{padding:9px 13px;font-size:13px;flex:0 1 auto}
.project-document-nav{padding:10px;background:#edf4fa;border:1px solid #cbdce9;border-radius:9px;margin:0 0 16px}
.project-document-nav .project-tab{color:#fff;border:1px solid transparent;font-weight:700}
.project-tab-quotes{background:#7151a2}.project-tab-sals{background:#126889}.project-tab-deliveries{background:#8a5815}.project-tab-invoices{background:#246b49}
button.project-action-view{background:#246b49;color:#fff}
button.project-action-client,button.project-action-link{background:#126889;color:#fff}
button.project-action-partial{background:#7151a2;color:#fff}
button.project-action-close{background:#a43c36;color:#fff}
button.project-action-unlink{background:#a35b0a;color:#fff}
.project-document-nav button:hover,.project-document-table button:hover,.project-close-actions button:hover{filter:brightness(.9)}
.project-document-nav button:focus-visible,.project-document-table button:focus-visible,.project-close-actions button:focus-visible{outline:3px solid #19334b;outline-offset:3px}
@media(max-width:1000px){.document-side-nav{position:static;display:flex;grid-row:auto}.document-side-nav button{font-size:13px}}

/* Project list and summary: desktop rows become readable cards on small screens. */
.project-list{display:grid;gap:10px;margin-top:16px}.project-list-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,.7fr) repeat(3,minmax(115px,1fr)) auto;gap:16px;align-items:center;padding:16px;border:1px solid #cadbe7;border-left:5px solid #1768ad;border-radius:10px;background:#fff}.project-list-identity strong,.project-list-identity span,.project-list-value span,.project-list-value strong{display:block}.project-list-identity strong{font-size:1.1rem;color:#14395c}.project-list-identity span,.project-list-value span{font-size:.85rem;color:#536c80}.project-list-value strong{font-size:1rem}.project-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.project-metric{padding:16px;border:1px solid #cfdeea;border-top:4px solid #1768ad;border-radius:10px;background:#f4f8fb}.project-metric span,.project-metric strong{display:block}.project-metric span{font-size:.88rem;color:#3f596c}.project-metric strong{font-size:1.35rem;margin-top:6px;overflow-wrap:anywhere}.project-metric-progress{border-top-color:#126889;background:#edf8fb}.project-metric-paid{border-top-color:#246b49;background:#edf7f1}.project-metric-collect{border-top-color:#a35b0a;background:#fff6eb}.project-edit-actions{margin:14px 0}.project-tab-credits{background:#9c3d65}.project-toolbar button,.project-edit-actions button,.project-close-actions button,.project-document-table button{min-height:44px}.project-document-table td:first-child{overflow-wrap:anywhere}
@media(max-width:1100px){.project-list-row{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(120px,1fr))}.project-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-list-row{grid-template-columns:1fr 1fr;gap:12px}.project-list-identity{grid-column:1/-1}.project-list-row>button{grid-column:1/-1}.project-dashboard{grid-template-columns:1fr 1fr;gap:8px}.project-metric{padding:11px}.project-metric strong{font-size:1.12rem}.project-document-table{min-width:0}.project-document-table thead{display:none}.project-document-table tbody,.project-document-table tr,.project-document-table td{display:block;width:100%}.project-document-table tr{padding:12px 0;border-bottom:2px solid #cadbe7}.project-document-table td{padding:5px 0;border:none;white-space:normal}.project-document-table td::before{content:attr(data-label) ': ';font-size:.82rem;color:#536c80;font-weight:400}.project-document-table td:last-child::before{display:none}.project-document-table .actions{flex-wrap:wrap}.project-document-table .actions button{flex:1}.project-document-nav{gap:6px}.project-document-nav button{min-height:44px;flex:1 1 40%}}

.sal-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.sal-overview>div{padding:14px;background:#edf5fa;border:1px solid #cbdce9;border-top:4px solid #1768ad;border-radius:9px}.sal-overview span,.sal-overview strong{display:block}.sal-overview strong{font-size:1.25rem;margin-top:5px}.sal-overview>div:last-child{background:#edf7f1;border-top-color:#246b49}.sal-context-links{margin-bottom:14px}.sal-workspace .document-section>h3{font-size:1.08rem}.sal-signatures{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f2f6f8;border-radius:8px;margin-bottom:10px}.sal-preview{background:#fff;border-radius:10px;padding:16px;width:min(95vw,1000px);max-height:95vh;overflow:auto}.sal-preview iframe{display:block;border:0;width:100%;height:70vh;margin-top:12px}.sal-preview img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:12px auto}.sal-attachment-content button,.context-return{min-height:44px}@media(max-width:800px){.sal-overview{grid-template-columns:1fr 1fr}.sal-signatures{flex-direction:column}.sal-preview{padding:10px}.sal-overview strong{font-size:1.05rem}}

/* Compact home cards, with one desktop row and responsive wrapping. */
.home-menu-grid{display:flex;flex-wrap:nowrap;gap:10px;margin:12px 0 18px}.home-menu-grid .home-menu-card{flex:1 1 0;min-width:0;min-height:96px;padding:12px;overflow-wrap:anywhere}.home-menu-grid .home-menu-card strong{font-size:.95rem}.home-menu-grid .home-menu-card span{font-size:.8rem;line-height:1.3;margin-top:5px}
@media(max-width:1000px){.home-menu-grid{flex-wrap:wrap}.home-menu-grid .home-menu-card{flex:1 1 calc(33.333% - 10px)}}
@media(max-width:600px){.home-menu-grid .home-menu-card{flex-basis:calc(50% - 10px);min-height:100px}}
@media(max-width:360px){.home-menu-grid .home-menu-card{flex-basis:100%}}

.sal-residual-hint{padding:12px;border:1px solid #9ec9df;border-left:5px solid #126889;border-radius:8px;background:#edf8fb;margin-bottom:8px}.sal-residual-hint p{margin:0 0 8px}.project-attachment-browser{max-height:92vh}.project-attachment-browser .grid{margin:14px 0}

.invoice-proforma-ready{border-left:5px solid #7151a2;background:#f8f5fc}.invoice-proforma-tag{display:inline-block;padding:4px 8px;margin:5px;border-radius:5px;background:#eee7f8;color:#523378;font-weight:700}.invoice-proforma-convert{border:2px solid #7151a2}

.sal-work-section{border-top:4px solid #126889}.sal-work-table{min-width:950px}.sal-work-table th{background:#edf4fa}.sal-work-table td{vertical-align:top;white-space:normal}.sal-work-table td:first-child{width:35%}.sal-work-table input{min-width:80px;max-width:110px}.sal-work-table details p{white-space:pre-wrap}.sal-work-invalid{background:#fff0ee!important}.sal-work-table td:nth-child(6){font-weight:700;color:#126889}.sal-import-table{min-width:850px}.sal-import-table td:first-child{white-space:normal;width:55%}.sal-import-table input{min-width:90px}.sal-work-import{max-width:1150px}.sal-import-live-total{padding:12px;background:#edf8fb;font-weight:700}.quote-text-line{border-left:5px solid #7151a2;background:#f7f4fb}.quote-text-line .row-basic{grid-template-columns:1fr}.quote-text-line textarea{min-height:100px}.quote-technical{border-top:4px solid #126889}.quote-import-source{padding:12px;background:#edf4fa;border-radius:8px}.quote-import-preview details{padding:10px;border-bottom:1px solid #dce5ed}.quote-import-preview details p{white-space:pre-wrap}.quote-preview-text{background:#f7f4fb}.quote-excel-compatible textarea{line-height:1.5;max-height:440px}.quote-import-dialog{max-width:1100px}
@media(max-width:700px){.sal-work-table{min-width:0}.sal-work-table thead{display:none}.sal-work-table tbody,.sal-work-table tr,.sal-work-table td{display:block;width:100%!important}.sal-work-table tr{padding:12px 0;border-bottom:2px solid #d3e0e7}.sal-work-table td{padding:5px}.sal-work-table td::before{content:attr(data-label) ': ';font-weight:600;color:#526b7f}.sal-work-table input{max-width:100%}.sal-work-section .sal-overview{grid-template-columns:1fr 1fr}.sal-import-table{min-width:700px}}

.sal-work-group td{background:#174b72;color:#fff;font-weight:700;white-space:normal;padding:12px}
