:root{--green-950:#103a20;--green-900:#174b2a;--green-800:var(--green-900);--green-700:#26703d;--green-600:#31834a;--green-500:var(--green-600);--green-300:var(--green-100);--green-100:#e7f3ea;--green-050:#f4f9f5;--blue:#1769aa;--red:#ad2b25;--amber:#9a6700;--bg:#edf4ef;--bg-glow:#dcecdf;--surface:#fff;--text:#1d2921;--muted:#68756d;--line:#d9e5dc;--border:var(--line);--shadow:0 14px 32px rgba(25,69,39,.09);--status-success:#237542;--status-warning:#9a6700;--status-danger:#ad2b25;--danger-strong-text:#8f201a;--warning-strong-text:#785300;--warning-surface:#fff2cf;--control-radius:11px;--selection-accent:#b52d28;--choice-selected-bg:#dcebdd;--page-section-gap:1rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,var(--bg-glow) 0,transparent 34rem),var(--bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{min-height:100vh}.hero{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(18px,calc((100vw - 1450px)/2));color:#fff;background:linear-gradient(120deg,var(--green-950),var(--green-700));box-shadow:0 8px 24px rgba(12,45,24,.18)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:rgba(255,255,255,.14);font-size:25px}.brand small,.brand strong{display:block}.brand small{opacity:.78;font-size:11px}.brand strong{font-size:22px}.top-nav{display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:wrap}.top-nav a,.nav-button{display:inline-flex;align-items:center;padding:8px 9px;border:0;border-radius:9px;color:#fff;background:transparent;text-decoration:none;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.top-nav a:hover,.nav-button:hover{background:rgba(255,255,255,.14)}.top-nav form{margin:0}.page{width:min(1450px,calc(100% - 28px));margin:22px auto 90px}.footer{text-align:center;padding:22px;color:var(--muted);font-size:12px}.card,.panel,.kpi{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:19px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.page-heading h1{margin:.08em 0 .25em;font-size:clamp(28px,4vw,44px);line-height:1.05}.page-heading p{margin:0;color:var(--muted)}.eyebrow{margin:0!important;color:var(--green-700)!important;font-size:11px!important;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text);background:#fff;text-decoration:none;font:inherit;font-weight:850;cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(0,0,0,.08)}.button.primary{border-color:var(--green-700);color:#fff;background:linear-gradient(120deg,var(--green-700),var(--green-900))}.button.danger{border-color:#e2a5a0;color:var(--danger-strong-text);background:#fff0ef}.alert{margin-bottom:14px;padding:12px 15px;border-radius:12px;font-weight:750}.alert-success{color:#1d6b35;background:#e5f5e9}.alert-danger{color:#92241d;background:#ffe8e5}.hidden{display:none!important}.kpi-grid{display:grid;gap:12px;margin-bottom:18px}.kpi{display:grid;gap:4px;padding:15px;color:var(--text);text-decoration:none}.kpi span{font-size:24px}.kpi strong{font-size:26px}.kpi small{color:var(--muted)}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading h2,.panel h2{margin:0 0 12px}.panel-heading h2{margin:0}.panel-heading a{color:var(--green-700);font-weight:800;text-decoration:none}.list,.mini-list{display:grid;gap:8px}.list-row{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--green-050);text-decoration:none}.list-row>div{flex:1}.list-row strong,.list-row small,.mini-list strong,.mini-list small{display:block}.list-row small,.mini-list small{margin-top:3px;color:var(--muted)}.round-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--green-100);font-size:21px}.pill{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;color:var(--green-900);background:var(--green-100);font-size:11px;font-weight:900}.pill.large{padding:7px 12px;font-size:13px}.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.identity-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:12px}.identity-panel>div{padding:15px;border-radius:14px;background:var(--green-050)}.identity-panel span{font-size:30px}.identity-panel h3{margin:8px 0 4px}.identity-panel p{margin:0;color:var(--muted);font-size:13px}.auth-card{width:min(470px,100%);margin:8vh auto;padding:28px;text-align:center}.auth-card h1{margin:7px 0}.auth-card p{color:var(--muted)}.big-icon{font-size:52px}.stack-form{display:grid;gap:11px;text-align:left}.stack-form.compact{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}label{display:grid;gap:5px;color:var(--green-950);font-size:12px;font-weight:850}input,select,textarea{width:100%;min-height:40px;padding:9px 10px;border:1px solid #cddcd1;border-radius:10px;color:var(--text);background:#fff;font:inherit}textarea{min-height:78px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(49,131,74,.13);border-color:var(--green-600)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;min-height:auto}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:9px}.mini-list{margin-top:16px;max-height:430px;overflow:auto}.mini-list>div{padding:9px;border-bottom:1px solid var(--line)}.filter-bar,.search-hero{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:11px}.filter-bar input,.search-hero input{flex:1}.search-hero{padding:17px}.search-hero span{font-size:27px}.table-card .panel-heading{padding:16px 17px 0}table{width:100%;border-collapse:collapse}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f4f8f5;color:var(--green-950);font-size:11px;text-transform:uppercase;letter-spacing:.04em}td small{display:block;margin-top:3px;color:var(--muted)}td a{color:var(--green-700);text-decoration:none}.empty{padding:18px;color:var(--muted);text-align:center}.detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:8px 15px}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;font-weight:750}.stock-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.stock-line strong,.stock-line small{display:block}.stock-line small{margin-top:3px;color:var(--muted)}.operation-form{padding:18px}.line-heading{margin-top:22px}.operation-lines{display:grid;gap:10px}.operation-line{display:grid;grid-template-columns:34px 110px 150px minmax(220px,1.5fr) minmax(140px,1fr) minmax(160px,1fr) minmax(140px,1fr) 110px 100px 40px;gap:8px;align-items:end;padding:10px}.line-number{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:var(--green-700);font-weight:900}.card-soft{border:1px solid var(--line);border-radius:14px;background:var(--green-050)}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:10px;cursor:pointer}.icon-button.danger{color:#8e201a;background:#ffe5e2}.trace-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trace-item{display:block;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--green-050);text-decoration:none}.trace-item strong,.trace-item small{display:block}.trace-item small{margin-top:3px;color:var(--muted)}.danger-soft{background:#fff1f0}.danger-panel{border-color:#edc1bd;background:#fff8f7}.inline-form{display:flex;gap:9px}.inline-form input{flex:1}.series-grid,.lot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.series-card,.lot-card{display:flex;align-items:flex-start;gap:13px;padding:15px;color:var(--text);text-decoration:none}.series-icon{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;border-radius:16px;background:var(--green-100);font-size:29px}.series-card h3,.lot-card strong{margin:2px 0}.series-card p,.lot-card p{margin:4px 0;color:var(--muted)}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:start}.timeline-dot{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--green-100)}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{margin-top:3px;color:var(--muted)}.trace-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.trace-tree{display:grid;gap:7px}.trace-node{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:start;padding:8px;border-radius:10px;background:var(--green-050)}.trace-node strong,.trace-node small{display:block}.trace-node small{color:var(--muted)}.depth-1{margin-left:18px}.depth-2{margin-left:36px}.depth-3{margin-left:54px}.depth-4{margin-left:72px}.depth-5{margin-left:90px}.mobile-nav{display:none}
@media(max-width:1200px){.top-nav{display:none}.three-columns{grid-template-columns:1fr}.operation-line{grid-template-columns:34px repeat(3,minmax(150px,1fr))}.operation-line>*{min-width:0}.series-grid,.lot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.page{width:min(100% - 18px,1450px);margin-top:12px}.hero{position:static}.page-heading{flex-direction:column}.two-columns,.trace-layout,.identity-panel,.trace-columns,.series-grid,.lot-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.operation-line{grid-template-columns:34px 1fr}.operation-line label,.operation-line button{grid-column:2}.inline-form{flex-direction:column}.mobile-nav{position:fixed;z-index:40;right:8px;bottom:8px;left:8px;display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.mobile-nav a{display:grid;gap:2px;place-items:center;padding:8px 2px;color:var(--green-900);text-decoration:none;font-size:10px;font-weight:850}.mobile-nav span{font-size:20px}.footer{padding-bottom:82px}th,td{padding:9px}.depth-3,.depth-4,.depth-5{margin-left:42px}}
.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.recipe-card{padding:13px}.recipe-card strong,.recipe-card small{display:block}.recipe-card small{margin-top:4px;color:var(--muted)}.recipe-card ul{margin:9px 0 0;padding-left:18px;color:var(--muted);font-size:12px}@media(max-width:900px){.recipe-grid{grid-template-columns:1fr}}
.selector-grid{margin-bottom:16px}.recipe-choice{display:flex;gap:12px;align-items:center;padding:14px;color:var(--text);text-decoration:none}.recipe-choice>span{font-size:30px}.recipe-choice strong,.recipe-choice small{display:block}.recipe-choice small{margin-top:4px;color:var(--muted)}.recipe-choice.selected{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(49,131,74,.12),var(--shadow)}.section-title{margin:22px 0 10px}.processing-line{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.5fr) 140px 110px;gap:10px;align-items:end;padding:12px}.processing-line strong,.processing-line small{display:block}.processing-line small{margin-top:4px;color:var(--muted)}@media(max-width:900px){.processing-line{grid-template-columns:1fr}}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;color:var(--green-900);background:var(--green-100);font-size:11px;font-weight:900}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2{margin:0}.button.small{min-height:32px;padding:6px 9px;font-size:11px}.inline-form.compact{display:inline-flex;align-items:center;margin:2px 4px 2px 0}.inline-form.compact input{min-width:110px;min-height:32px;padding:5px 8px;font-size:11px}@media(max-width:760px){.inline-form.compact{display:flex;margin:5px 0}.inline-form.compact input{min-width:0}}
.active-work{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;border-color:#9fd2aa;background:linear-gradient(120deg,#f1faf3,#fff)}.active-work h2{margin:.15em 0}.hint{color:var(--muted);font-size:12px}.qr-card{text-align:center}.qr-card img{width:min(240px,70%);image-rendering:pixelated;border-radius:12px}.scan-panel{max-width:760px;margin:auto;text-align:center}.scan-panel video{width:100%;max-height:55vh;border-radius:14px;background:#102017;margin-bottom:12px}.work-task{width:100%;font:inherit;text-align:left}.work-task input{display:none}.section-gap .card{height:100%}
@media(max-width:760px){.active-work{align-items:stretch;flex-direction:column}.actions{flex-wrap:wrap}.qr-card img{width:65%}}
.forecast-horizons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.forecast-card{padding:1rem;border:1px solid var(--line,#dfe8df);border-radius:16px;background:var(--soft,#f7faf7)}.forecast-card h3{margin-top:0}.forecast-line{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed rgba(0,0,0,.09);font-size:.92rem}.forecast-line:last-child{border-bottom:0}.danger-text{color:#a43030;font-weight:700}.ok-text{color:#2d6b3f;font-weight:700}@media(max-width:900px){.forecast-horizons{grid-template-columns:1fr}.forecast-line{align-items:flex-start;flex-direction:column;gap:.15rem}}

/* Sélection de matériel terrain */
.equipment-picker{margin-top:.55rem}.equipment-picker summary{cursor:pointer;font-size:.86rem;font-weight:700}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem .75rem;margin-top:.5rem}.equipment-fieldset{border:1px solid var(--line,#d8dfd8);border-radius:12px;padding:.75rem}.equipment-fieldset legend{font-weight:700;padding:0 .35rem}.work-task-main{min-width:0;flex:1}.muted{opacity:.78}

/* Ergonomie terrain : composants compacts et moteur métier conservé */
.choice-section{border:0;padding:0;margin:1.2rem 0}.choice-section legend{font-size:1.05rem;font-weight:900;margin-bottom:.6rem}.choice-section legend small{font-weight:500;color:var(--muted)}
.choice-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem}.compact-tiles{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.activity-tiles{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
.choice-tile{position:relative;display:flex;min-height:104px;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.8rem;border:2px solid var(--line);border-radius:16px;background:#fff;text-align:center;cursor:pointer;transition:.15s ease}.choice-tile:hover{border-color:var(--green-600);transform:translateY(-1px)}.choice-tile input{position:absolute;opacity:0;pointer-events:none}.choice-tile:has(input:checked){border:3px solid var(--selection-accent);background:var(--choice-selected-bg);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--selection-accent) 18%,transparent)}.choice-tile .choice-icon{font-size:30px}.choice-tile strong{font-size:.94rem}.choice-tile small{font-size:.72rem;color:var(--muted)}.choice-tile.neutral{background:#fafafa}
.terrain-form>.xlarge{width:100%;min-height:58px;font-size:1.05rem}.terrain-options{align-items:start}.work-context{display:flex;flex-wrap:wrap;gap:.45rem 1rem}.work-timer-panel{text-align:center}.work-timer{display:block;font-size:2rem;font-variant-numeric:tabular-nums}.finish-form{min-width:min(360px,100%)}.finish-form label{display:grid;gap:.35rem}.observation-quick-form{display:flex;gap:.7rem;align-items:end}.observation-quick-form label{display:grid;gap:.35rem}.observation-quick-form .grow{flex:1}.history-cards,.observation-list{display:grid;gap:.65rem}.history-card{display:grid;grid-template-columns:44px 1fr;gap:.75rem;padding:.75rem;border:1px solid var(--line);border-radius:13px}.history-icon{display:grid;place-items:center;font-size:28px}.history-card strong,.history-card small{display:block}.history-card small{color:var(--muted);margin-top:.15rem}.history-card p{margin:.35rem 0 0}.observation-item{padding:.85rem 1rem;border-left:5px solid #7c8d80;background:#fafcf9;border-radius:12px}.observation-item.severity-vigilance{border-left-color:#c78b16}.observation-item.severity-alerte{border-left-color:#b53b34}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:.7rem}.filter-check{align-self:center}
.reference-section{scroll-margin-top:20px}.reference-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem;align-items:end;margin-bottom:1rem}.reference-create-grid label{display:grid;gap:.3rem}.reference-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem}.reference-card{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--line);border-radius:13px;background:#fff}.reference-icon{font-size:28px;text-align:center}.reference-card strong,.reference-card small{display:block}.reference-card small{color:var(--muted);margin-top:.1rem}.activity-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:.75rem}.activity-admin-card{display:grid;grid-template-columns:55px 1fr;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:14px;background:#fff}.activity-admin-icon{font-size:36px;text-align:center;padding-top:1rem}.activity-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.activity-admin-fields label{display:grid;gap:.2rem}.checks-row{grid-column:1/-1;display:flex;gap:1rem;flex-wrap:wrap}.csv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.csv-card{display:grid;gap:.6rem}.csv-card form{display:grid;gap:.45rem}.csv-card input[type=file]{max-width:100%}
.admin-edit-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(400px,2fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:start}.admin-edit-fields{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:.55rem;align-items:end}.admin-edit-fields label{display:grid;gap:.25rem}.equipment-fields{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(180px,1fr) auto auto}.hourly-rate-field input{min-width:130px}
.mobile-nav button{border:0;background:transparent;display:grid;gap:2px;place-items:center;padding:8px 2px;color:var(--green-900);font:inherit;font-size:10px;font-weight:850}.mobile-nav button span{font-size:20px}.app-menu{position:fixed;z-index:100;top:0;right:0;width:min(390px,92vw);height:100dvh;padding:18px;background:#fff;box-shadow:-12px 0 35px rgba(0,0,0,.22);transform:translateX(105%);transition:transform .2s ease;overflow:auto}.app-menu.open{transform:translateX(0)}.menu-backdrop{position:fixed;z-index:90;inset:0;background:rgba(10,30,18,.42)}.app-menu-head{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem}.app-menu-user{margin:.75rem 0;padding:.65rem;border-radius:10px;background:var(--green-100);font-size:.85rem}.app-menu-links{display:grid;gap:.25rem}.app-menu-links a{padding:.7rem;border-radius:10px;color:var(--text);font-weight:750;text-decoration:none}.app-menu-links a:hover{background:var(--green-100)}.app-menu-logout{margin-top:1rem}.desktop-menu-trigger{display:inline-flex}.menu-open{overflow:hidden}
@media(max-width:1100px){.admin-edit-grid{grid-template-columns:1fr}.admin-edit-fields,.equipment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.top-nav{display:none}.desktop-menu-trigger{display:none}}
@media(max-width:760px){.choice-tiles,.compact-tiles,.activity-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-tile{min-height:92px;padding:.6rem}.choice-tile .choice-icon{font-size:26px}.observation-quick-form{align-items:stretch;flex-direction:column}.filter-grid{grid-template-columns:1fr}.activity-admin-grid{grid-template-columns:1fr}.activity-admin-card{grid-template-columns:44px 1fr}.activity-admin-fields,.admin-edit-fields,.equipment-fields{grid-template-columns:1fr}.checks-row{grid-column:auto}.reference-create-grid{grid-template-columns:1fr 1fr}.vertical-mobile{width:100%}}
/* Navigation hiérarchisée et écrans métiers séparés */
.menu-section-title{margin:1rem .25rem .25rem;padding-top:.65rem;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.menu-section-title:first-of-type{margin-top:.25rem;border-top:0}.reference-card[href]{color:var(--text);text-decoration:none}.reference-card[href]:hover{border-color:var(--green-600);background:var(--green-100)}.choice-admin-list{display:grid;gap:.2rem}.page-heading>.actions{display:flex;gap:.5rem;flex-wrap:wrap}.user-rate-fields{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) 100px auto}.user-rate-fields .hourly-rate-field input{width:100%;min-width:170px}
@media(max-width:760px){.page-heading{align-items:stretch}.page-heading>.actions{width:100%}.page-heading>.actions form,.page-heading>.actions .button{width:100%}.user-rate-fields{grid-template-columns:1fr}.app-menu-links a{min-height:44px;display:flex;align-items:center}}

/* Séparation lisible libellé / code technique */
.technical-code{font-weight:500;color:var(--muted,#667085);margin-left:.35rem;font-size:.9em}
.reference-edit-list{display:grid;gap:1rem}.reference-edit-card{border:1px solid rgba(120,130,120,.22);border-radius:14px;padding:1rem;background:var(--card,#fff)}
.reference-edit-card summary{cursor:pointer;font-weight:700}.document-thumb{max-width:220px;max-height:160px;border-radius:10px;object-fit:cover}
.numbering-line .admin-edit-fields{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.field-readonly{background:#f3f5f3}
/* Pilotage commercial et couche de connecteurs */
.three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mapping-grid{display:grid;gap:.45rem}.mapping-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(160px,1fr) minmax(160px,1fr);gap:.45rem;align-items:center;padding:.35rem 0;border-bottom:1px dashed var(--line)}.mapping-row input{min-width:0}.commercial-progress{height:8px;border-radius:999px;background:#e9efe9;overflow:hidden}.commercial-progress>span{display:block;height:100%;background:var(--green-600)}
@media(max-width:900px){.three-columns{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr}.mapping-row strong{margin-top:.35rem}}

/* Lisibilité tableaux commerciaux et formulaires repliables */
.actions.wrap { flex-wrap: wrap; justify-content: flex-start; }
details .floating-edit { margin-top: .75rem; min-width: min(34rem, 100%); }
tr.row-alert td { font-weight: 500; }

/* Équipe, personnes et droits par rôle */
.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.employee-card{display:flex;gap:1rem;align-items:center;padding:1rem;color:var(--text);text-decoration:none}.employee-card:hover{border-color:var(--green-600);background:var(--green-050)}.employee-card-body{min-width:0;flex:1}.employee-card-body h3{margin:.45rem 0 .15rem}.employee-card-body p,.employee-card-body small{display:block;margin:.1rem 0;color:var(--muted)}.employee-avatar{width:74px;height:74px;flex:0 0 74px;border-radius:18px;object-fit:cover;border:1px solid var(--line);background:var(--green-100)}.employee-avatar.large{width:96px;height:96px;flex-basis:96px;border-radius:24px}.employee-avatar-placeholder{display:grid;place-items:center;font-size:34px}.employee-heading{display:flex;gap:1rem;align-items:center}.permission-grid{display:grid;gap:.35rem}.permission-row{display:grid;grid-template-columns:minmax(210px,1fr) 90px 100px;gap:.7rem;align-items:center;padding:.55rem .65rem;border:1px solid var(--line);border-radius:11px;background:var(--green-050)}.permission-row>div{display:grid;grid-template-columns:28px 1fr;column-gap:.4rem}.permission-row>div span{grid-row:1/3;font-size:20px}.permission-row strong,.permission-row small{display:block}.permission-row small{color:var(--muted);font-size:.72rem}.document-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}.document-card{display:grid;gap:.45rem;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:var(--green-050)}.document-placeholder{display:grid;height:120px;place-items:center;border-radius:10px;background:#fff;font-size:38px}.document-card .document-thumb{width:100%;max-width:none;height:120px}.section-gap{margin-top:var(--page-section-gap)}.stack-form.compact,.form-grid.compact{padding:.75rem;border:1px dashed var(--line);border-radius:12px;background:var(--green-050)}
@media(max-width:760px){.employee-grid{grid-template-columns:1fr}.employee-heading{align-items:flex-start}.employee-avatar.large{width:74px;height:74px;flex-basis:74px}.permission-row{grid-template-columns:1fr 90px 100px}.permission-row>div{grid-column:1/-1}.document-gallery{grid-template-columns:1fr 1fr}}

/* Lisibilité, empilement et navigation continue */
.stack-cards,.workflow-admin-stack,.admin-users-stack{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}
.stack-cards>.card,.workflow-admin-stack>*,.admin-users-stack>*{width:100%;min-width:0}
.compact-panel{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--green-050)}
.compact-panel h3{margin:.1rem 0 .35rem}.textarea-compact{min-height:42px;height:42px}
.numbering-title{display:block}.numbering-preview{display:block;margin-top:.25rem;color:var(--muted)}
.product-search-input{margin-bottom:.35rem;background:#f9fcfa}.product-search-input.no-match{border-color:#d08a82;background:#fff6f5}
.workflow-list{display:grid;gap:.45rem;padding-left:1.1rem}.workflow-list li small{display:block;color:var(--muted);margin-top:.15rem}.workflow-input{margin-left:1rem;color:var(--green-900)}
.alert-warning{color:var(--warning-strong-text);background:var(--warning-surface)}.operation-prefill-summary{border-left:5px solid var(--green-600)}
.qualification-checks{display:grid;gap:.55rem}.qualification-check{display:grid;grid-template-columns:32px minmax(160px,.8fr) minmax(240px,2fr) 100px;gap:.65rem;align-items:start;padding:.65rem;border:1px solid var(--line);border-radius:11px;background:var(--green-050)}
.log-window{max-height:560px;overflow:auto;padding:1rem;border-radius:12px;background:#102019;color:#e8f5eb;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.operation-line{grid-template-columns:34px repeat(4,minmax(150px,1fr));}

/* Au-dessous du grand écran, la barre mobile devient la navigation permanente. */
@media (min-width:761px) and (max-width:1200px){
  .mobile-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(18,48,27,.12)}
  .mobile-nav a{display:grid;gap:2px;place-items:center;padding:8px 2px;color:var(--green-900);text-decoration:none;font-size:10px;font-weight:850}.mobile-nav a span{font-size:20px}
  .footer{padding-bottom:84px}
}
@media(max-width:760px){.qualification-check{grid-template-columns:32px 1fr}.qualification-check .check-detail,.qualification-check .check-severity{grid-column:2}.product-search-input{min-height:44px}}
.task-input-line{margin:.4rem 0;padding:.45rem .55rem;border-left:3px solid var(--green-600);border-radius:0 8px 8px 0;background:var(--green-050)}.task-input-line span,.task-input-line small{display:block}.task-input-line small{color:var(--muted);margin-top:.15rem}
/* Les comptes restent contenus dans la largeur du panneau, même sur grand écran. */
.user-admin-line{grid-template-columns:minmax(210px,.75fr) minmax(0,2.25fr)}
.user-admin-line .user-rate-fields{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));min-width:0}
.user-admin-line>*{min-width:0}
@media(max-width:1100px){.user-admin-line{grid-template-columns:1fr}.user-admin-line .user-rate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.user-admin-line .user-rate-fields{grid-template-columns:1fr}}

/* Ergonomie formulaires et gammes */
.technical-log-form{display:grid;gap:.8rem}.technical-log-form>label{display:grid;gap:.35rem}.technical-log-actions{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.technical-log-actions label{display:grid;gap:.35rem;min-width:150px}.technical-log-actions input{min-height:40px}.qualification-check strong,.qualification-check .qualification-code{display:block}.qualification-code{margin-top:.2rem}.compact-field{align-self:start}.compact-field input,.compact-field select{min-height:42px;height:42px}.series-create-form>label{margin:0}.series-create-form .compact-field{gap:.25rem}.next-line-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.maintenance-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.maintenance-card{background:var(--green-050)}.workflow-cards{display:grid;gap:1rem}.workflow-detail-card{width:100%}.workflow-card-heading,.workflow-step-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.workflow-card-heading strong,.workflow-card-heading small,.workflow-step-title strong,.workflow-step-title small{display:block}.workflow-card-heading small,.workflow-step-title small{margin-top:.25rem;color:var(--muted)}.workflow-step-editor{display:grid;gap:.75rem;margin-top:1rem}.workflow-step-card{padding:1rem}.workflow-input-list{display:grid;gap:.55rem;margin-top:.75rem}.workflow-input-edit{padding:.7rem;border-left:4px solid var(--green-600);background:#fff;border-radius:10px}.workflow-input-edit small{display:block;margin-top:.2rem;color:var(--muted)}.danger-zone{margin-top:.6rem}.reference-create-grid .wide,.filter-grid .wide{grid-column:1/-1}
@media(max-width:760px){.technical-log-actions{display:grid;grid-template-columns:1fr}.technical-log-actions>*{width:100%}.workflow-card-heading,.workflow-step-title{flex-direction:column}.workflow-card-heading>.actions,.workflow-step-title>.actions{width:100%}.workflow-card-heading>.actions .button{width:100%}}

/* Interface unique smartphone/tablette sur toutes les tailles d'écran. */
.page{width:min(1100px,calc(100% - 18px));margin:12px auto 110px}
.hero{position:static;padding:10px max(10px,calc((100vw - 1100px)/2))}
.top-nav{display:none!important}
.mobile-nav{position:fixed!important;z-index:40;right:0;bottom:0;left:0;display:grid!important;grid-template-columns:repeat(5,1fr);gap:2px;padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(18,48,27,.12)}
.mobile-nav a,.mobile-nav button{display:grid;gap:2px;place-items:center;min-width:0;padding:8px 2px;color:var(--green-900);text-decoration:none;font-size:10px;font-weight:850;background:transparent;border:0}.mobile-nav a span,.mobile-nav button span{font-size:20px}.footer{padding-bottom:88px}

/* Un champ par ligne : même logique sur téléphone, tablette et PC. */
.form-grid,.reference-create-grid,.admin-edit-grid,.admin-edit-fields,.equipment-fields,.activity-admin-fields,.filter-grid,.mapping-row,.permission-row,.user-rate-fields,.user-admin-line,.series-create-form,.operation-form .form-grid{grid-template-columns:1fr!important}
.form-grid .wide,.reference-create-grid .wide,.filter-grid .wide,.permission-row>div{grid-column:auto!important}
.two-columns,.three-columns,.trace-layout,.maintenance-overview,.employee-grid,.series-grid,.lot-grid{grid-template-columns:1fr!important}
.page-heading,.panel-heading,.workflow-card-heading,.workflow-step-title{flex-direction:column;align-items:stretch}
.page-heading>.actions,.panel-heading>.actions,.workflow-card-heading>.actions,.workflow-step-title>.actions{width:100%}
.page-heading>.actions .button,.page-heading>.actions form,.workflow-card-heading>.actions .button,.workflow-card-heading>.actions form{width:100%}
.inline-form,.filter-bar,.search-hero,.technical-log-actions{flex-direction:column;align-items:stretch}
.inline-form>*,.filter-bar>*,.search-hero>*,.technical-log-actions>*{width:100%}
.operation-line{grid-template-columns:34px minmax(0,1fr)!important;align-items:start}
.operation-line>label,.operation-line>.icon-button{grid-column:2;min-width:0}.operation-line>.line-number{grid-column:1;grid-row:1}
.mapping-row{display:grid!important}.permission-row{display:grid!important}.permission-row>label{width:100%}


/* Espacement homogène des actions. */
.actions,.next-line-actions{gap:.65rem;margin-top:.65rem;margin-bottom:.25rem;flex-wrap:wrap;justify-content:flex-start}
form>.button,form>.actions,details form>.button{margin-top:.55rem}
.stack-form{gap:.8rem}.stack-form.compact{margin-top:.75rem;padding-top:.75rem}
.button{margin:.08rem 0}.panel>.button:last-child,.card>.button:last-child{margin-bottom:.1rem}

/* Travail terrain : arrêt/reprise professionnel et boutons décollés du cadre. */
.work-close-actions{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}
.work-close-form{padding:.9rem;border:1px solid var(--line);border-radius:13px;background:var(--green-050)}
.work-close-form small{color:var(--muted);line-height:1.4}.cancel-entry{margin-top:.2rem;padding:.25rem 0 .45rem}
.pending-trace-panel{margin-bottom:1rem}.pending-trace-line{display:flex;align-items:center;gap:.8rem;padding:.75rem;margin-top:.55rem}.pending-trace-line>div{flex:1}.pending-trace-line strong,.pending-trace-line small{display:block}.pending-trace-line small{margin-top:.2rem}
.task-equipment-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.badge.warning,.pill.warning{color:var(--warning-strong-text);background:var(--warning-surface)}

/* Gammes : ressources d'étape distinctes et lisibles. */
.workflow-resource-section{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--line)}.workflow-resource-section h4{margin:.1rem 0 .5rem}.workflow-equipment-list{display:grid;gap:.55rem}.workflow-equipment-edit{padding:.7rem;border-left:4px solid #457d9b;background:#fff;border-radius:10px}.workflow-equipment-edit strong,.workflow-equipment-edit small{display:block}.workflow-equipment-edit small{margin-top:.2rem;color:var(--muted)}.add-step-equipment-form{margin-top:.65rem;padding:.7rem;border:1px dashed var(--line);border-radius:10px;background:#fff}

/* Équipe et autres formulaires d'action : respiration autour des boutons. */
.employee-heading+.actions form{display:grid;gap:.45rem}.employee-heading+.actions form .button{margin-top:.45rem}
.observation-quick-form{display:grid!important;grid-template-columns:1fr!important;gap:.75rem}.observation-quick-form>*{width:100%}

@media(max-width:560px){.document-gallery{grid-template-columns:1fr}.pending-trace-line{align-items:stretch;flex-direction:column}.pending-trace-line .button{width:100%}}
/* Le défilement horizontal appartient au tableau, jamais à toute la page. */
.page{min-width:0;overflow-x:clip}.history-table{padding:0}.section-gap-small{margin-top:.45rem}.alert-row{border-color:#e1a69f;background:#fff6f4}.pill.danger{color:var(--danger-strong-text);background:#ffe3df}.callout{padding:.85rem;border:1px solid var(--green-300);border-radius:12px;background:var(--green-050);margin-bottom:.8rem}

/* Planning opérationnel unifié */
.week-navigation{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}
.operational-week{display:grid;grid-template-columns:1fr;gap:1rem}
.planning-day{min-width:0}
.today-card{outline:2px solid rgba(36,92,54,.22)}
.planned-task{display:flex;flex-direction:column;gap:.8rem;padding:1rem;min-width:0}
.planned-task-main{min-width:0}
.planned-task-title{display:flex;gap:.75rem;align-items:flex-start}
.planned-task-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.35rem}
.planned-task-actions form,.planned-task-actions details{margin:0}
.task-overdue{border-left:5px solid #b42318;background:rgba(180,35,24,.055)}
.recurrence-box{display:flex;flex-direction:column;gap:.75rem;padding:1rem}
.recurrence-box label{margin:0}
.badge.danger,.pill.danger{background:#fde7e5;color:#8b1e16;border-color:#efb6b0}
.pill.success{background:#e8f5eb;color:#245c36;border-color:#b9ddc2}
@media (min-width:900px){
  /* Même logique tablette/mobile : une colonne par jour, sans grille desktop dense. */
  .operational-week{grid-template-columns:1fr}
  .planned-task{padding:1.1rem 1.2rem}
}

.safety-badges{margin-top:.45rem}.pill.warning{background:#fff4cf;color:#745000;border:1px solid #ead690}

/* Administration courte et mobile-first des listes de choix. */
.choice-category-grid{display:grid;grid-template-columns:1fr;gap:.7rem}.choice-category-card{display:grid;grid-template-columns:42px 1fr auto;gap:.75rem;align-items:center;padding:1rem}.choice-category-card>span{font-size:24px}.choice-category-card strong,.choice-category-card small{display:block}.choice-category-card small{margin-top:.2rem;color:var(--muted)}.choice-row-card{padding:.8rem 0;border-bottom:1px solid var(--line)}.choice-row-card>div:first-of-type strong,.choice-row-card>div:first-of-type small{display:block}.choice-row-card>div:first-of-type small{margin-top:.2rem;color:var(--muted)}

/* Administration HTTPS / exposition HTTP externe */
.https-status-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.https-status-banner h2{margin:.15rem 0 .35rem}.https-status-banner p{margin:.15rem 0;color:var(--muted)}.https-status-banner.https-ready{border-color:#b9ddc2;background:#f5fbf6}.https-status-banner.https-warning{border-color:#efb6b0;background:#fff8f7}.https-status-banner.https-local{border-color:#bfd4e8;background:#f7fbff}.https-check-grid{display:grid;gap:.55rem}.https-check-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.https-check-row strong,.https-check-row small{display:block}.https-check-row small{margin-top:.18rem;color:var(--muted)}.https-check-icon{font-size:1.35rem;text-align:center}.https-check-row.check-critical{border-color:#efb6b0;background:#fff8f7}.https-check-row.check-warning{border-color:#ead690;background:#fffdf5}.config-code{max-width:100%;overflow:auto;margin:.7rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#122019;color:#f1f7f3;white-space:pre-wrap;word-break:break-word}.config-code code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}.setup-steps{display:grid;gap:.55rem;margin:.8rem 0;padding-left:1.4rem}.setup-steps li{padding-left:.25rem}.detail-grid code{overflow-wrap:anywhere}
@media(max-width:760px){.https-status-banner{align-items:stretch;flex-direction:column}.https-status-banner form,.https-status-banner .button{width:100%}.https-check-row{grid-template-columns:34px minmax(0,1fr)}.https-check-row>.pill{grid-column:2;justify-self:start}.config-code{font-size:.78rem}}

/* Cartes d'actions, rubriques longues et champs fichiers/mots de passe. */
.action-grid,.section-selector-grid{display:grid;grid-template-columns:1fr;gap:.75rem}
.action-card,.section-selector-card{display:grid!important;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:.75rem;row-gap:.15rem;align-items:center;padding:1rem;text-decoration:none;color:inherit;min-width:0}
.action-card>span,.section-selector-card>span{grid-row:1/3;font-size:1.55rem;text-align:center}
.action-card>strong,.section-selector-card>strong{display:block;min-width:0}.action-card>small,.section-selector-card>small{display:block;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.section-selector-card.active{outline:2px solid var(--green-500);background:var(--green-050)}
.password-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center}.password-input-wrap input{min-width:0}.password-toggle{min-width:44px;padding:.58rem .7rem}
.file-picker{display:grid;gap:.35rem}.file-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%}.file-picker-name{color:var(--muted);overflow-wrap:anywhere}
.scan-panel video{width:100%;max-height:54vh;min-height:220px;object-fit:cover;background:#0c1710;border-radius:12px}.scan-panel canvas{display:none}
.document-link-row{display:grid;gap:.25rem}.document-link-row small{color:var(--muted)}
@media(min-width:760px){.action-grid,.section-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1050px){.action-grid,.section-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Checklists terrain */
.checklist-library{display:grid;gap:.8rem}.checklist-template-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:1rem;align-items:center}.checklist-template-icon,.checklist-launch-icon{font-size:2.4rem;text-align:center}.checklist-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.badge-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.badge.danger,.result-major{background:#fee2e2;color:#8a1c1c}.result-minor{background:#fff3cd;color:#775b00}.result-ok{background:#dcfce7;color:#166534}.checklist-version.validated{border-left:5px solid #2f855a}.checklist-builder-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;margin:1rem 0}.checklist-definition{display:grid;gap:.55rem}.checklist-section-title{margin:1rem 0 .2rem;padding:.45rem .7rem;border-radius:10px;background:var(--green-050)}.checklist-definition-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.checklist-definition-item small{display:block;color:var(--muted);margin-top:.2rem}.validate-version-box{margin-top:1rem;padding:1rem;border:1px solid #d3b35f;border-radius:12px;background:#fffbea}.checklist-launch-card{max-width:640px;margin-inline:auto;text-align:center}.checklist-start-button,.checklist-finish-button{min-height:54px;font-size:1.05rem}.checklist-run-app{max-width:760px;margin:0 auto}.checklist-run-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.checklist-sticky-progress{position:sticky;top:0;z-index:15;margin:.7rem 0;padding:.65rem .8rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.checklist-progress-meta{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.35rem}.checklist-progress{height:10px;border-radius:999px;background:#e7ece8;overflow:hidden}.checklist-progress>span{display:block;height:100%;width:0;background:var(--green-600);transition:width .2s ease}.checklist-progress>span[data-progress="0"]{width:0}.checklist-progress>span[data-progress="100"]{width:100%}.checklist-step-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.6rem 0}.checklist-run-items{display:grid;gap:1rem}.checklist-run-item{scroll-margin-top:100px;padding:1.1rem;border:2px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(26,55,33,.06)}.checklist-enhanced .checklist-run-item{display:none}.checklist-enhanced .checklist-run-item.is-current{display:block}.checklist-run-section{display:inline-block;margin:0 0 .7rem;padding:.25rem .55rem;border-radius:999px;background:var(--green-050);font-weight:700}.checklist-question-number{font-size:.78rem;color:var(--muted);font-weight:700}.checklist-run-item h2{font-size:1.35rem;line-height:1.25;margin:.35rem 0 .6rem}.checklist-help{padding:.7rem;border-radius:10px;background:#f6f7f6}.checklist-answer-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.answer-tile{min-height:88px;border:2px solid var(--line);border-radius:16px;background:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.answer-tile span{font-size:1.8rem}.answer-yes{border-color:#83c99b}.answer-no{border-color:#e7a2a2}.answer-na{border-color:#c6ccd2}.answer-tile:hover{transform:translateY(-1px)}.response-yes .answer-yes{outline:4px solid rgba(47,133,90,.16);background:#eaf8ef}.response-no .answer-no{outline:4px solid rgba(190,50,50,.13);background:#fff0f0}.response-na .answer-na{outline:4px solid rgba(80,90,100,.11);background:#f2f4f5}.checklist-comment textarea{width:100%}.checklist-save-state{min-height:1.1rem;color:var(--green-700);font-size:.85rem}.checklist-finish{margin-top:1rem}.checklist-result-tiles{grid-template-columns:repeat(3,1fr)}.danger-zone{margin-top:1.5rem}.checklist-archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;padding:.75rem;border-bottom:1px solid var(--line)}.checklist-archive-item small{display:block;color:var(--muted)}.archive-response{font-weight:800}.archive-comment{grid-column:1/-1;margin:.1rem 0;padding:.5rem;border-radius:8px;background:#f7f7f7}
@media(max-width:760px){.checklist-template-card{grid-template-columns:48px minmax(0,1fr)}.checklist-card-actions{grid-column:1/-1}.checklist-builder-grid{grid-template-columns:1fr}.checklist-definition-item{grid-template-columns:1fr}.checklist-run-header{align-items:center}.checklist-run-header h1{font-size:1.35rem}.checklist-answer-tiles{gap:.4rem}.answer-tile{min-height:82px}.checklist-result-tiles{grid-template-columns:1fr}.checklist-step-nav .button{padding:.55rem}.checklist-archive-item{grid-template-columns:1fr auto}}

/* Preuves photo des checklists terrain */
.checklist-evidence{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line)}
.photo-button{display:inline-flex;align-items:center;cursor:pointer}
.checklist-photo-strip{display:flex;gap:.5rem;overflow-x:auto;margin-top:.6rem;padding-bottom:.2rem}
.checklist-photo-strip a{flex:0 0 auto}
.checklist-photo-strip img{width:92px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f4f4f4}
.archive-photos{grid-column:1/-1}.archive-photos img{width:120px;height:90px}
@media(max-width:760px){.checklist-photo-strip img{width:84px;height:68px}.archive-photos img{width:104px;height:78px}}

/* Ressources & Énergies */
.utility-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.utility-facts>div{padding:14px;border:1px solid var(--line,#d7ddd8);border-radius:14px;background:rgba(255,255,255,.5)}.utility-facts small{display:block;margin-bottom:4px}.utility-facts strong{display:block}.utility-meter-card{align-items:flex-start}.grow{flex:1;min-width:0}.meter-read-shell{max-width:680px;margin:0 auto}.meter-read-head{display:flex;gap:16px;align-items:center;margin-bottom:20px}.meter-read-icon{font-size:48px}.meter-read-form{display:grid;gap:14px}.meter-read-field,.meter-index-card,.photo-capture-card{display:grid;gap:8px;padding:16px;border-radius:18px;border:1px solid var(--line,#d7ddd8);background:var(--card,#fff)}.meter-index-card span{font-size:1.05rem;font-weight:800}.meter-index-card input{font-size:1.8rem;font-weight:800;min-height:58px}.photo-capture-card{border-style:dashed}.photo-capture-card input{min-height:48px}.meter-submit{min-height:58px;font-size:1.08rem}.utility-history-row{align-items:flex-start}@media(max-width:700px){.meter-read-shell{margin:-4px}.meter-read-head{align-items:flex-start}.meter-read-icon{font-size:40px}.utility-facts{grid-template-columns:1fr 1fr}.utility-meter-card{padding:14px}.meter-index-card input{font-size:1.6rem}}

/* Workflow administratif Finance. */
.finance-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.finance-status-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f7f8f6)}.finance-status-card strong{font-size:.9rem}.finance-status-card span{font-size:1.05rem;font-weight:700}.finance-status-card.success{border-color:#8bb89e;background:#eef8f1}.finance-status-card.warning{border-color:#d8b65b;background:#fff8df}.finance-warning-row{background:#fff8df!important}.finance-evidence-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.finance-evidence-form{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border:1px dashed var(--border);border-radius:14px}.finance-scan-preview{display:flex;gap:.7rem;align-items:center}.finance-scan-preview img{width:96px;height:96px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--border)}.finance-reconcile-total{display:flex;gap:1rem;flex-wrap:wrap;padding:.65rem .8rem;border-radius:10px;background:var(--surface-soft,#f7f8f6);margin:.7rem 0}.success-text{font-weight:700;color:var(--status-success)}.finance-filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.finance-admin-kpis .card{text-decoration:none;color:inherit}.finance-admin-kpis .card:hover{transform:translateY(-1px)}
@media(max-width:760px){.finance-status-grid,.finance-evidence-actions{grid-template-columns:1fr}.finance-status-card{padding:.85rem}.finance-reconcile-total{flex-direction:column;gap:.25rem}.finance-filter-grid{grid-template-columns:1fr 1fr}.finance-filter-grid .wide{grid-column:1/-1}}
@media(max-width:480px){.finance-filter-grid{grid-template-columns:1fr}}

/* Preuve de livraison et signature tactile. */
.signature-shell{max-width:760px;margin:0 auto}.signature-summary{border-left:5px solid var(--green-600)}.signature-lines{display:grid;gap:.45rem;margin-top:.8rem}.signature-lines>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .65rem;border-radius:10px;background:var(--green-050)}.signature-lines span{color:var(--muted);text-align:right}.signature-client-card form{display:grid;gap:1rem}.signature-reception-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;border:0;padding:0;margin:0}.signature-reception-options legend{font-weight:800;margin-bottom:.45rem}.choice-tile{position:relative;display:grid;place-items:center;gap:.25rem;min-height:92px;padding:.8rem;border:2px solid var(--line);border-radius:15px;background:#fff;text-align:center;cursor:pointer}.choice-tile input{position:absolute;opacity:0}.choice-tile:has(input:checked){border:3px solid var(--selection-accent);background:var(--choice-selected-bg);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--selection-accent) 18%,transparent)}.choice-tile span{font-size:1.6rem}.signature-consent{padding:.8rem;border-radius:12px;background:#f4f6f4;font-size:.92rem;line-height:1.45}.signature-pad-wrap{padding:.8rem;border:1px solid var(--line);border-radius:16px;background:#fafbfa}.signature-pad-heading{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.5rem}.signature-pad-heading span{color:var(--muted);font-size:.85rem}.signature-pad{display:block;width:100%;height:240px;border:2px dashed #8aa391;border-radius:14px;background:#fff;touch-action:none;cursor:crosshair}.signature-submit{min-height:58px;font-size:1.04rem}.signature-exception-card{margin-top:1rem}.delivery-proof-card{border-left:5px solid var(--green-600)}.delivery-proof-card.warning{border-left-color:#d2a93f}.delivery-proof-meta{display:grid;gap:.35rem}.delivery-proof-docs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.delivery-status-line{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.25rem}
@media(max-width:560px){.signature-reception-options{grid-template-columns:1fr 1fr}.signature-pad{height:270px}.signature-lines>div{flex-direction:column;gap:.15rem}.signature-lines span{text-align:left}.signature-pad-heading{flex-direction:column;gap:.2rem}}

.brand-logo{width:55px;height:55px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.50);padding:4px}.auth-logo{display:block;max-width:180px;max-height:92px;object-fit:contain;margin:0 auto 12px}.branding-preview{display:block;max-width:240px;max-height:120px;object-fit:contain;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.stack-cards .card-soft{padding:14px}

/* Picker d’icônes métier central, recherche + favoris + récentes. */
.icon-picker-field{display:flex;min-width:0}.icon-picker-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}.icon-picker-open{display:flex;align-items:center;gap:.65rem;width:100%;min-height:44px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.icon-picker-open:hover,.icon-picker-open:focus-visible{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(36,92,54,.10)}.icon-picker-current-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--green-050);font-size:1.45rem}.icon-picker-open:not(.has-value) .icon-picker-current-icon{filter:grayscale(1);opacity:.65}.icon-picker-dialog{width:min(940px,calc(100vw - 24px));height:min(88vh,820px);height:min(88dvh,820px);max-height:min(88vh,820px);padding:0;border:0;border-radius:20px;background:#fff;color:inherit;box-shadow:0 24px 70px rgba(14,36,22,.28);overflow:hidden}.icon-picker-dialog::backdrop{background:rgba(11,25,16,.52);backdrop-filter:blur(3px)}.icon-picker-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:min(88vh,820px);overflow:hidden}.icon-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .65rem;border-bottom:1px solid var(--line)}.icon-picker-header small{display:block;color:var(--muted);font-weight:700}.icon-picker-header h2{margin:.15rem 0 0;font-size:1.35rem}.icon-picker-search-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}.icon-picker-search{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.1rem .65rem;border:1px solid var(--line);border-radius:12px;background:#fff}.icon-picker-search input{width:100%;min-width:0;border:0!important;box-shadow:none!important;background:transparent}.icon-picker-count{color:var(--muted);font-size:.82rem;white-space:nowrap}.icon-picker-filters{display:flex;gap:.45rem;overflow-x:auto;padding:0 1rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.icon-picker-filter{flex:0 0 auto;min-height:36px;padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:inherit;font:inherit;font-size:.82rem;cursor:pointer}.icon-picker-filter.active{border-color:var(--green-600);background:var(--green-050);color:var(--green-800);font-weight:800}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-auto-rows:minmax(max(104px,6rem),max-content);align-content:start;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:.25rem 1rem 1rem;-webkit-overflow-scrolling:touch}.icon-picker-item{position:relative;min-width:0;min-height:max(104px,6rem);border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.icon-picker-item:hover{border-color:#a7c5ae;box-shadow:0 4px 14px rgba(36,92,54,.08)}.icon-picker-select{display:grid;place-items:center;align-content:center;gap:.3rem;width:100%;height:100%;min-height:max(94px,5.5rem);padding:.65rem .35rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.icon-picker-select small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.15;color:var(--muted);font-size:.72rem}.icon-picker-emoji{font-size:2rem;line-height:1.1}.icon-picker-favorite{position:absolute;top:3px;right:3px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.86);color:#8a7a44;font-size:1.15rem;cursor:pointer}.icon-picker-favorite.active{color:#a66b00;background:#fff4cf}.icon-picker-empty,.icon-picker-loading,.icon-picker-error{grid-column:1/-1;padding:2rem;text-align:center;color:var(--muted)}.icon-picker-error{color:var(--danger-strong-text)}.icon-picker-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:end;padding:.8rem 1rem 1rem;border-top:1px solid var(--line);background:#fbfcfb}.icon-picker-footer label{display:grid;gap:.25rem;min-width:0}.icon-picker-footer input{min-height:42px}.icon-picker-footer .button{min-height:42px}.icon-picker-dialog[open]{animation:icon-picker-in .14s ease-out}@keyframes icon-picker-in{from{opacity:.4;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:640px){.icon-picker-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.icon-picker-panel{height:100dvh;max-height:none}.icon-picker-search-row{align-items:stretch;flex-direction:column}.icon-picker-count{align-self:flex-end}.icon-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(max(112px,6.5rem),max-content);min-height:0;gap:.45rem;padding-inline:.65rem}.icon-picker-select{min-height:max(108px,6.25rem)}.icon-picker-footer{grid-template-columns:1fr 1fr;padding:.65rem}.icon-picker-footer label{grid-column:1/-1}.icon-picker-footer .button{width:100%}.icon-picker-filters{padding-inline:.65rem}.icon-picker-header{padding-inline:.75rem}}
@media(max-width:390px){.icon-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Contrat commun pour les structures historiques encore utilisées par certains écrans. */
.empty-state{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:var(--green-050);text-align:center}
.notice{padding:12px 14px;border:1px solid var(--green-300);border-left:4px solid var(--green-600);border-radius:12px;color:var(--text);background:var(--green-050)}
.stack,.task-list{display:grid;gap:12px}
.button-row,.page-actions,.form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}

.definition-list,.detail-list,.details-grid{display:grid;grid-template-columns:minmax(140px,max-content) minmax(0,1fr);gap:8px 14px}

.subtle{color:var(--muted)}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.check-label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--green-050)}

.button.ghost{background:transparent;box-shadow:none}
@media(max-width:760px){.button-row,.page-actions,.form-actions,.section-head{align-items:stretch;flex-direction:column}.button-row>.button,.page-actions>.button,.form-actions>.button{width:100%}.definition-list,.detail-list,.details-grid{grid-template-columns:1fr}}

/* Ergonomie terrain : tableaux, menu et boutons explicites. */



.button.secondary{background:#fff;color:var(--green-900);border-color:var(--green-500)}
.button.secondary:hover{background:var(--green-050)}
.menu-search{display:grid;gap:.3rem;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.menu-search label{font-size:.78rem;font-weight:800;color:var(--muted)}.menu-search input{width:100%}
.app-menu-links{padding:.5rem}.menu-group{border-bottom:1px solid var(--line)}.menu-group>summary{cursor:pointer;list-style:none;padding:.82rem .55rem;font-weight:850;color:var(--green-900)}.menu-group>summary::-webkit-details-marker{display:none}.menu-group>summary::after{content:"▸";float:right}.menu-group[open]>summary::after{content:"▾"}.menu-group-links{display:grid;gap:.15rem;padding:0 .25rem .65rem}.menu-group[hidden]{display:none}.menu-group-links a[hidden]{display:none}
.paused-work-list{display:grid;gap:.7rem}.paused-work-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.paused-work-card>div{display:grid;gap:.25rem}.resume-work-form{display:flex;align-items:center;gap:.6rem}.resume-work-form details{min-width:180px}.resume-work-form .check-grid{max-height:180px;overflow:auto;padding:.5rem}
.finance-kpi{padding:1rem}.finance-kpi .finance-kpi-label{font-size:.82rem;color:var(--muted);font-weight:800}.finance-kpi strong{font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.1}.finance-kpi small{color:var(--muted)}.finance-kpi.net-positive strong{color:var(--status-success)}.finance-kpi.net-negative strong{color:#9d2d27}.finance-chart{width:100%;height:auto;min-height:220px}.finance-chart text{font-size:11px;fill:currentColor}.finance-account-card strong{font-size:1.35rem;text-align:right}
@media(max-width:640px){.icon-picker-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto}.icon-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(max(112px,6.5rem),max-content);min-height:0;overflow-y:auto}.icon-picker-item{min-height:max(112px,6.5rem);overflow:hidden}.icon-picker-select{min-height:max(108px,6.25rem)}.paused-work-card{grid-template-columns:1fr}.resume-work-form{align-items:stretch;flex-direction:column}.resume-work-form .button{width:100%}}
@media(max-width:520px){.icon-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.form-required-note{margin:0;color:var(--muted);font-size:.78rem;font-weight:700}.field-required-marker{color:var(--danger-strong-text);font-weight:900;margin-left:.2rem}
.transfer-progress{position:fixed;z-index:120;right:1rem;bottom:calc(92px + env(safe-area-inset-bottom));display:grid;gap:.35rem;width:min(360px,calc(100vw - 2rem));padding:.9rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 36px rgba(18,48,27,.2)}.transfer-progress[hidden]{display:none}.transfer-progress progress{width:100%}

/* Finance & Pilotage : hiérarchie KPI et graphique SVG local. */
.finance-kpi-grid{display:grid;gap:1rem;margin-bottom:1rem}
.finance-kpi{display:flex;flex-direction:column;gap:.35rem;min-height:132px;justify-content:center}
.finance-kpi>strong{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.05}
.finance-kpi>span{font-size:.82rem;color:var(--muted,#607268)}
.finance-account-grid{display:grid;gap:.75rem}
.finance-account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .8rem;padding:1rem;border:1px solid var(--border,#d8e1db);border-radius:14px;background:var(--surface,#fff)}
.finance-account-card>strong{font-size:1.35rem;text-align:right}
.finance-account-card>small{grid-column:1/-1;color:var(--muted,#607268)}
.finance-chart-panel{overflow:hidden}
.finance-year-form{margin:0}.finance-year-form label{display:flex;align-items:center;gap:.5rem}
.finance-chart-legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0 .25rem;font-size:.9rem}
.finance-chart-legend span{display:inline-flex;align-items:center;gap:.4rem}
.finance-chart-legend i{width:1rem;height:1rem;border-radius:3px;display:inline-block}
.finance-legend-income,.finance-bar-income{fill:var(--finance-income,#2f7d4a);background:var(--finance-income,#2f7d4a)}
.finance-legend-expense,.finance-bar-expense{fill:var(--finance-expense,#a05a38);background:var(--finance-expense,#a05a38)}
.finance-chart{width:100%;overflow-x:auto;padding:.4rem 0}
.finance-chart svg{display:block;width:100%;min-width:760px;height:auto}
.finance-chart-axis{stroke:currentColor;stroke-opacity:.28;stroke-width:1}
.finance-chart text{font-size:13px;fill:currentColor}
.finance-chart-table{margin-top:.75rem}.finance-chart-table table{min-width:560px}
@media(max-width:520px){.finance-kpi-grid{grid-template-columns:1fr 1fr;gap:.65rem}.finance-kpi{min-height:112px;padding:.85rem}.finance-kpi>strong{font-size:1.35rem}.finance-account-card{grid-template-columns:1fr}.finance-account-card>strong{text-align:left}.finance-chart svg{min-width:720px}}

/* Aide HTTPS et conteneurs de tableaux riches. */
.table-card{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

.config-copy-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.85rem;border:1px solid var(--border,#d8e1db);border-radius:12px;background:var(--surface-muted,#f7faf8)}
.config-copy-row code{overflow-wrap:anywhere;flex:1 1 420px}

/* Lisibilité responsive : une seule GUI, profils typographiques et cibles tactiles. */
:root{--touch-min:44px;--control-min:44px}
html.ui-scale-90{font-size:14.4px}html.ui-scale-100{font-size:16px}html.ui-scale-110{font-size:17.6px}html.ui-scale-120{font-size:19.2px}html.ui-scale-130{font-size:20.8px}
body{font-size:1rem;line-height:1.5}.brand small{font-size:.75rem}.top-nav a,.nav-button{font-size:.8125rem}.footer{font-size:.8rem}.eyebrow{font-size:.75rem!important}.pill,.badge{font-size:.75rem}.pill.large{font-size:.875rem}.identity-panel p{font-size:.875rem}label{font-size:.875rem}.hint{font-size:.875rem}.recipe-card ul{font-size:.875rem}th{font-size:.75rem}.button.small{font-size:.8125rem}.inline-form.compact input{font-size:.875rem}.menu-section-title{font-size:.75rem}.menu-search label{font-size:.8125rem}
.button{min-height:var(--touch-min)}.icon-button{min-width:var(--touch-min);min-height:var(--touch-min)}input,select,textarea{min-height:var(--control-min);font-size:1rem}.app-menu-links a,.menu-group>summary{min-height:var(--touch-min)}
.ui-scale-preview{display:grid;gap:.45rem;max-width:620px;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--green-050)}.ui-scale-preview>span,.ui-scale-preview>small{display:block}.ui-scale-preview>small{color:var(--muted)}.ui-scale-preview .button{justify-self:start}
:focus-visible{outline:3px solid rgba(23,105,170,.32);outline-offset:2px}
@media(max-width:760px){html.ui-scale-90{font-size:16px}html.ui-scale-100{font-size:17px}html.ui-scale-110{font-size:18.5px}html.ui-scale-120{font-size:20px}html.ui-scale-130{font-size:21.5px}body{line-height:1.55}.page-heading h1{font-size:clamp(1.75rem,8vw,2.5rem);line-height:1.08}.page-heading p{line-height:1.5}.panel{padding:16px}.button{min-height:48px;padding:.7rem .9rem}.icon-button{min-width:48px;min-height:48px}input,select,textarea{min-height:48px;font-size:1rem;padding:.7rem .75rem}.check{min-height:44px;align-items:center}.check input,input[type=checkbox],input[type=radio]{width:24px;min-width:24px;height:24px;min-height:24px}.mobile-nav a,.mobile-nav button{font-size:.75rem;min-height:60px;padding:8px 4px}.mobile-nav a span,.mobile-nav button span{font-size:1.45rem}.footer{font-size:.8rem}.hint{font-size:.875rem}.eyebrow{font-size:.75rem!important}th{font-size:.75rem}td{font-size:1rem}.table-card{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.app-menu{width:min(430px,100vw);padding:14px}.app-menu-user{font-size:.9rem}.app-menu-links a,.menu-group>summary{min-height:48px;font-size:1rem}.menu-search label{font-size:.875rem}.menu-search input{font-size:1rem}.actions{gap:.65rem}.ui-scale-preview .button{width:100%}}
@media(pointer:coarse){button,a.button,.icon-button,.app-menu-links a,.menu-group>summary{min-height:44px}}


/* Design system GUI : composants de layout canoniques, sans seconde interface. */
html.ui-scale-140{font-size:22.4px}
html.ui-scale-150{font-size:24px}

/* Thèmes validés : les couleurs métier danger/succès restent sémantiques et contrôlées. */
html.theme-agritrack{--green-950:#103a20;--green-900:#174b2a;--green-700:#26703d;--green-600:#31834a;--green-500:var(--green-600);--green-300:var(--green-100);--green-100:#e7f3ea;--green-050:#f4f9f5;--bg:#edf4ef;--bg-glow:#dcecdf;--surface:#fff;--text:#1d2921;--muted:#68756d;--line:#d9e5dc;--shadow:0 14px 32px rgba(25,69,39,.09);--choice-selected-bg:#dcebdd}
html.theme-olive{--green-950:#323b16;--green-900:#46531d;--green-700:#667b2c;--green-600:#829a39;--green-100:#eef2d8;--green-050:#f8f9ef;--bg:#f1f3e7;--bg-glow:#e5e9cc;--surface:#fff;--text:#272b1d;--muted:#707563;--line:#e0e3cf;--shadow:0 14px 32px rgba(66,78,31,.09);--choice-selected-bg:#e5e9c8}
html.theme-earth{--green-950:#4a2d20;--green-900:#633b29;--green-700:#8b553a;--green-600:#a96a49;--green-100:#f4e5dc;--green-050:#fbf6f2;--bg:#f4eee9;--bg-glow:#eadbd0;--surface:#fff;--text:#30251f;--muted:#786b63;--line:#e7d9d0;--shadow:0 14px 32px rgba(82,49,32,.09);--choice-selected-bg:#f0ddd1}
html.theme-blue{--green-950:#12334d;--green-900:#174766;--green-700:#216891;--green-600:#2c82ad;--green-100:#deeff7;--green-050:#f1f8fb;--bg:#edf4f8;--bg-glow:#d7e8f1;--surface:#fff;--text:#1c2931;--muted:#66747c;--line:#d7e3e9;--shadow:0 14px 32px rgba(27,70,94,.09);--choice-selected-bg:#d6eaf4}
html.theme-contrast{--green-950:#081b10;--green-900:#0e321b;--green-700:#145c2d;--green-600:#1d7a3d;--green-100:#d9f2df;--green-050:#f2faf4;--bg:#f5f7f5;--bg-glow:#dce9df;--surface:#fff;--text:#111;--muted:#4d554f;--line:#b8c3bb;--shadow:0 14px 32px rgba(0,0,0,.12);--choice-selected-bg:#cfead6}

/* Tableau standard : remplit le conteneur. Les seules largeurs minimales sont des modificateurs explicites. */
.table-card{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.table-card>table{width:100%;min-width:100%;border-collapse:collapse}
.table-card.table-wide>table{min-width:48rem}
.table-card.table-very-wide>table{min-width:64rem}

/* KPI standard : 4 → 3 → 2 → 1 selon l'espace disponible. */
.kpi-grid,.finance-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-kpi-grid{display:grid;gap:1rem}
.finance-engagement-kpis,.finance-admin-kpis{margin-bottom:1rem}
.finance-admin-kpis .finance-kpi{color:var(--text);text-decoration:none}

/* Les badges grandissent avec leur contenu et avec l'échelle UI. */
.badge,.pill{max-width:100%;width:max-content;min-width:0;white-space:normal;overflow-wrap:anywhere;flex:0 0 auto}
.section-heading{min-width:0;flex-wrap:wrap}

/* Aperçu local : taille et palette changent sans enregistrer la préférence. */
.ui-scale-preview{overflow:hidden;transition:font-size .12s ease,background .12s ease,border-color .12s ease,color .12s ease}
.ui-scale-preview[data-preview-theme="agritrack"]{--preview-primary:#26703d;--preview-soft:#f4f9f5;--preview-line:#d9e5dc}
.ui-scale-preview[data-preview-theme="olive"]{--preview-primary:#667b2c;--preview-soft:#f8f9ef;--preview-line:#e0e3cf}
.ui-scale-preview[data-preview-theme="earth"]{--preview-primary:#8b553a;--preview-soft:#fbf6f2;--preview-line:#e7d9d0}
.ui-scale-preview[data-preview-theme="blue"]{--preview-primary:#216891;--preview-soft:#f1f8fb;--preview-line:#d7e3e9}
.ui-scale-preview[data-preview-theme="contrast"]{--preview-primary:#145c2d;--preview-soft:#f2faf4;--preview-line:#b8c3bb}
.ui-scale-preview[data-preview-theme]{background:var(--preview-soft);border-color:var(--preview-line)}
.ui-scale-preview[data-preview-theme] .button{border-color:var(--preview-primary)}
.ui-preview-kpi{display:grid;gap:.25em;padding:.75em;border-color:var(--preview-line);box-shadow:none}
.ui-preview-kpi strong{font-size:1.5em;color:var(--preview-primary)}
.ui-preview-kpi small,.ui-preview-kpi span{font-size:.82em}

@media(max-width:1200px){.kpi-grid,.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.kpi-grid,.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.kpi-grid,.finance-kpi-grid{grid-template-columns:1fr}}
@media(max-width:760px){html.ui-scale-140{font-size:23px}html.ui-scale-150{font-size:24.5px}}

/* Rythme vertical, choix terrain, Travail/Finance et pièces jointes. */
.page-flow{display:flex;flex-direction:column;gap:var(--page-section-gap)}
.page-flow>*{min-width:0}.page-flow>.page-heading,.page-flow>.page-head,.page-flow>.two-columns,.page-flow>.three-columns,.page-flow>.kpi-grid,.page-flow>.finance-kpi-grid,.page-flow>.section-gap,.page-flow>.alert,.page-flow>.filter-bar,.page-flow>.search-hero{margin-top:0;margin-bottom:0}
.equipment-list{display:grid;grid-template-columns:1fr;gap:.45rem;margin-top:.55rem}.equipment-option{width:100%;min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--green-050);align-items:flex-start}.equipment-option>span{display:block;min-width:0}.equipment-option strong,.equipment-option small{display:block}.equipment-option small{margin-top:.1rem;color:var(--muted)}
.history-meta{font-weight:700;color:var(--text)!important}.equipment-cost-list{display:grid;gap:.55rem}.equipment-cost-card{display:flex;justify-content:space-between;gap:1rem;padding:.8rem}.equipment-cost-card strong,.equipment-cost-card small{display:block}.equipment-cost-card small{margin-top:.15rem;color:var(--muted)}
.finance-document-kpis{margin-bottom:0}.finance-kpi-compact{display:flex;min-height:110px;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;text-align:center}.finance-kpi-compact small{font-weight:800}.finance-kpi-compact strong{font-size:clamp(1.25rem,2.4vw,1.8rem)}
.finance-file-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:var(--green-050);min-width:0}.finance-file-preview img{width:88px;height:88px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line)}.finance-file-preview-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:10px;background:#fff;font-size:2rem}.finance-file-preview-meta{min-width:0}.finance-file-preview-meta strong,.finance-file-preview-meta small{display:block;min-width:0;overflow-wrap:anywhere}.finance-file-preview-meta small{margin-top:.2rem;color:var(--muted)}
.document-list{display:grid;gap:.65rem}.document-list-item{display:grid;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--green-050)}.document-list-meta{min-width:0}.document-list-meta strong,.document-list-meta small{display:block;overflow-wrap:anywhere}.document-list-meta small{margin-top:.2rem;color:var(--muted)}.document-list-actions{justify-content:flex-start;flex-wrap:wrap}
.finance-bank-line-card{display:grid;gap:.55rem;width:100%;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:13px;background:#fff}.finance-bank-line-card>*{min-width:0}.finance-bank-line-card .actions{justify-content:flex-start;flex-wrap:wrap}.finance-bank-line-card strong,.finance-bank-line-card small{overflow-wrap:anywhere}
.finance-settings-list{display:grid;gap:.75rem}.finance-settings-item{display:grid;gap:.75rem;padding:.85rem}.transfer-progress{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:35;display:grid;gap:.35rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.transfer-progress progress{width:100%}
@media(max-width:760px){.equipment-cost-card{flex-direction:column}.finance-file-preview{grid-template-columns:auto minmax(0,1fr)}.finance-file-preview [data-file-preview-remove]{grid-column:1/-1;width:100%}.document-list-actions .button,.document-list-actions details{flex:1 1 auto}.document-list-actions details .button{width:100%}}


/* Composants repliables et rythme des filtres. */
.form-disclosure{width:100%}
.form-disclosure>summary{color:var(--green-900);list-style-position:inside}
.form-disclosure>summary strong{font-size:1rem}
.form-disclosure[open]>summary{margin-bottom:.85rem}
.form-disclosure-body{display:grid;gap:.85rem}
.filter-grid{margin-bottom:var(--page-section-gap)}
@media(max-width:760px){.form-disclosure>summary{min-height:52px}}

/* Pages dédiées de saisie métier. */
.form-page-shell{width:100%;max-width:980px;margin-inline:auto}
.form-page-card{display:grid;gap:var(--page-section-gap)}
.form-page-actions{justify-content:flex-end;padding-top:.25rem}
.form-page-card .page-heading{margin-bottom:0}
.form-page-card form{min-width:0}
@media(max-width:760px){
  .form-page-shell{max-width:none}
  .form-page-actions{display:grid;grid-template-columns:1fr}
  .form-page-actions>.button,.form-page-actions>button{width:100%;justify-content:center}
}

.filter-disclosure>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;color:var(--green-900);font-weight:850}.filter-disclosure[open]>summary{margin-bottom:.85rem}.filter-disclosure>.filter-grid{margin-bottom:0}
.footer-version-settings{display:grid;gap:.75rem;padding:1rem}.footer-version-settings h3,.footer-version-settings p{margin:0}

/* Stabilisation production : actions de cartes et console d’échange compactes. */
.reference-card-with-action{grid-template-columns:45px minmax(0,1fr);align-items:start}.reference-card-with-action>.reference-card-action{grid-column:1/-1;width:100%}.reference-card-action .button{width:100%}.exchange-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.exchange-action-box{display:grid;gap:.7rem;padding:1rem}.exchange-action-box>.actions{margin-top:auto}.exchange-console select optgroup{font-weight:900}.exchange-console select option{font-weight:500}@media(max-width:760px){.exchange-actions-grid{grid-template-columns:1fr}.reference-card-with-action>.reference-card-action .button{min-height:48px}}

/* Production baseline: comptes admin et valeurs KPI textuelles utilisent les composants centraux sans mise en page implicite. */
.admin-account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.9rem}
.admin-account-copy,.finance-settings-copy{display:grid;gap:.2rem;min-width:0}
.admin-account-copy strong,.admin-account-copy small,.finance-settings-copy strong,.finance-settings-copy small{display:block}
.kpi .kpi-text-value{font-size:clamp(1rem,2vw,1.2rem);line-height:1.2;overflow-wrap:anywhere}
.finance-settings-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}
@media (max-width:700px){.admin-account-card,.finance-settings-item{grid-template-columns:1fr}.admin-account-card>.actions,.finance-settings-item>.actions{width:100%}.admin-account-card>.actions .button,.finance-settings-item>.actions .button{flex:1}}

.csv-format-help{padding:12px 14px;margin-bottom:12px}.csv-format-help summary{cursor:pointer;font-weight:850}.csv-fields-list{display:block;margin-top:8px;white-space:normal;overflow-wrap:anywhere;line-height:1.7}

/* Le détail des mouvements défile dans table_shell sans élargir les panneaux de la série. */
.series-material-columns>.panel{min-width:0}
/* GED : taxonomie de tags et cycle documentaire. */
.tag-picker{display:grid;gap:.6rem}.tag-picker-source{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.tag-picker-chips{display:flex;flex-wrap:wrap;gap:.4rem;min-height:1.8rem}.tag-picker-chip{cursor:pointer}.tag-picker-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;max-height:18rem;overflow:auto;padding:.35rem;border:1px solid var(--line);border-radius:12px;background:var(--green-050)}.tag-picker-result{min-width:0;padding:.65rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:left;cursor:pointer;overflow-wrap:anywhere}.tag-picker-result.selected{border-color:var(--green-600);background:var(--choice-selected-bg);font-weight:800}.workflow-actions{display:grid;gap:.8rem;margin-top:1rem}.workflow-actions form{max-width:760px}[data-controlled-fields]{display:grid;gap:.75rem}
@media(max-width:760px){.tag-picker-results{grid-template-columns:1fr;max-height:22rem}.tag-picker-result{min-height:48px}}

/* GED — accueil bibliothèque : recherche prioritaire, filtres compacts, cartes/liste. */
.documentation-search-panel{padding:1rem}.documentation-search-form{display:grid;gap:.55rem}.documentation-search-label{font-size:.95rem}.documentation-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center}.documentation-search-row input{min-height:48px;font-size:1rem}.documentation-filter-panel{padding:1rem}.documentation-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.documentation-tag-filter{grid-column:span 2}.documentation-filter-actions{align-self:end}.filters-active{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.filter-chip{text-decoration:none}.documentation-status-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.document-status-shortcut{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:54px;padding:.7rem;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);text-decoration:none}.document-status-shortcut strong{font-size:1.15rem}.document-status-shortcut.active{border-color:var(--green-600);background:var(--green-100)}.documentation-results-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:end;margin-bottom:1rem}.documentation-results-controls h2{margin:.1rem 0 0}.documentation-sort-form{display:flex;align-items:end;gap:.45rem}.documentation-sort-form label{min-width:180px}.documentation-view-switch{display:flex;gap:.4rem}.documentation-gallery{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:.85rem}.documentation-gallery .document-card{grid-template-rows:auto 1fr auto;padding:.85rem;background:var(--surface)}.document-card-copy{display:grid;align-content:start;gap:.35rem;min-width:0}.document-card-title{overflow-wrap:anywhere}.document-linked-object{padding:.4rem .5rem;border-radius:9px;background:var(--green-050);overflow-wrap:anywhere}.document-tags{min-height:25px}.document-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:start}.document-card-actions>.button{width:100%}.document-actions-menu{position:relative}.document-actions-menu>summary{list-style:none;cursor:pointer}.document-actions-menu>summary::-webkit-details-marker{display:none}.document-actions-popover{display:grid;gap:.35rem;position:absolute;right:0;z-index:12;width:max-content;min-width:180px;margin-top:.35rem;padding:.55rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.document-actions-popover form{margin:0}.document-actions-popover .button{width:100%}.documentation-list{overflow-x:auto}.documentation-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.documentation-empty{display:grid;gap:.75rem}.documentation-admin-panel details>summary{cursor:pointer;font-weight:850}.documentation-admin-panel .actions{margin-top:.8rem}.documentation-filter-panel .tag-picker-results{max-height:14rem}
@media(max-width:900px){.documentation-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-results-controls{grid-template-columns:1fr auto}.documentation-sort-form{grid-row:2}.documentation-view-switch{grid-column:2;grid-row:2}}
@media(max-width:760px){.documentation-search-row{grid-template-columns:1fr}.documentation-search-row .button{width:100%}.documentation-filter-grid{grid-template-columns:1fr}.documentation-tag-filter{grid-column:auto}.documentation-status-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-results-controls{grid-template-columns:1fr}.documentation-sort-form,.documentation-view-switch{grid-column:1;grid-row:auto;width:100%}.documentation-sort-form label{width:100%}.documentation-view-switch .button{flex:1}.documentation-gallery{grid-template-columns:1fr}.document-card-actions{grid-template-columns:1fr}.document-actions-menu>summary{width:100%}.document-actions-popover{position:static;width:100%}.documentation-pagination{align-items:stretch;flex-direction:column}.documentation-pagination .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-pagination .button{width:100%}}

/* Recherche globale transversale */
.global-search-mini{display:flex;align-items:center;gap:.25rem;min-width:min(18rem,24vw);margin:0}
.global-search-mini input{min-width:0;width:100%;padding:.55rem .7rem}
.menu-global-search{padding:.75rem 1rem;border-bottom:1px solid var(--border)}
.menu-global-search label{display:block;font-weight:700;margin-bottom:.35rem}
.input-action{display:flex;gap:.4rem;align-items:center}
.input-action input{min-width:0;flex:1}
.search-toolbar{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}
.search-toolbar .grow{min-width:min(100%,28rem)}
.search-groups{display:grid;gap:1.25rem}
.search-group h3{margin:0 0 .5rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width: 920px){.global-search-mini{display:none}.search-toolbar{align-items:stretch}.search-toolbar .actions{width:100%}}

/* Tableau de bord de convergence */
.dashboard-essential-kpis{margin-top:0}
.action-item{border-left:3px solid transparent}
.action-critical,.action-overdue{border-left-color:var(--danger, #a62828)}
.action-action,.action-warning{border-left-color:var(--warning, #9a6700)}
.compact-issues{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}

.context-nav{margin-block:.75rem 1rem;flex-wrap:wrap}.context-nav .button{white-space:nowrap}
@media(max-width:720px){.context-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem;scrollbar-width:thin}.context-nav .button{flex:0 0 auto}}

/* Règles de validation GED : le libellé métier garde la place disponible,
   le code technique reste uniquement dans le nom du champ POST. */
.document-policy-grid{display:grid;gap:.65rem}
.document-policy-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:1rem;align-items:center;padding:.75rem .85rem;border:1px solid var(--border);border-radius:11px;min-width:0}
.document-policy-row>strong{min-width:0;overflow-wrap:anywhere}
.document-policy-row .check{margin:0;white-space:nowrap}
@media(max-width:760px){.document-policy-row{grid-template-columns:minmax(0,1fr)}.document-policy-row .check{white-space:normal}}

/* Emblème d'en-tête configurable : la hauteur disponible suit la ligne de marque.
   L'image conserve toujours son ratio, sans cadre ni fond imposé. */
.hero-brand-row{--header-badge-slot:min(8rem,30vw);position:relative;display:flex;align-items:center;width:100%;min-width:0;padding-right:calc(var(--header-badge-slot) + 1rem)}
.hero-brand-row>.brand{min-width:0}
.header-badge-shell{position:absolute;top:0;right:0;bottom:0;display:flex;width:var(--header-badge-slot);min-width:0;align-items:center;justify-content:flex-end}
.header-badge{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;padding:4px;box-sizing:border-box}
@media(max-width:760px){.hero-brand-row{--header-badge-slot:min(5.5rem,28vw);padding-right:calc(var(--header-badge-slot) + .75rem)}.header-badge{border-radius:12px}}
.header-badge-preview{width:180px;max-width:100%;aspect-ratio:3/2;object-fit:contain}

/* Courbes Aide au prix : SVG local, sans dépendance JS graphique. */
.price-year-form{align-items:end}.price-year-form label{min-width:9rem}.price-chart-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.price-chart-heading{display:grid;gap:.55rem}.price-chart-legend{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:var(--muted);font-size:.82rem}.price-chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.price-legend-swatch{display:inline-block;width:1.35rem;height:.22rem;border-radius:999px}.price-chart-scroll{max-width:100%;overflow-x:auto}.price-evolution-chart{display:block;width:100%;min-width:720px;height:auto}.price-chart-axis{stroke:currentColor;stroke-width:1;opacity:.38}.price-chart-grid{stroke:currentColor;stroke-width:1;opacity:.1}.price-chart-label{fill:currentColor;font-size:12px;opacity:.68}.price-series{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.price-point{fill:currentColor;stroke:var(--surface);stroke-width:2}.price-series-0{color:#1769aa}.price-series-1{color:#b6462f}.price-series-2{color:#2f7f49}.price-series-3{color:#7b4aa8}.price-series-4{color:#a06b16}.price-series-5{color:#167f82}.price-series-6{color:#9a3c76}.price-series-7{color:#4e5d68}

/* Sources externes : lien GET et boutons POST gardent exactement la même géométrie. */
.external-profile-actions{display:grid;grid-template-columns:repeat(3,7rem);align-items:stretch;justify-content:start;gap:.55rem}
.external-profile-actions>a,.external-profile-actions>form{display:flex;width:7rem;margin:0}
.external-profile-actions .button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:var(--touch-min);height:100%;margin:0;padding:6px 9px;line-height:1.2;box-sizing:border-box;text-align:center}
.table-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.table-actions .button{min-width:6.4rem}
@media(max-width:760px){.external-profile-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.external-profile-actions>a,.external-profile-actions>form{width:100%;min-width:0}.external-profile-actions .button{width:100%;min-width:0;min-height:48px}.table-actions .button{flex:1 1 auto}}

/* KPI : chaque tuile repose sur le même composant card, avec valeur puis libellé espacés. */
.kpi-grid>.kpi{min-width:0;align-content:start}
.kpi-grid>.kpi>strong{display:block;line-height:1.15;overflow-wrap:anywhere}
.kpi-grid>.kpi>small{display:block;line-height:1.35}
.kpi-grid>.kpi>strong+small{margin-top:.2rem}
@media(max-width:760px){.button,.nav-button,.icon-button{min-height:44px}.icon-button{width:44px;height:44px}}
/* Preset terrain : même interface, densité réduite et actions tactiles renforcées. */
html.ui-terrain .hint,html.ui-terrain .eyebrow{font-size:.9rem}
html.ui-terrain .button{min-height:48px;padding:.78rem 1rem;font-weight:700}
html.ui-terrain input,html.ui-terrain select,html.ui-terrain textarea{min-height:50px}
html.ui-terrain .list-row{padding-block:.9rem}
html.ui-terrain .pill{font-size:.82rem;padding:.35rem .58rem}
html.ui-terrain .detail-grid{gap:.8rem 1rem}
@media(max-width:760px){html.ui-terrain .panel{padding:14px}html.ui-terrain .page-flow{gap:.8rem}html.ui-terrain .hint{line-height:1.45}html.ui-terrain .button{min-height:52px}html.ui-terrain input,html.ui-terrain select,html.ui-terrain textarea{min-height:52px}}
/* Formulaires terrain à divulgation progressive. */
.form-disclosure{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.form-disclosure>summary{cursor:pointer;min-height:48px;padding:.85rem 1rem;font-weight:800;display:flex;align-items:center;background:var(--green-050)}
.form-disclosure-body{padding:1rem}
.form-sticky-actions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:8;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:.7rem;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
@media(min-width:761px){.form-sticky-actions{bottom:12px}}
/* Planning mobile : urgence puis détails, sans table horizontale imposée. */
.planning-needs-mobile{display:none}.planning-secondary>summary{cursor:pointer;font-weight:800;font-size:1.05rem;padding:.35rem 0}
@media(max-width:760px){.planning-needs-mobile{display:grid;gap:.75rem}.planning-needs-table{display:none}.planning-now{order:-1}.planning-secondary:not([open]){padding-bottom:12px}.planning-secondary>summary{min-height:48px;display:flex;align-items:center}.detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
