:root{font-family:system-ui,-apple-system,sans-serif;color:var(--text,#29343a);background:var(--page-bg,#f6f5f0);font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:var(--primary-ink);color:white;padding:24px 32px;display:flex;justify-content:space-between;gap:20px;align-items:center}header strong{font-size:32px;display:block;letter-spacing:3px}header span{font-size:14px}header p{font-style:italic}main{max-width:none;padding:30px 20px 70px;margin:auto}h1{font-size:32px;margin:8px 0 20px}h2{font-size:23px}h3{font-size:16px}aside{background:var(--primary-pale);border-left:4px solid var(--primary-border);padding:16px;line-height:1.6;font-size:14px;margin-bottom:26px}.heading,.toolbar,.actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.eyebrow{color:var(--muted);font-size:14px}.toolbar{align-items:end;margin:20px 0}button,.file{border:1px solid var(--primary);background:var(--primary);color:var(--primary-text);padding:12px 16px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:default}.secondary,.file{background:var(--surface,white);color:var(--primary-ink)}.danger{background:var(--surface,white);color:#963b30;border-color:#d8b9b3}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}input,select,textarea{font:inherit;font-weight:400;padding:11px;border:1px solid var(--primary-border);border-radius:6px;background:var(--surface,white);color:var(--text,#29343a);width:100%}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px}input[type=file]{font-size:12px;max-width:220px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.card,.panel,.document,.empty{background:var(--surface,white);border:1px solid var(--primary-border);padding:24px;border-radius:12px}.card h2{overflow-wrap:anywhere}.card .actions{margin-top:24px;justify-content:flex-start}.card .actions button{padding:9px;font-size:14px}.badge{display:inline-block;background:var(--warning-bg);color:var(--warning-text);padding:5px 11px;border-radius:20px;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.panel{margin:22px 0}.panel h2{margin-top:0}.checks{display:flex;flex-wrap:wrap;gap:18px}.checks span{display:flex;align-items:center;gap:6px}.line{display:flex;align-items:end;gap:12px;margin:14px 0}.line label{flex:1;min-width:0}.line output{min-width:90px;padding-bottom:12px}.rows{margin-top:24px}.totals{display:flex;gap:24px;padding:20px;background:var(--primary-pale);border-radius:8px;margin-top:24px;flex-wrap:wrap}.totals strong{display:block;font-size:22px}.savebar{position:sticky;top:0;z-index:2;background:var(--page-bg,#f6f5f0);padding:12px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.savebar p{flex:1;min-width:220px}.success{color:var(--semantic-success)}.error{color:var(--error-text,#9c3029);background:var(--error-bg,#fff0ed);padding:12px;border-radius:6px}.document{max-width:850px;margin:auto;line-height:1.6}.document section{border-top:1px solid var(--primary-border);margin-top:24px}.document h3{margin-bottom:4px}.document p{margin-top:4px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}footer{margin-top:32px;color:var(--muted);font-size:13px}:focus-visible{outline:3px solid var(--primary-focus);outline-offset:3px}@media(max-width:650px){header{flex-direction:column;align-items:start;padding:20px}header p{margin:0}.grid{grid-template-columns:1fr}.line{flex-wrap:wrap;padding:15px;background:var(--page-bg,#f6f5f0)}.line label{flex:1 1 45%}.toolbar{align-items:stretch;flex-direction:column}.heading{align-items:start}h1{font-size:27px}.savebar{position:static}.card,.panel{padding:18px}}@media print{header,.heading,aside,.savebar{display:none}body{background:var(--surface,white)}.document{border:0;padding:0}main{padding:0}.document section{break-inside:avoid}}
.brand{display:flex;align-items:center;gap:16px}.brand img{width:82px;height:82px;object-fit:contain;background:var(--surface,white);border-radius:8px}.document-letterhead{display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Georgia,serif;font-size:13px}.document-letterhead img{width:180px;height:135px;object-fit:cover}.document-title{background:var(--primary);color:var(--primary-text);text-align:center;padding:18px;margin:24px 0;font-family:Georgia,serif}.document-title h1{font-size:26px;overflow-wrap:anywhere;margin:12px 0}.document-title p{margin:0;font-weight:bold}.document .document-section{display:grid;grid-template-columns:35% 1fr;border:0;margin:0}.document-section>h2{background:var(--primary);color:var(--primary-text);margin:0;padding:14px;font-size:18px;text-transform:uppercase}.document-section>div{padding:12px 18px}.document-field{margin-bottom:14px}.document-field h3{font-size:14px;margin:0;font-weight:600}.document-field p{font-size:14px}.document-extra h2{background:var(--primary);color:var(--primary-text);padding:12px;font-size:18px}.document-table{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid var(--primary-border);padding:9px;text-align:left;vertical-align:top;overflow-wrap:anywhere}th{background:var(--primary-pale)}thead{display:table-header-group}.document-budget{background:var(--primary-pale);padding:14px;margin-top:18px}.pdf-body{background:var(--surface,white);padding:0}.pdf-body .document{border:0;border-radius:0;max-width:none} @media(max-width:650px){.document-letterhead{flex-direction:column;align-items:start;gap:8px}.document .document-section{grid-template-columns:1fr}.document-letterhead img{width:140px;height:105px}}@page{size:A4;margin:14mm}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-body .document{padding:0;font-size:11pt}.document-letterhead{flex-direction:row}.document-title{break-inside:avoid}.document .document-section{display:block;break-inside:auto;margin-top:12px}.document-section>h2{break-after:avoid;font-size:13pt;padding:8px}.document-section>div{padding:8px 0}.document-field{break-inside:auto}.document-field h3{break-after:avoid}.document-field p{orphans:3;widows:3}.document-extra{break-inside:auto}.document-extra h2{break-after:avoid}tr{break-inside:avoid}.document-table{overflow:visible}.document-budget{break-inside:avoid}footer{break-inside:avoid}.document-letterhead img{width:40mm;height:30mm}}
.app-layout{display:grid;grid-template-columns:245px minmax(0,1fr);max-width:none;margin:0;min-height:calc(100vh - 140px)}.app-layout main{width:100%;min-width:0;padding:32px;outline:none}.sidebar{background:var(--primary-pale);border-right:1px solid var(--primary-border);padding:28px 20px}.nav-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted,#626a71);margin:0 0 12px}.sidebar button{display:block;width:100%;text-align:left;background:transparent;color:var(--primary-ink);border:0;margin-bottom:8px}.sidebar button[aria-current=page]{background:var(--primary);color:var(--primary-text)}.sidebar .nav-label:nth-of-type(2){margin-top:32px}.future-nav{list-style:none;padding:0;margin:0}.future-nav li{padding:12px 8px;color:var(--muted,#626a71);font-size:14px}.future-nav span{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.sidebar-note{font-size:13px;line-height:1.6;border-top:1px solid var(--primary-border);padding-top:20px;margin-top:30px}.welcome{background:var(--primary-pale);border:1px solid var(--primary-border);border-radius:16px;padding:32px}.welcome h1{max-width:650px;font-size:35px;line-height:1.2}.welcome>p{line-height:1.7}.welcome .actions{justify-content:flex-start;margin-top:24px}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.home-stats>div{background:var(--surface,white);border:1px solid var(--primary-border);padding:22px;border-radius:12px}.home-stats strong{font-size:32px;display:block;color:var(--primary-ink)}.home-stats span{font-size:14px;color:var(--muted,#626a71)}.home-project-panel{background:var(--surface,white);border:1px solid var(--primary-border);padding:24px;border-radius:12px;margin-bottom:30px}.recent-projects article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #e3e7dd}.recent-projects h3{font-size:18px;margin:10px 0;overflow-wrap:anywhere}.recent-projects p{font-size:13px;color:var(--muted,#626a71);line-height:1.5}.category-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0 30px}.category-card{background:var(--primary-pale);border:1px solid var(--primary-border);border-radius:12px;padding:24px}.category-card.available{background:var(--surface,white);border-color:var(--primary-border)}.category-card h3{font-size:19px}.category-card p{line-height:1.7;font-size:14px}.upcoming-badge{background:var(--surface-soft);color:var(--muted,#626a71)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-100px;background:var(--surface,white);color:var(--primary-ink);padding:12px;z-index:10}.skip-link:focus{top:12px}@media(max-width:900px){.app-layout{grid-template-columns:200px minmax(0,1fr)}.app-layout main{padding:22px}.home-stats{gap:10px}.home-stats>div{padding:14px}.welcome{padding:24px}.welcome h1{font-size:29px}}@media(max-width:650px){.app-layout{display:block}.sidebar{padding:16px;border-right:0;border-bottom:1px solid var(--primary-border)}.sidebar button{display:inline-block;width:auto;margin-right:8px}.sidebar .nav-label:nth-of-type(2),.future-nav,.sidebar-note{display:none}.app-layout main{padding:20px 14px}.home-stats{grid-template-columns:1fr}.home-stats>div{display:flex;gap:20px;align-items:center}.recent-projects article{flex-wrap:wrap}.welcome h1{font-size:28px}.category-cards{grid-template-columns:1fr}}@media print{.sidebar,.skip-link{display:none}.app-layout{display:block}.app-layout main{padding:0}}
.meeting-fields{border:0;padding:0;margin:0;min-width:0}.meeting-fields:disabled input,.meeting-fields:disabled textarea,.meeting-fields:disabled select{color:var(--text,#29343a);opacity:1;background:var(--page-bg,#f6f5f0)}.meeting-details>summary{font-size:20px;font-weight:650;cursor:pointer;line-height:1.6;overflow-wrap:anywhere}.meeting-details[open]>summary{margin-bottom:20px}.meeting-details>summary:focus-visible{outline:3px solid var(--primary-focus)}.meeting-status{max-width:300px;margin-top:20px}.point-content>label{margin:20px 0}.point-controls{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.compact-agenda{background:var(--primary-pale);padding:16px;border:1px solid var(--primary-border);border-radius:10px;margin:24px 0}.compact-agenda>div{display:flex;flex-wrap:wrap;gap:10px}.compact-agenda button{text-align:left;font-size:14px;overflow-wrap:anywhere;max-width:100%}.compact-agenda button span{display:block;font-size:12px;margin-top:5px}.compact-agenda button[aria-current=step]{background:var(--primary);color:var(--primary-text)}.point-in-progress{border-left:5px solid var(--primary)}.point-in-progress>summary .badge{background:var(--primary);color:var(--primary-text)}.not-discussed-box,.finalized-notice{padding:18px;border-radius:8px;background:var(--warning-bg);line-height:1.6;margin:16px 0}.notes-choice{margin-top:16px;border:1px solid #b7ab8b;padding:16px}.notes-choice label{flex-direction:row;align-items:center;margin:12px 0}.notes-choice input{width:20px;height:20px;flex-shrink:0}.people-group{margin-top:24px}.participant-add{background:var(--primary-pale);padding:16px;border-radius:8px}.warning{background:var(--warning-bg,#fff3d7);color:var(--warning-text);padding:14px;border-radius:8px;line-height:1.6}.meeting-dialog{border:1px solid var(--primary-border);border-radius:12px;padding:26px;max-width:650px;width:calc(100% - 32px);max-height:85vh;overflow:auto;color:var(--text,#29343a)}.meeting-dialog::backdrop{background:#17202a99}.meeting-dialog p{line-height:1.6}.meeting-dialog button{margin:8px 6px 8px 0}.meeting-dialog li{margin:12px 0}.meeting-document-point{margin:24px 0;border-top:1px solid var(--primary-border);padding-top:12px}.meeting-document-point>h3{font-size:19px;color:var(--primary-ink);overflow-wrap:anywhere}.meeting-document h4{font-size:14px;margin-bottom:6px}.meeting-document li{margin:6px 0;overflow-wrap:anywhere}.meeting-document .not-discussed{background:var(--warning-bg);padding:8px}.point-state{font-size:13px;color:var(--muted,#626a71)}.meeting-document .document-extra{overflow-wrap:anywhere}.meeting-actions input{min-width:0}.meeting-details{scroll-margin-top:90px}@media(max-width:850px){.meeting-actions .line{flex-wrap:wrap}.meeting-actions .line label{flex:1 1 40%}.people-group .line{flex-wrap:wrap}.people-group .line label{flex:1 1 40%}}@media(max-width:650px){.meeting-details>summary{font-size:18px}.compact-agenda>div{flex-direction:column}.compact-agenda button{width:100%}.meeting-details{scroll-margin-top:10px}}@media print{.meeting-document .meeting-document-point{break-inside:auto}.meeting-document-point>h3,.meeting-document h4{break-after:avoid}.meeting-document p,.meeting-document li{orphans:3;widows:3}.meeting-document td{white-space:normal}.meeting-document .document-extra{break-inside:auto}}
@media print{:root{background:var(--surface,white)}}
.pv-preparation-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.pv-controls{position:sticky;top:16px;background:var(--primary-pale);border:1px solid var(--primary-border);border-radius:12px;padding:18px;max-height:calc(100vh - 40px);overflow:auto}.pv-controls h2{font-size:20px}.pv-controls>p{font-size:13px;line-height:1.6}.pv-control-card{background:var(--surface,white);padding:14px;border:1px solid var(--primary-border);border-radius:8px;margin:12px 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.pv-control-card h3{margin:0 0 8px}.control-fail{border-left:4px solid #9c3029}.control-pending{border-left:4px solid #b28125}.pv-stage-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.pv-power-row{background:var(--primary-pale);padding:18px;border-radius:10px;margin:18px 0}.inline-check{display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1.6;margin:16px 0}.inline-check input{width:20px;height:20px;flex-shrink:0}.pv-second{background:var(--warning-bg);padding:18px;border-radius:8px;margin-top:20px}.suggestions{display:flex;gap:10px;flex-wrap:wrap}.suggestions button{font-size:13px}.pv-vote-card{background:var(--page-bg,#f6f5f0);border:1px solid var(--primary-border);padding:22px;border-radius:10px;margin:24px 0}.pv-vote-card>label{margin:20px 0}.pv-vote-card .grid{margin:20px 0}.vote-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.vote-result{padding:16px;margin:20px 0;background:var(--primary-pale);border-radius:8px;font-size:14px;line-height:1.6}.vote-result.warning{background:var(--warning-bg,#fff3d7)}.pv-vote-card details{margin:20px 0}.pv-resolution-document{padding:12px 0;margin:20px 0;border-top:1px solid var(--primary-border)}.pv-resolution-document h4{font-size:16px;color:var(--primary-ink)}.pv-resolution-document h5{font-size:14px}.pv-document{overflow-wrap:anywhere}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.signature-slot{padding:14px;border:1px solid var(--primary-border);break-inside:avoid}.signature-space{min-height:30mm}.pv-document td{font-size:12px}.pv-annex{margin-top:35px}.pv-preparation-layout form{min-width:0}@media(max-width:1100px){.pv-preparation-layout{grid-template-columns:1fr}.pv-controls{position:static;max-height:none;grid-row:1}.pv-preparation-layout .grid{grid-template-columns:1fr 1fr}.pv-vote-card .line{flex-wrap:wrap}.pv-vote-card .line label{flex:1 1 40%}}@media(max-width:650px){.pv-preparation-layout .grid{grid-template-columns:1fr}.vote-numbers{grid-template-columns:1fr 1fr}.pv-vote-card{padding:16px}.pv-preparation-layout .line{flex-wrap:wrap}.pv-preparation-layout .line label{flex:1 1 100%}.signature-grid{grid-template-columns:1fr}}@media print{.pv-document .document-extra,.pv-document .meeting-document-point,.pv-document .pv-resolution-document{break-inside:auto}.pv-document h3,.pv-document h4,.pv-document h5{break-after:avoid}.pv-document p,.pv-document li{orphans:3;widows:3}.signature-grid{grid-template-columns:1fr 1fr}.pv-annex{break-before:page}.pv-document table{table-layout:fixed}.pv-document td,.pv-document th{overflow-wrap:anywhere}}
@media(max-width:650px){#pv-checks{max-height:340px;overflow:auto}}
/* Référentiels partagés : sélecteurs accessibles, fenêtres locales et apparence. */
:root{--header-color:#285b4d;--header-text:#ffffff}header,.header-sample,.document-title,.document-section>h2,.document-extra h2{background:var(--header-color);color:var(--header-text)}header span{color:inherit}.header-sample{padding:22px;border-radius:10px;font-weight:700}.reference-dialog{width:min(1000px,calc(100% - 24px));max-height:90vh;overflow:auto;border:1px solid var(--primary-border);border-radius:14px;padding:24px;color:var(--text,#29343a);background:var(--page-bg,#f6f5f0)}.reference-dialog::backdrop{background:#17202a99}.reference-dialog .heading{align-items:center}.reference-dialog .heading h2{margin:0}.reference-dialog .toolbar{margin:20px 0}.reference-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--primary-border)}.reference-item>span{flex:1;overflow-wrap:anywhere}.reference-item small{display:block;margin-top:8px}.reference-edit{background:var(--surface,white);border:1px solid var(--primary-border);border-radius:10px;padding:20px;margin-top:24px}.reference-edit>label{margin:15px 0}.reference-picker{position:relative;display:flex;align-items:stretch;gap:5px;min-width:0;width:100%}.reference-picker>input,.reference-picker>textarea{min-width:0;flex:1;width:0}.reference-buttons{display:flex;gap:4px;align-items:start}.reference-buttons button{padding:10px;min-width:40px}.reference-options{position:absolute;top:100%;left:0;right:0;min-width:min(300px,100%);max-height:310px;overflow:auto;z-index:20;background:var(--surface,white);border:1px solid var(--primary-border);box-shadow:0 8px 24px #17202a33;border-radius:8px;padding:6px}.reference-options[hidden]{display:none}.reference-options button{display:block;width:100%;text-align:left;background:var(--surface,white);color:var(--text,#29343a);border-radius:4px;font-size:14px;margin:3px 0;overflow-wrap:anywhere}.reference-options button:hover,.reference-options button[aria-selected=true]{background:var(--primary-pale);outline:2px solid var(--primary-border)}.reference-options small{display:block;font-size:11px}.reference-options .no-results{display:block;padding:12px;color:var(--warning-text)}.reference-refresh{font-size:12px;margin-top:6px;align-self:start}.member-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.member-tags>span{display:inline-flex;align-items:center;gap:8px;background:var(--primary-pale);border:1px solid var(--primary-border);border-radius:20px;padding:5px 8px 5px 14px}.member-tags button{padding:3px 9px;border-radius:50%;min-width:30px}.team-picker{grid-column:1/-1}.import-row{border:1px solid var(--primary-border);background:var(--surface,white);padding:16px;margin:12px 0;border-radius:8px}.reference-status{overflow-wrap:anywhere}.rows .line{flex-wrap:wrap}.rows .line>label{flex:1 1 140px}.rows .line>[data-pack-info]{flex-basis:100%;font-size:14px}.reference-dialog .document-table{max-width:100%;overflow:auto}.reference-dialog .document-table td{min-width:110px}.reference-dialog .inline-check input{width:20px}.reference-dialog input[type=color]{height:48px;padding:4px}.reference-dialog [data-items]{max-height:400px;overflow:auto}@media(max-width:650px){.reference-dialog{padding:16px}.reference-item{flex-wrap:wrap}.reference-item>span{flex-basis:100%}.reference-dialog .grid{grid-template-columns:1fr}.reference-picker{flex-wrap:nowrap}.reference-buttons button{padding:9px 7px;min-width:34px}.reference-options{position:relative;top:auto;flex-basis:100%;width:100%;max-height:250px}.reference-picker:has(.reference-options:not([hidden])){flex-wrap:wrap}.reference-picker>input,.reference-picker>textarea{flex-basis:calc(100% - 85px)}.rows .line>label{flex-basis:100%}}@media print{.reference-picker,.reference-dialog,.reference-refresh{display:none}.document-title,.document-section>h2,.document-extra h2{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.reference-options:has(.no-results){position:relative;top:auto;flex-basis:100%;width:100%;max-height:230px}.reference-picker:has(.no-results):has(.reference-options:not([hidden])){flex-wrap:wrap}.reference-picker:has(.no-results)>input,.reference-picker:has(.no-results)>textarea{flex-basis:calc(100% - 90px)}
#header-palette{height:52px;padding:4px}.picker-category{padding:8px;background:var(--primary-pale);border-radius:6px;font-size:12px}.picker-category select{margin-top:5px;font-size:13px}.no-results-limit{display:block;padding:8px;font-size:12px}.panel:has([data-manage]) button{margin-right:8px;margin-bottom:8px}#settings-export{margin-bottom:8px}

:root{--primary:var(--header-color);--primary-text:var(--header-text);--primary-ink:#244c43;--primary-hover:#204b40;--primary-hover-text:white;--primary-pale:#edf1e9;--primary-border:#b5c6bb;--primary-focus:#244c43;--semantic-success:#285b4d}button:not(.secondary):not(.danger):hover{background:var(--primary-hover);color:var(--primary-hover-text)}a{color:var(--primary-ink)}.secondary{color:var(--primary-ink);border-color:var(--primary-border)}.multi-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;border-radius:5px;font-weight:400}.multi-option input{width:20px;height:20px;flex-shrink:0}.multi-option:has(:checked){background:var(--primary-pale);outline:1px solid var(--primary-border)}.multi-count{display:block;font-weight:700;padding:8px}.multi-actions{display:flex;flex-wrap:wrap;gap:5px;position:sticky;top:0;background:var(--surface,white);padding:5px;z-index:1}.reference-options .multi-actions button{width:auto;font-size:12px;border:1px solid var(--primary-border)}input[type=checkbox],input[type=radio]{accent-color:var(--primary-ink)}
/* Stocks et caisse : commandes tactiles et présentation commune. */
.stock-photo{width:52px;height:52px;object-fit:contain;float:left;margin-right:.6rem}.stock-photo-preview{max-width:180px;max-height:180px;object-fit:contain}#stock-list td small{display:block;margin-top:.25rem}.project-stock{border-top:2px solid var(--primary-border);padding-top:1rem;margin-top:1.5rem}.stock-need{background:var(--primary-pale);border-radius:12px;padding:1rem;flex-wrap:wrap}.stock-need>strong,.stock-need>span{flex-basis:100%}.inline-check{display:flex;align-items:center;gap:.6rem}.inline-check input{width:1.25rem;height:1.25rem;flex-shrink:0}.cash-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:1.2rem;align-items:start}.cash-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.8rem}.cash-product{min-height:155px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;background:var(--primary-pale);color:var(--primary-ink);border:1px solid var(--primary-border);padding:1rem;overflow-wrap:anywhere}.cash-product:hover{background:var(--primary);color:var(--primary-text)}.cash-product img{width:85px;height:70px;object-fit:contain}.cash-product:disabled{opacity:.5}.cash-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.cash-categories .selected{background:var(--primary);color:var(--primary-text)}.cash-ticket{position:sticky;top:1rem;margin:0}.cash-ticket form{display:grid;gap:.7rem}.cart-line{border-bottom:1px solid var(--primary-border);padding:.8rem 0;display:grid;gap:.35rem}.cart-line>div{display:flex;align-items:center;gap:1rem}.cart-line button{min-width:44px;min-height:44px}.ticket-grand-total{font-size:1.45rem;color:var(--primary-ink)}.cash-ticket-link{display:none}.denominations{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.receipt-document{max-width:95mm;padding:6mm;margin:1rem auto;font-size:11px}.receipt-document h1{font-size:24px}.receipt-document table{font-size:10px}.receipt-document th,.receipt-document td{padding:4px}.receipt-document .document-title{margin-bottom:1rem}.operation-status:empty{display:none}.reference-multi-actions button{min-height:44px}
@media(max-width:1100px){.cash-layout{grid-template-columns:minmax(0,1fr) 300px}.cash-products{grid-template-columns:repeat(auto-fill,minmax(115px,1fr))}}
@media(max-width:800px){.cash-layout{grid-template-columns:1fr}.cash-ticket{position:static}.cash-ticket-link{display:inline-block}.cash-products{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.cash-product{min-height:135px}.stock-need>label{min-width:0;width:100%}.denominations{grid-template-columns:repeat(2,1fr)}}
@media print{.cash-ticket-link{display:none}.receipt-document{width:80mm;max-width:80mm;box-shadow:none;border:0}.receipt-document table{table-layout:fixed}.receipt-document th,.receipt-document td{overflow-wrap:anywhere}.document-table{overflow:visible}}

:root{--surface:#fff;--page-bg:#f6f5f0;--text:#29343a;--muted:#626a71}html[data-theme=dark]{--surface:#202732;--page-bg:#131820;--text:#edf0f6;--muted:#b4becd;--primary-pale:#293340;--primary-border:#657081;--error-text:#ffb8ac;--error-bg:#49272a;--warning-bg:#443621;--warning-text:#f9d486;--semantic-success:#8dd8ae}body{background:var(--page-bg);color:var(--text)}button:disabled{background:var(--surface-soft);color:var(--muted)}.warning,.pv-second{background:var(--warning-bg,#fff3d7);color:var(--warning-text,#755119)}.reference-options button{color:var(--text)}.multi-actions{background:var(--surface)}input,select,textarea{color:var(--text);background:var(--surface)}.reference-dialog{color:var(--text)}.stock-tabs{display:flex;gap:6px;overflow-x:auto;margin:18px 0;padding:5px}.stock-tab{display:flex;flex-shrink:0;gap:2px}.stock-tabs [aria-selected=true]{background:var(--primary);color:var(--primary-text)}.stock-tab button{white-space:nowrap}.purchase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.purchase-fields [hidden]{display:none}.purchase-fields output{grid-column:1/-1}.stock-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.shopping-group{margin:1rem 0}.shopping-count{border-radius:15px;padding:1px 7px;background:var(--primary-pale)}.price-indicator{padding:15px;background:var(--primary-pale);border-radius:8px}.reference-dialog .purchase-fields{min-width:0}@media(max-width:650px){.purchase-fields{grid-template-columns:1fr}.stock-tabs{max-width:100%}}@media print{html,body{color-scheme:light!important;background:white!important;color:#29343a!important;--surface:#fff;--page-bg:#fff;--text:#29343a;--muted:#626a71;--primary-pale:#edf1e9;--error-bg:#fff0ed;--warning-bg:#fff3d7}.stock-tabs,.stock-actions{display:none}}

[hidden]{display:none!important}.stock-tabs>span{display:flex;flex-shrink:0}.stock-tabs button{white-space:nowrap}.stock-tabs .selected{background:var(--primary);color:var(--primary-text)}.cash-product-card{display:flex;flex-direction:column;gap:6px}.cash-product-card .cash-product{flex:1;width:100%}.reference-options .no-results{color:var(--warning-text)}
/* Caisse : les commandes restent visibles, les deux listes défilent séparément. */
.payment-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.payment-buttons button{padding:10px 5px;min-height:46px;font-size:14px}.payment-buttons .selected{background:var(--primary);color:var(--primary-text);border:2px solid var(--primary-ink)}.cash-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cash-main-actions button{min-height:48px}.cash-quick-amounts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.cash-quick-amounts button{padding:7px 10px;min-height:36px}.cash-ticket h2{margin:0 0 8px}.cash-ticket .ticket-grand-total{margin:10px 0;font-size:25px}.cash-ticket-lines{min-height:60px}.cash-cart-options{margin-top:8px;font-size:13px}.cash-cart-options[open]{max-height:130px;overflow:auto}.cash-cart-options button{margin:6px 0}.cash-ticket form{gap:9px}.cash-ticket input{padding:9px}.cash-ticket #cash-change{margin:8px 0}.cash-external-note{font-size:13px;margin:0}.cash-secondary{position:relative}.cash-secondary summary{cursor:pointer;padding:10px;border:1px solid var(--primary-border);border-radius:8px;min-height:44px}.cash-secondary[open]>.actions{position:absolute;right:0;top:100%;z-index:4;background:var(--surface);box-shadow:0 8px 25px #0003;border:1px solid var(--primary-border);border-radius:10px;padding:12px;width:280px;display:grid}.cash-heading h1{font-size:25px;margin:2px 0}.cash-heading .eyebrow{margin:0}.cash-heading{margin-bottom:8px}.cash-heading>.actions{flex-wrap:wrap}.cash-product-card{display:flex;flex-direction:column;gap:5px}.cash-product-card>.secondary{font-size:12px;padding:7px}.cash-product{width:100%;flex:1;min-height:140px;padding:12px;font-size:15px}.cash-product small{font-size:12px}.cash-product img{height:60px}.cart-issue{border-left:4px solid var(--error-text);padding-left:8px}.recap-ticket{border:1px solid var(--primary-border);padding:12px;margin:8px 0;border-radius:8px}.recap-ticket summary{cursor:pointer}.stock-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stock-primary-actions .panel{margin-top:0}.stock-primary>label{max-width:650px}.stock-primary button:disabled{opacity:.4;cursor:not-allowed}.stock-primary .actions{justify-content:flex-start}.common-article-form .grid>div{min-width:0}.common-article-form .purchase-fields{padding:0;border:0}.cash-ticket [hidden],.common-article-form [hidden]{display:none!important}
@media(min-width:901px) and (min-height:640px){body.cash-active{height:100dvh;overflow:hidden}body.cash-active>header{padding:10px 24px;min-height:70px;height:84px}body.cash-active header .brand img{width:56px;height:56px}body.cash-active header p{font-size:13px;margin:0}body.cash-active .app-layout{height:calc(100dvh - 84px);min-height:0}body.cash-active .sidebar{overflow:auto;padding-top:16px}body.cash-active .app-layout main{display:flex;flex-direction:column;padding:16px 20px;overflow:hidden}body.cash-active #cash-feedback{margin:0 0 6px;flex-shrink:0;font-size:14px}body.cash-active #cash-feedback:empty{display:none}body.cash-active .cash-heading{flex-shrink:0}body.cash-active .cash-layout{flex:1;min-height:0;align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(340px,390px)}body.cash-active .cash-article-area{display:flex;flex-direction:column;min-height:0}body.cash-active .cash-article-area>.toolbar{margin-bottom:4px;flex-shrink:0}body.cash-active .cash-categories{max-height:96px;overflow:auto;flex-shrink:0;margin:6px 0}body.cash-active .cash-products{overflow:auto;min-height:0;align-content:start;padding:3px 6px 8px 3px}body.cash-active .cash-ticket{position:static;display:flex;flex-direction:column;min-height:0;padding:16px}body.cash-active .cash-ticket-lines{flex:1;overflow:auto;min-height:42px}body.cash-active .cash-checkout{flex-shrink:0}body.cash-active .cart-line{padding:6px 0;grid-template-columns:1fr auto;gap:4px;font-size:14px}body.cash-active .cart-line>strong,body.cash-active .cart-line>.error{grid-column:1/-1}body.cash-active .cart-line>div{gap:8px}body.cash-active .cart-line button{min-height:36px;min-width:36px;padding:5px}}
@media(max-width:900px),(max-height:639px){.cash-ticket{position:static}.cash-ticket-lines{max-height:40vh;overflow:auto}.cash-products{max-height:65vh;overflow:auto}.cash-layout{grid-template-columns:1fr}.cash-ticket-link{display:block}.cash-secondary[open]>.actions{right:0}.cash-main-actions button{min-height:48px}}
@media(max-width:600px){.stock-primary-actions{grid-template-columns:1fr}.cash-heading{flex-direction:column;align-items:stretch}.cash-heading>.actions{justify-content:flex-start}.payment-buttons button{font-size:14px}.cash-categories{flex-wrap:nowrap;overflow:auto}.cash-categories button{flex-shrink:0}.cash-product{min-height:130px}}
@media print{body.cash-active{height:auto;overflow:visible}.recap-ticket{break-inside:auto}.receipt-document{break-before:page;break-inside:auto}.receipt-document table tr{break-inside:avoid}.payment-buttons,.cash-main-actions{display:none}}
.cash-article-area,.cash-ticket{min-width:0}.cash-ticket .cash-quick-amounts button{white-space:normal}.cash-ticket .payment-buttons button{overflow-wrap:anywhere;white-space:normal}.cash-ticket .cash-main-actions button{white-space:normal}.cash-ticket-lines{overflow-wrap:anywhere}
@media(max-width:900px),(max-height:639px){.cash-layout{grid-template-columns:minmax(0,1fr)}}

@media print{.pdf-body>.receipt-document{break-before:auto;break-inside:avoid}}

.cash-heading h1{overflow-wrap:anywhere}.cash-heading>div:first-child{min-width:0}.common-article-form [data-purchase-calculation]{white-space:normal}
/* Espaces de travail fluides, documents conservés à une largeur de lecture. */
.app-layout main>*{min-width:0}header .brand{min-width:0}header .brand>a{display:inline-flex;flex-shrink:0;border-radius:8px}header .brand>div{min-width:0}#menu-toggle{flex-shrink:0;padding:10px 12px}#menu-backdrop[hidden]{display:none}.welcome>p{max-width:75ch}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid>label{min-width:0}.grid>label:not(.wide){max-width:42rem}.reference-dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.reference-dialog .grid>label{max-width:none}.reference-item>span{min-width:0;overflow-wrap:anywhere}.toolbar>label{min-width:0;max-width:100%}.stock-primary>summary{font-size:23px;font-weight:700;cursor:pointer}.stock-panel-content{margin-top:20px}.stock-tabs:empty{display:none}.order-document small{display:block;margin-top:4px;color:#59626a}.order-preview{width:min(1050px,calc(100vw - 28px))}.order-document{background:white;color:#29343a;--surface:white;--text:#29343a;--primary-pale:#edf1e9;--primary-border:#b9c5bd;--muted:#59626a}.order-document .document-letterhead img{width:90px;height:90px;object-fit:contain}.order-document table{table-layout:fixed}.order-document th:first-child{width:28%}.order-total{text-align:right}.order-document .document-title h1{font-family:system-ui,sans-serif}.order-document .document-table{overflow:visible}
@media(min-width:901px){body.sidebar-collapsed .app-layout{grid-template-columns:minmax(0,1fr)}body.sidebar-collapsed .sidebar{display:none}}
@media(max-width:900px){.app-layout{display:block}#main-navigation{display:none;position:fixed;top:0;bottom:0;left:0;width:min(300px,85vw);z-index:31;overflow:auto;padding:76px 20px 24px;box-shadow:4px 0 24px #0005;background:var(--surface)}body.mobile-menu-open #main-navigation{display:block}#main-navigation button{display:block;width:100%;margin-right:0}#menu-backdrop{position:fixed;inset:0;background:#0008;border:0;border-radius:0;z-index:30;width:100%;height:100%;padding:0}body.mobile-menu-open #menu-toggle{position:fixed;top:16px;left:20px;z-index:32}header{flex-wrap:wrap;gap:12px;padding:16px 20px}header>p{flex:1;min-width:180px;margin:0}header .brand img{width:64px;height:64px}header .brand{gap:10px}header .brand span{overflow-wrap:anywhere}header .brand strong{font-size:26px}.app-layout main{padding:22px;max-width:100%}.cash-layout{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}}
@media(max-width:650px){header{flex-direction:row;align-items:center}.brand{flex:1;min-width:0}header>p{order:3;flex-basis:100%;font-size:13px}#menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app-layout main{padding:20px 14px}.grid,.cash-layout{grid-template-columns:minmax(0,1fr)}.grid>label:not(.wide){max-width:none}.cards{grid-template-columns:minmax(0,1fr)}.actions>*{max-width:100%;overflow-wrap:anywhere}.reference-dialog{padding:14px}.document-title h1{font-size:23px}.order-document{padding:14px}.order-document .document-table{overflow:auto}.order-document table{min-width:620px}.document-letterhead{flex-wrap:wrap;gap:12px}.heading{min-width:0}.pv-rules,.meeting-layout,.pv-layout{min-width:0}input,select,textarea{min-width:0}.toolbar{max-width:100%}}
@media print{#menu-toggle,#menu-backdrop,#menu-status{display:none!important}.order-document{width:100%;max-width:none;padding:0;border:0}.order-document .document-table{overflow:visible}.order-document table{min-width:0;font-size:10pt}.order-document th,.order-document td{padding:6px}.order-document .document-title{padding:12px}.order-document .document-letterhead{flex-wrap:nowrap}.order-document th:first-child{width:28%}}
@media(max-width:900px){body.mobile-menu-open{overflow:hidden}}
.stock-panel-content>label{max-width:650px}.category-card.available{display:flex;flex-direction:column}.category-card.available>button{margin-top:auto;align-self:flex-start}
/* Bilans : mêmes composants et couleurs, saisie indépendante des aperçus. */
.menu-bar{height:54px;display:flex;align-items:center;padding:6px 20px;background:var(--page-bg);border-bottom:1px solid var(--primary-border)}.menu-bar #menu-toggle{position:static;flex-shrink:0}.menu-bar #menu-toggle span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.review-section>summary{font-size:22px;font-weight:700;cursor:pointer;margin-bottom:18px}.review-section:not([open])>summary{margin-bottom:0}#review-form fieldset{border:0;margin:0;padding:0;min-width:0}.criterion-card,.review-finance-line{border:1px solid var(--primary-border);background:var(--surface);border-radius:8px;padding:18px;margin:16px 0}.criterion-quantitative[hidden]{display:none}.project-criteria>details{margin:14px 0}.review-finance-line .actions{justify-content:flex-start}.review-document .document-letterhead img{width:100px;height:100px;object-fit:contain}.review-document .document-title h1{font-family:system-ui,sans-serif}.review-document .review-criterion-document{border-top:1px solid var(--primary-border);margin-top:16px}.review-document table{font-size:13px}.review-document small{display:block}.review-section input[readonly]{background:var(--surface-soft)}.review-document th{background:var(--primary-pale)}
@media(min-width:901px) and (min-height:640px){body.cash-active .app-layout{height:calc(100dvh - 138px)}body.cash-active .app-layout main{min-height:0;height:100%;margin:0}}
@media(max-width:900px){body.mobile-menu-open .menu-bar #menu-toggle{position:fixed;top:16px;left:20px;z-index:32}.menu-bar{padding:6px 14px}}
@media(max-width:650px){.criterion-card,.review-finance-line{padding:12px}.review-section>summary{font-size:20px}.review-section .actions>button{width:100%}.review-document .document-table{overflow:auto}.review-document table{min-width:580px}}
@media print{.menu-bar{display:none!important}.review-document{max-width:none;width:100%;border:0;padding:0}.review-document table{min-width:0;font-size:10pt}.review-document .document-table{overflow:visible}.review-document th,.review-document td{padding:6px}}

.review-source-table table{table-layout:fixed}.review-source-table th:nth-child(1){width:22%}.review-source-table th:nth-child(2){width:12%}.review-source-table th:nth-child(3){width:14%}.review-source-table th:nth-child(4){width:27%}.review-source-table th:nth-child(5){width:25%}.review-source-table th:nth-child(2),.review-source-table td:nth-child(2),.review-source-table th:nth-child(3),.review-source-table td:nth-child(3){white-space:nowrap;overflow-wrap:normal}
/* Parcours partagés, identiques dans les thèmes existants. */
[hidden]{display:none!important}#shared-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 20px;background:var(--surface);border-bottom:1px solid var(--primary-border)}#shared-toolbar button{font-size:13px;padding:7px 10px}#shared-status{flex:1;min-width:140px;font-size:14px}.auth-panel{max-width:540px;margin:30px auto}.auth-panel form{display:grid;gap:18px}.auth-panel button{margin-top:12px}.shared-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:40vh;overflow:auto}.shared-dialog form{display:grid;gap:14px;margin:20px 0}.shared-dialog .grid{align-items:start}.shared-dialog .grid>*{min-width:0}body:has(#shared-toolbar).cash-active .app-layout{height:calc(100dvh - 198px)}@media(max-width:900px){#shared-toolbar{padding:8px 14px}.auth-panel{margin:12px 0}}@media print{#shared-toolbar,.menu-bar{display:none!important}}
body.auth-pending .app-layout{display:block}body.auth-pending main{width:100%}@media(min-width:901px) and (min-height:640px){body.cash-active:has(#shared-toolbar){display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}body.cash-active:has(#shared-toolbar) .app-layout{height:auto;min-height:0}}@media(max-width:900px){#shared-toolbar button{min-height:44px}}@media print{body.cash-active:has(#shared-toolbar){display:block;height:auto;overflow:visible}}

body.auth-pending .menu-bar{display:none}
