:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#163752;background:#f0f7fc;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid #d0dbe0;background:white;color:#163752;border-radius:8px;padding:11px 17px;font-weight:600}button:hover{background:#edf3f5}button:disabled{opacity:.6;cursor:wait}.primary{background:#0077b6;border-color:#0077b6;color:white}.primary:hover{background:#005f92}aside{width:250px;flex-shrink:0;background:#005580;color:#eaf2f3;padding:38px 24px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-weight:750;letter-spacing:1.6px;font-size:21px}.brand small{display:block;font-size:12px;letter-spacing:3.4px;margin-top:4px;color:#c5e8fa}.nav-label{font-size:12px;letter-spacing:1.5px;color:#b9dff2;margin:55px 10px 15px}nav{display:grid;gap:9px}nav a{display:flex;justify-content:space-between;text-decoration:none;color:#e0f2fc;padding:15px 13px;border-radius:8px;font-size:15px}nav a.active{background:#0077ad;color:white;box-shadow:inset 3px 0 #70dcff}nav a span{font-size:12px;color:#b9dff2}.aside-note{margin-top:60px;border-top:1px solid #377da0;padding:25px 10px;font-size:14px}.aside-note strong{color:#a5e8ff}.aside-note p{line-height:1.9;color:#d3eaf6}footer{margin-top:auto;padding:30px 10px 0;font-size:12px;line-height:1.9}footer span{color:#b9dff2}main{min-width:0;flex:1;padding:0 46px 38px;max-width:1600px}header{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4e8;font-size:14px;color:#586e78;gap:15px}.tag{font-size:12px;padding:7px 11px;border:1px solid #cad9df;border-radius:5px;background:white}.intro{display:flex;justify-content:space-between;align-items:center;margin:38px 0 30px;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#587580;font-weight:650;margin:0 0 9px}h1{font-size:36px;letter-spacing:-1px;margin:0 0 10px;font-weight:650}.intro p:last-child{color:#627882;font-size:15px;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.metric{background:white;border:1px solid #dce6e9;border-radius:10px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.metric span{font-size:14px;color:#5b7079}.metric strong{font-size:30px;font-weight:600}.workspace{background:white;border:1px solid #dce6e9;border-radius:12px;overflow:hidden}.table-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 25px}h2{font-size:19px;margin:0;font-weight:650}.search{display:flex;align-items:center;gap:12px;font-size:14px}.search input{width:220px}input,select,textarea{width:100%;border:1px solid #bfced5;border-radius:6px;background:white;color:#163752;padding:10px 12px;min-height:43px}textarea{min-height:85px;resize:vertical}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{padding:14px 24px;background:#f5f8f9;color:#627883;font-size:12px;text-transform:uppercase;letter-spacing:.7px;font-weight:600}td{padding:19px 24px;border-top:1px solid #e7edf0;line-height:1.5}td small{display:block;color:#687e86;font-size:12px}td button{font-size:13px;padding:7px 10px}.empty{padding:60px 25px 70px;text-align:center}.empty .symbol{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#e6f4fc;color:#0077b6;border-radius:18px;font-size:30px;margin-bottom:17px}.empty h3{font-size:21px;margin:0 0 9px}.empty p{color:#617883;max-width:470px;margin:0 auto;line-height:1.7}.next{display:flex;gap:17px;padding:25px 8px;max-width:820px;font-size:14px;line-height:1.7}.next p{margin:4px 0;color:#697f88}.next-icon{font-size:25px;color:#0077b6}#notice:not(:empty){padding:10px 25px;color:#8d3c21;background:#fff5ed;margin:0}dialog{border:1px solid #d0dce2;border-radius:14px;padding:28px;width:min(700px,94vw);max-height:90vh;color:#163752}dialog::backdrop{background:#003752b3}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-heading button{border:0;font-size:26px;padding:2px 10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{display:grid;gap:7px;font-size:14px}.fields .wide{grid-column:1/-1}.fields .hint{background:#edf7fd;padding:15px;line-height:1.6;font-size:14px;margin:0}.actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e8ec;padding-top:20px;margin-top:20px}#form-error{color:#a3361d;font-size:14px}select:disabled{background:#edf1f3}.pill{background:#e3f3fc;color:#005f92;padding:5px 9px;border-radius:4px;white-space:nowrap;font-size:12px}@media(max-width:1100px){aside{width:210px;padding:30px 17px}main{padding:0 25px 25px}.metrics{gap:10px}.metric{padding:16px 12px}.metric strong{font-size:25px}.search span{display:none}}@media(max-width:760px){body{display:block}aside{width:100%;min-height:auto;padding:20px}.brand{font-size:18px}.nav-label,.aside-note,footer{display:none}nav{display:flex;overflow-x:auto;margin-top:18px;gap:4px}nav a{white-space:nowrap;font-size:14px;padding:11px}nav a span{display:none}main{padding:0 18px 20px}header{height:auto;padding:18px 0;flex-wrap:wrap}.intro{align-items:flex-start;flex-direction:column;margin:25px 0}.intro button{width:100%}h1{font-size:30px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:17px}.table-heading{align-items:stretch;flex-direction:column;padding:20px}.search input{width:100%}.search{display:block}.fields{grid-template-columns:1fr}.fields label{grid-column:1/-1}td,th{padding:14px 17px}}
.city-options{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto}.city-options button{font-size:14px;padding:7px 10px;text-align:left}#city-status{font-size:13px;line-height:1.5;color:#587580}
.fields .check-field{display:flex;align-items:center;gap:10px;padding:10px 0}.check-field input{width:20px;height:20px;min-height:0;accent-color:#0077b6}
.danger{color:#a32626;border-color:#d7a3a3}.danger:hover{background:#fff1f1}#delete-client{margin-right:auto}

#f-postal_code{width:8rem;max-width:100%;min-height:0;height:2.25rem;padding:6px 10px;align-self:start}

.fields .address-row{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:18px;align-items:start}.fields .address-row>label{grid-column:auto;min-width:0;align-content:start}.address-row #f-city{height:2.25rem;min-height:0;padding:6px 10px}

#fields input[type=text],#fields textarea,#fields select{text-transform:uppercase}
.service-options{border:1px solid #bfced5;border-radius:8px;padding:14px;min-width:0}.service-options legend{font-size:14px;padding:0 6px}.service-options .check-field input{flex-shrink:0}.legacy-services{white-space:pre-wrap;font-size:14px}
.pdf-export{display:inline-flex;align-items:center;border:1px solid #0077b6;color:#005f92;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none}.actions{flex-wrap:wrap}
.brand img{width:38px;height:53px;object-fit:contain}
.service-row{display:flex;align-items:center;gap:10px;margin:10px 0}.service-row input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0}.service-row input[type=text]{min-width:0;flex:1}.service-row button{padding:8px 12px}
.intervention-dialog input[type=text],.intervention-dialog textarea{text-transform:uppercase}.intervention-history{border-top:1px solid #d0dbe0;margin-top:24px;padding-top:12px}.intervention-history article{padding:14px 0;border-bottom:1px solid #e0e8ec}.intervention-history small{display:block;color:#587580;font-size:13px;margin-top:6px}.intervention-history p{white-space:pre-wrap;overflow-wrap:anywhere}.intervention-dialog [data-error]{color:#a32626}
.primary-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-actions [hidden]{display:none}
.crm-dialog{width:min(950px,96vw)}.crm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.crm-tabs [aria-pressed=true]{background:#0077b6;color:white}.crm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.crm-list article{border:1px solid #d0e2eb;background:#f6fbfe;padding:18px;border-radius:10px;margin:12px 0}.crm-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0}.crm-list p span,.crm-list small{color:#587580}.crm-due{color:#a3361d;font-weight:600}.crm-editor .fields{margin-top:24px}.crm-editor input[type=text],.crm-editor textarea{text-transform:uppercase}.crm-editor [role=alert],.crm-dialog [role=alert]{color:#a3361d}.actions{flex-wrap:wrap}
.crm-dialog [data-content][data-kind="contacts"] .crm-list article{display:grid;gap:5px;padding:13px;margin:10px 0}.crm-dialog [data-content][data-kind="contacts"] .crm-list article p{margin:0}.crm-dialog [data-content][data-kind="contacts"] .crm-list article>.crm-toolbar{margin-bottom:2px}.crm-dialog [data-content][data-kind="contacts"] .crm-list article small{margin-top:4px}
header{height:auto;min-height:85px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}#followup-alert{font-size:13px}#followup-alert.has-alerts{background:#fff2df;border-color:#da8b30;color:#8b4009}
.quarter-picker{display:flex;align-items:center;flex-wrap:wrap;gap:16px;background:white;border:1px solid #dce6e9;border-radius:10px;padding:16px;margin-bottom:20px}.quarter-picker[hidden]{display:none}.quarter-picker label{display:grid;gap:6px;font-size:14px}.quarter-picker input{width:110px}.quarter-picker p{font-size:13px;color:#587580;flex:1;min-width:220px}
#fleet-summary{margin-bottom:24px}#fleet-summary h2{margin:0 0 14px}#fleet-summary .metrics{margin-bottom:8px}#fleet-summary .metric{display:flex;flex-direction:column;align-items:flex-start;gap:10px}#fleet-summary .metric strong{font-size:24px;overflow-wrap:anywhere;max-width:100%}#fleet-summary p{font-size:13px;color:#587580;line-height:1.5}
#fleet-summary .metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
/* Client form: related actions above the save/cancel row. */
#editor[data-section="clients"] #form > .actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding-top:18px;align-items:stretch}
#editor[data-section="clients"] #form > .actions button{min-height:46px;width:100%;margin:0;padding:10px 12px;font-size:14px;line-height:1.35;display:flex;align-items:center;justify-content:center}
#editor[data-section="clients"] #client-crm{grid-column:1 / span 3;grid-row:1;background:#edf7fd;color:#005f92;border-color:#b7d7e8}
#editor[data-section="clients"] #client-interventions{grid-column:4 / span 3;grid-row:1;background:#edf7fd;color:#005f92;border-color:#b7d7e8}
#editor[data-section="clients"] #client-crm:hover,#editor[data-section="clients"] #client-interventions:hover{background:#dceffc}
#editor[data-section="clients"] #delete-client{grid-column:1 / span 2;grid-row:2}
#editor[data-section="clients"] #cancel{grid-column:3 / span 2;grid-row:2}
#editor[data-section="clients"] #save{grid-column:5 / span 2;grid-row:2}
@media(max-width:480px){#editor[data-section="clients"] #form > .actions{grid-template-columns:1fr 1fr}#editor[data-section="clients"] #client-crm{grid-column:1;grid-row:1}#editor[data-section="clients"] #client-interventions{grid-column:2;grid-row:1}#editor[data-section="clients"] #delete-client{grid-column:1 / -1;grid-row:2}#editor[data-section="clients"] #cancel{grid-column:1;grid-row:3}#editor[data-section="clients"] #save{grid-column:2;grid-row:3}}
#editor[data-section="clients"]{width:min(760px,94vw)}#editor[data-section="clients"] .fields{gap:11px 14px}#editor[data-section="clients"] .fields>label{align-content:start;gap:5px}#editor[data-section="clients"] .fields input:not([type="checkbox"]),#editor[data-section="clients"] .fields select{height:38px;min-height:38px;padding:7px 10px}#editor[data-section="clients"] .fields textarea{min-height:62px;padding:8px 10px}.client-siret-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.client-siret-row .siret-search-button{padding:6px 11px;min-height:38px;font-size:12px;white-space:nowrap}
/* Distinct main toolbar in the ocean palette. */
main > header{background:#00466b;color:#fff;border:1px solid #003b5b;border-radius:12px;padding:18px 20px;margin-top:20px;box-shadow:0 4px 12px #003b5b18;gap:12px}
main > header > span:first-child{font-weight:600;color:#fff}
main > header button{background:#fff;color:#005580;border-color:#c4e4f4}
main > header button:hover{background:#e6f5fd}
main > header button.primary{background:#0077b6;color:#fff;border-color:#69b7df}
main > header button.primary:hover{background:#00669c}
main > header .tag{background:#003a59;color:#d9f0fc;border-color:#4b809e}
main > header #followup-alert.has-alerts{background:#fff2df;color:#8b4009;border-color:#edb76e}
main > header button:focus-visible{outline:3px solid #91e4ff;outline-offset:3px}
@media(max-width:760px){main > header{padding:16px;margin-top:16px}main > header > span:first-child{flex-basis:100%}}
/* Keep the readings window within the viewport, including short laptop screens. */
dialog.readings-dialog{width:min(1050px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:22px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.readings-dialog .fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.readings-dialog .fields .wide{grid-column:auto}
.readings-dialog .dialog-heading{margin-bottom:12px}
.readings-dialog .actions{margin-top:14px;padding-top:12px}
.readings-dialog [data-history] svg{display:block;max-height:280px}
.readings-dialog [data-history] section>p{margin:10px 0}
.readings-dialog h3{margin:20px 0 10px}
@media(max-width:600px){dialog.readings-dialog{padding:14px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.readings-dialog .fields{grid-template-columns:1fr}.readings-dialog .actions button{flex:1}.readings-dialog [data-history] svg{min-width:420px}.readings-dialog [data-history] section{overflow-x:auto}}
header{height:auto;min-height:88px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}#exchange-alert.has-alerts{background:#e2f4ff;color:#005580;border-color:#76bcdf}
.stock-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}#content:has(.stock-toolbar){padding:20px}.stock-order-line{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;border-bottom:1px solid #d0dbe0;padding:12px 0}@media(max-width:700px){.stock-order-line{grid-template-columns:1fr 1fr}.stock-order-line label:first-child{grid-column:1/-1}}
.purchase-letterhead{display:flex;align-items:center;gap:16px;color:#005580;font-size:22px;border-bottom:2px solid #0077b6;padding-bottom:18px}.purchase-print address{font-style:normal;white-space:pre-line;margin:25px 0 25px auto;max-width:55%;padding:16px;border:1px solid #cad9df}.purchase-print table{width:100%;margin-top:24px}.purchase-total{text-align:right;margin-top:24px}
@media print{body:has(.purchase-document[open]){display:block;background:white}body:has(.purchase-document[open])>*:not(.purchase-document){display:none!important}dialog.purchase-document[open]{position:static;display:block;width:100%;max-width:none;height:auto;max-height:none;overflow:visible;margin:0;padding:0;border:0;box-shadow:none}dialog.purchase-document::backdrop{display:none}.purchase-document form>h2,.purchase-document .actions,.purchase-document [role=alert]{display:none!important}.purchase-document .fields{display:block}.purchase-print thead{display:table-header-group}.purchase-print tr{break-inside:avoid}.purchase-print th,.purchase-print td{white-space:normal;padding:10px;border-bottom:1px solid #ccc}.purchase-print{font-size:11pt;color:black}.purchase-print .purchase-total{break-inside:avoid}@page{size:A4;margin:16mm}}
.supplier-editor{max-height:calc(100dvh - 32px);overflow:auto}.supplier-editor input[type=text],.supplier-editor textarea{text-transform:uppercase}.supplier-editor .fields{margin-top:20px}
@media print{.purchase-print-hint{display:none!important}}
.stock-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.stock-tabs a{color:#005580;background:#eaf5fb;border:1px solid #c5deeb;padding:12px 18px;border-radius:8px;text-decoration:none}.stock-tabs a[aria-current=page]{background:#0077b6;color:white}.stock-tabs a:hover{background:#d1eaf6;color:#00466b}
.stock-menu summary{cursor:pointer;padding:15px 13px;border-radius:8px;color:#e0f2fc;font-size:15px;list-style-position:inside}.stock-menu[open]>summary{background:#006591;color:white}.stock-submenu{display:grid;gap:5px;margin:8px 0 4px 15px;padding-left:10px;border-left:2px solid #70bddd}.stock-submenu a{font-size:14px;padding:11px 9px}.stock-menu summary:focus-visible{outline:2px solid #a5e8ff;outline-offset:3px}
#metrics[hidden],#fleet-summary[hidden],#copies-quarter[hidden]{display:none!important}
.client-name-link{padding:0;border:0;background:transparent;color:#006b9f;font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:3px}.client-name-link:hover{background:transparent;color:#00466b}
.sales-editor{width:min(1150px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.sales-editor .fields{margin-top:20px}.sales-line{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;border-bottom:1px solid #dce6e9;padding:14px 0}.sales-line input,.sales-line select{min-width:0;width:100%}.sales-notes{display:block;margin:20px 0}.sales-info{padding:16px}.sales-editor input:not([type=number]):not([type=date]),.sales-editor textarea{text-transform:uppercase}@media(max-width:850px){.sales-line{grid-template-columns:1fr 1fr}.sales-line label:nth-child(3){grid-column:1/-1}}
.sales-print-notes{white-space:pre-wrap}.delivery-signature{margin-top:45px;break-inside:avoid}.purchase-document{max-height:calc(100dvh - 32px);overflow:auto}
.sales-document{width:min(920px,96vw)}.sales-paper{background:white;color:#111;font:12px Arial,sans-serif;padding:10px;min-height:990px}.sales-top{display:grid;grid-template-columns:40% 60%;gap:12px}.sales-issuer strong{display:block;margin:7px 0;font-size:12px}.sales-issuer p{margin:7px 0}.sales-issuer img{object-fit:contain;margin-bottom:5px}.sales-recipient address{font-style:normal;white-space:pre-line;font-weight:600;margin:90px 10px 0 20px;padding:15px;border:1px solid #222;min-height:110px}.sales-paper table{border-collapse:collapse;color:#111;font:inherit;width:100%}.sales-paper th,.sales-paper td{padding:5px;border:1px solid #333;white-space:normal;vertical-align:top}.sales-paper th{background:#eee;color:#111;font-size:11px}.sales-meta{text-align:center}.sales-meta td{font-weight:bold}.sales-subject{margin:25px 0 28px;min-height:25px}.sales-subject p{margin:8px 0}.sales-grid{table-layout:fixed}.sales-grid th:nth-child(1){width:12%}.sales-grid th:nth-child(2){width:48%}.sales-grid th:nth-child(3){width:8%}.sales-grid td:nth-child(n+3){text-align:right}.sales-grid td{overflow-wrap:anywhere;white-space:pre-line}.sales-grid tbody tr:last-child td{height:220px}.sales-bottom{display:grid;grid-template-columns:43% 42%;justify-content:space-between;align-items:start;margin-top:6px}.sales-totals th{text-align:left;font-weight:normal}.sales-totals td{text-align:right}.sales-net th,.sales-net td{background:#eee;font-weight:bold}.sales-bank{border:1px solid #333;border-radius:5px;padding:9px;max-width:440px;margin-top:35px;font-size:11px;break-inside:avoid}.sales-bank>strong{text-decoration:underline}.sales-bank p{margin:10px 0}.sales-footer{text-align:center;font-size:8px;margin-top:25px}.sales-signature{margin-top:50px}.sales-cgv{background:white;margin-top:25px}.sales-cgv img{width:100%;display:block}.sales-pages{overflow-x:auto}
@media print{.sales-document .sales-paper{padding:0;min-height:0;font-size:9pt}.sales-document .sales-top{grid-template-columns:39% 59%;gap:2%}.sales-document .sales-issuer strong{font-size:9pt}.sales-document .sales-paper th{font-size:8pt}.sales-document .sales-recipient address{margin-top:65px}.sales-document .sales-grid tbody tr:last-child td{height:55mm}.sales-document .sales-bottom,.sales-document .sales-signature{break-inside:avoid}.sales-document .sales-grid thead{display:table-header-group}.sales-document .sales-grid tr{break-inside:avoid}.sales-document .sales-cgv{break-before:page;margin:0}.sales-document .sales-cgv img{width:100%;height:260mm;object-fit:contain}.sales-document .sales-pages{overflow:visible}.sales-document .sales-bank{margin-top:12mm}.sales-document .sales-footer{margin-top:8mm}}
/* Rounded document frames, retained when printing. */
.sales-paper .sales-meta,.sales-paper .sales-grid,.sales-paper .sales-tax,.sales-paper .sales-totals,.purchase-print table{border-collapse:separate;border-spacing:0;border:1px solid #333;border-radius:10px;overflow:hidden}
.sales-paper .sales-meta th,.sales-paper .sales-meta td,.sales-paper .sales-grid th,.sales-paper .sales-grid td,.sales-paper .sales-tax th,.sales-paper .sales-tax td,.sales-paper .sales-totals th,.sales-paper .sales-totals td,.purchase-print table th,.purchase-print table td{border:0;border-right:1px solid #333;border-bottom:1px solid #333}
.sales-paper table tr>:last-child,.purchase-print table tr>:last-child{border-right:0}
.sales-paper table tbody tr:last-child>*,.purchase-print table tbody tr:last-child>*{border-bottom:0}
.sales-paper table thead tr:first-child>:first-child,.purchase-print table thead tr:first-child>:first-child{border-top-left-radius:9px}
.sales-paper table thead tr:first-child>:last-child,.purchase-print table thead tr:first-child>:last-child{border-top-right-radius:9px}
.sales-paper table tbody tr:last-child>:first-child,.purchase-print table tbody tr:last-child>:first-child{border-bottom-left-radius:9px}
.sales-paper table tbody tr:last-child>:last-child,.purchase-print table tbody tr:last-child>:last-child{border-bottom-right-radius:9px}
.sales-paper .sales-totals tbody tr:first-child>:first-child{border-top-left-radius:9px}.sales-paper .sales-totals tbody tr:first-child>:last-child{border-top-right-radius:9px}
.sales-recipient address,.sales-bank,.purchase-print address{border-radius:12px}
.sales-paper{display:flex;flex-direction:column;min-height:1080px}.sales-page-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:auto;padding-top:35px;break-inside:avoid}.sales-page-foot .sales-bank{margin-top:0;flex:0 1 56%;max-width:56%}.sales-approval{border:1px solid #333;border-radius:12px;padding:14px;flex:0 1 39%;min-height:155px;box-sizing:border-box}.sales-approval>strong{font-size:14px}.sales-approval p{margin:14px 0}.sales-signature-space{height:42px}.sales-paper>.sales-footer{margin-top:14px}
@media print{.sales-document .sales-paper{min-height:260mm}.sales-document .sales-page-foot{margin-top:auto;padding-top:8mm}.sales-document .sales-page-foot .sales-bank{margin-top:0;font-size:8pt}.sales-document .sales-approval{min-height:42mm;font-size:9pt}.sales-document .sales-approval>strong{font-size:10pt}.sales-document .sales-footer{margin-top:4mm}}
.purchase-document>form{display:flex;flex-direction:column}.purchase-document>form>.actions{order:-2;position:sticky;top:0;z-index:2;background:white;margin:0;padding:12px 0;border-bottom:1px solid #dce6e9}.purchase-document>form>.purchase-print-hint{order:-1;margin:12px 0}.purchase-document>form>.sales-pages{order:0}@media print{.purchase-document>form{display:block}.purchase-document>form>.actions,.purchase-document>form>.purchase-print-hint{display:none!important}}

.commercial-filters{display:flex;flex-wrap:wrap;gap:18px;padding:20px 25px}.commercial-filters label{display:grid;gap:6px;font-size:14px}.commercial-note{margin:0;padding:8px 25px 18px;color:#587580;line-height:1.6}.commercial-totals{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));padding:0 25px;margin-bottom:8px}.commercial-totals .metric{flex-direction:column;align-items:flex-start}.commercial-totals .metric strong{font-size:24px}
.purchase-print .sales-recipient address{max-width:none;margin:20px 0 0;white-space:normal}.purchase-print .sales-meta{margin-top:0}.purchase-print .sales-bottom{justify-content:flex-end}.purchase-print .sales-totals{width:42%}.purchase-print .sales-issuer strong{display:block}
/* Supplier documents: a single right-aligned totals block. */
.purchase-print .sales-top{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
.purchase-print .sales-grid{width:100%;table-layout:fixed}
.purchase-print .sales-grid th:nth-child(1){width:16%}
.purchase-print .sales-grid th:nth-child(2){width:40%}
.purchase-print .sales-grid th:nth-child(3){width:8%}
.purchase-print .sales-grid th:nth-child(4){width:18%}
.purchase-print .sales-grid th:nth-child(5){width:18%}
.purchase-print .sales-grid th:nth-child(n+3),.purchase-print .sales-grid td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
.purchase-print .sales-grid td:nth-child(n+3){white-space:nowrap;overflow-wrap:normal}
.purchase-print .sales-bottom{display:flex;justify-content:flex-end;width:100%;margin-top:12px;break-inside:avoid}
.purchase-print .sales-bottom .sales-totals{width:44%;margin:0;table-layout:fixed}
.purchase-print .sales-totals th{width:59.09%;text-align:left}
.purchase-print .sales-totals td{width:40.91%;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Compact quotation page; lengthy quotations continue without truncation. */
.sales-paper.quote-paper{min-height:1080px}
.quote-paper .sales-top{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
.quote-paper .sales-recipient address{margin-top:24px;min-height:70px;padding:10px}
.quote-paper .sales-subject{margin:14px 0;min-height:0}
.quote-paper .sales-grid tbody tr:last-child td{height:auto}
.quote-paper.quote-lines-1 .sales-grid tbody tr:last-child td{height:380px}.quote-paper.quote-lines-2 .sales-grid tbody tr:last-child td{height:330px}.quote-paper.quote-lines-3 .sales-grid tbody tr:last-child td{height:280px}.quote-paper.quote-lines-4 .sales-grid tbody tr:last-child td{height:230px}
.quote-paper .sales-page-foot{margin-top:auto;align-items:flex-end}
.quote-paper .sales-bank{margin-top:0;font-size:10px;padding:8px}
.quote-paper .sales-bank p{margin:5px 0}
.quote-paper .sales-approval{padding:8px}
.quote-paper .sales-approval p{margin:6px 0}
.quote-paper .sales-signature-space{height:35px;min-height:35px}
.quote-paper .sales-footer{margin-top:12px}
@media print{
.sales-document .sales-paper.quote-paper{font-size:9pt;min-height:260mm}
.sales-document .quote-paper .sales-recipient address{margin-top:20px;min-height:60px}
.sales-document .quote-paper .sales-grid tbody tr:last-child td{height:auto}
.sales-document .quote-paper.quote-lines-1 .sales-grid tbody tr:last-child td{height:90mm}.sales-document .quote-paper.quote-lines-2 .sales-grid tbody tr:last-child td{height:78mm}.sales-document .quote-paper.quote-lines-3 .sales-grid tbody tr:last-child td{height:66mm}.sales-document .quote-paper.quote-lines-4 .sales-grid tbody tr:last-child td{height:54mm}
.sales-document .quote-paper .sales-grid th,.sales-document .quote-paper .sales-grid td{padding:4px}
.sales-document .quote-paper .sales-bank{margin-top:0;font-size:8pt}
.sales-document .quote-paper .sales-footer{margin-top:8px}
.sales-document .quote-paper .sales-page-foot{margin-top:auto;align-items:flex-end;break-inside:avoid}
}
.stock-export-link{display:inline-block;padding:10px 14px;border:1px solid #b5d4e2;border-radius:8px;color:#005580;text-decoration:none;background:white}.stock-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.v2-local-banner{background:#6b3fa0;color:white;text-align:center;padding:8px;font-weight:bold;grid-column:1/-1}

/* V2 — tableau de bord */
.dashboard-page .workspace{background:transparent;border:0;overflow:visible}
.dashboard-page .intro{margin-bottom:24px}
.dashboard-page .intro .eyebrow{display:none}

.dashboard-welcome{padding:20px 0 28px}.dashboard-welcome>span{font-size:12px;letter-spacing:2px;font-weight:700;color:#39738e}.dashboard-welcome p{font-size:22px;margin:10px 0;color:#25465b}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:30px}
.dashboard-card{background:white;border:1px solid #d5e4ec;border-radius:22px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 10px 30px #00466b08;border-top:5px solid var(--accent)}
.crm-card{--accent:#00899a}.sales-card{--accent:#0077b6}.accounts-card{--accent:#5964bc}
.dashboard-icon{width:52px;height:52px;border-radius:16px;background:#f0f7fc;color:var(--accent);display:grid;place-items:center;font-size:30px;margin-bottom:24px}
.dashboard-kicker{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--accent);margin:0 0 12px}
.dashboard-card h2{font-size:24px;line-height:1.2;letter-spacing:-.5px}
.dashboard-description{color:#607989;font-size:14px;line-height:1.7;min-height:70px;margin:18px 0}
.dashboard-links{display:grid;gap:4px;margin-bottom:24px}.dashboard-links a,.dashboard-links button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px 0;color:#164b68;font-size:14px;font-weight:600;text-decoration:none;border:0;border-bottom:1px solid #edf2f6;background:transparent;border-radius:0}.dashboard-links a:hover,.dashboard-links button:hover{color:var(--accent);background:#f3f9fc}.dashboard-card-foot{margin-top:auto;padding-top:18px;border-top:1px solid #dce8ef;font-size:12px;color:#607989}#nav-crm{background:transparent;color:#e0f2fc;text-align:left;border:0;font-size:14px}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-description{min-height:0}.dashboard-card{padding:24px}.dashboard-icon{margin-bottom:15px}}

body>aside{display:none}body>main{width:100%;max-width:1600px;margin:0 auto}
.dashboard-page header #open-crm,.dashboard-page header #new-intervention{display:none}
.dashboard-card{text-align:left;align-items:stretch;color:#163752;cursor:pointer;min-height:300px}.dashboard-card>strong{font-size:28px;line-height:1.2}.dashboard-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #00466b14;background:white}.dashboard-card:disabled{opacity:.5;cursor:not-allowed}.dashboard-card:disabled:hover{transform:none}
.dashboard-module{padding:28px;background:white;border:1px solid #d5e4ec;border-radius:20px}.module-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.module-buttons button{padding:18px 24px}
.dashboard-submodule{padding:18px 0}.dashboard-submodule+.dashboard-submodule{border-top:1px solid #dce8ef}.dashboard-submodule h3{margin:0;color:#164b68}.dashboard-submodule .module-buttons{margin-top:14px}
[hidden]{display:none!important}

body[data-profile="accountant"] #open-crm,body[data-profile="accountant"] #followup-alert,body[data-profile="accountant"] #exchange-alert,body[data-profile="accountant"] #new-intervention{display:none!important}
body[data-profile="accountant"] #intervention-alert{display:none!important}#intervention-alert.has-alerts{background:#fce8e8;color:#8d2525;border-color:#e5a1a1}
body[data-profile="commercial"]:not([data-section="clients"]):not([data-section="settings"]) #add{display:none!important}
body[data-profile="commercial"] #new-intervention{display:none!important}

main>header{justify-content:flex-end}main>header .tag{margin-right:auto;font-size:16px;border:0;background:transparent;color:inherit}.secondary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.dashboard-page .secondary-actions #followup-alert,.dashboard-page .secondary-actions #exchange-alert,.dashboard-page .secondary-actions #open-crm,.dashboard-page .secondary-actions #new-intervention,.dashboard-page .secondary-actions #go-home{display:none}

main>header .home-logo{margin-right:auto;display:flex;align-items:center;padding:6px;border-radius:10px}.home-logo img{height:56px;width:46px;object-fit:contain}main>header .tag{margin-right:0}.home-logo:hover{background:#ffffff20}
main>header .home-company{color:white;font-size:18px;font-weight:750;letter-spacing:1.2px;margin-left:12px;white-space:nowrap}
@media(max-width:650px){main>header .home-company{font-size:14px;letter-spacing:.5px}.home-logo img{height:44px;width:38px}}

.settings-card{--accent:#627789}.secondary-actions #go-settings,.secondary-actions #manage-users{display:none!important}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-card>strong{font-size:25px}@media(max-width:1250px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.dashboard-grid{grid-template-columns:1fr}}
main>header .home-logo{margin-right:0}#client-call{flex:1;min-width:180px;background:#238b57;color:white;border-color:#238b57;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}#client-call:hover{background:#197548;border-color:#197548}#client-call span{font-size:19px}body[data-profile="accountant"] #client-call{display:none!important}@media(max-width:760px){#client-call{flex-basis:100%;order:2}.home-logo{order:1}#followup-alert,#intervention-alert,#exchange-alert{order:3}main>header .tag,main>header #logout{order:4}}
.client-call-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.client-call-choices button{min-height:170px;padding:24px;border:1px solid #cfe0e8;border-radius:18px;background:#f7fbfd;color:#163752;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px}.client-call-choices button:hover{border-color:#238b57;background:#f1faf5}.client-call-choices button span{font-size:30px}.client-call-choices button strong{font-size:18px}.client-call-choices button small{color:#607989;line-height:1.5}@media(max-width:650px){.client-call-choices{grid-template-columns:1fr}}
.metric-link{width:100%;text-align:left}.metric-link:hover{background:#f3f9fc;border-color:#78b7d7;transform:translateY(-1px)}
.model-photo{width:76px;height:60px;object-fit:contain;border:1px solid #d5e4ec;border-radius:10px;background:white}.model-photo-placeholder{display:grid;width:76px;height:60px;place-items:center;text-align:center;border:1px dashed #b5ccd8;border-radius:10px;color:#6b7f89;font-size:11px}.model-photo-field{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.model-photo-field label,.model-photo-field small{grid-column:1/-1}.model-photo-field img{width:min(260px,100%);max-height:190px;object-fit:contain;border:1px solid #d5e4ec;border-radius:12px;background:white;padding:8px}
.machine-photo-cell{display:flex;align-items:center;gap:12px;min-width:210px}.machine-photo-cell strong{display:block}
.client-machine-record{display:grid!important;grid-template-columns:minmax(0,1fr) 165px 130px;gap:16px;align-items:center}.client-machine-specs{display:grid;gap:7px;padding:11px 12px;border:1px solid #c8dce7;border-radius:10px;background:#fff;color:#163752}.client-machine-specs>strong{font-size:12px;text-transform:uppercase;letter-spacing:.45px}.client-machine-specs span{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:650}.client-machine-specs small{color:#687e86;font-size:11px;font-weight:500}.client-machine-photo{width:120px;height:100px;object-fit:contain;justify-self:end;border:1px solid #d5e4ec;border-radius:12px;background:white;padding:6px}.client-machine-photo.model-photo-placeholder{display:grid;place-items:center;text-align:center;color:#6b7f89;font-size:11px;border-style:dashed}@media(max-width:700px){.client-machine-record{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.client-machine-details{grid-column:1/-1}.client-machine-specs{align-self:stretch}.client-machine-photo{width:90px;height:80px}}
.machine-serial-photo{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:end}.machine-form-photo{width:150px;height:105px;border:1px solid #d5e4ec;border-radius:12px;background:#fff;display:grid;place-items:center;padding:7px;color:#6b7f89;font-size:12px;text-align:center}.machine-form-photo img{width:100%;height:100%;object-fit:contain}@media(max-width:600px){.machine-serial-photo{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.machine-form-photo{width:90px;height:75px;font-size:10px}}
.client-contacts-panel{margin-top:18px;padding:16px;border:1px solid #c8dce7;border-radius:12px;background:#f5fbfe}.client-contacts-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.client-contacts-heading h3{margin:0}.client-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-contact-grid article{display:grid;gap:5px;padding:13px;border:1px solid #d7e6ed;border-radius:9px;background:white}.client-contact-grid article span{font-size:13px;overflow-wrap:anywhere}.billing-contact-card{position:relative;align-content:start;padding-top:38px!important}.billing-contact-card.editing{grid-column:1/-1}.billing-contact-badge{position:absolute;right:12px;top:12px;padding:4px 7px;border-radius:5px;background:#dff2fc;color:#006798;font-size:10px!important;font-weight:750}.billing-contact-summary{display:grid;gap:5px}.billing-contact-edit{justify-self:start;margin-top:6px;padding:6px 10px;font-size:12px}.client-billing-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:5px}.client-billing-fields label{display:grid;gap:5px;font-size:14px}.client-billing-fields input{height:38px;min-height:38px;padding:7px 10px}.client-extra-contacts{display:contents}.client-contact-role{color:#0070a8;font-weight:700}.client-contacts-help{margin:14px 0 0;color:#627882}.client-contacts-panel [role=alert]{color:#a3361d}@media(max-width:600px){.client-billing-fields,.client-contact-grid{grid-template-columns:1fr}.client-contacts-heading{align-items:stretch;flex-direction:column}}
.field-disabled{color:#6c7c84}.field-disabled input{background:#e5eaed;color:#65747b;border-color:#c5d0d5;cursor:not-allowed}
.client-contact-grid article{align-content:start;min-height:145px}.billing-contact-card{padding:13px 92px 13px 13px!important}.billing-contact-card.editing{padding:13px!important}
.exchange-contact-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.exchange-contact-field label{display:grid;gap:7px}.exchange-contact-field button{min-height:43px}@media(max-width:600px){.exchange-contact-field{grid-template-columns:1fr}.exchange-contact-field button{width:100%}}
