


.coque{display:grid;grid-template:"haut haut" auto "lat contenu" 1fr "lat pied" auto / 240px 1fr;min-height:480px;background:var(--surface);border:var(--border-width-strong) solid var(--border-color-strong);}
.coque[data-lat="reduite"]{grid-template-columns:56px 1fr;}
.coque[data-lat="masquee"]{grid-template-columns:0 1fr;}
.barre-haute{grid-area:haut;display:flex;align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-4);border-bottom:var(--border-width-strong) solid var(--border-color-strong);background:var(--surface);}
.selecteur-espace{font:700 14px var(--font-sans);color:var(--text-primary);background:var(--surface);border:var(--border-width-hairline) solid var(--border-control);padding:8px 12px;} 
.menu-utilisateur{display:grid;place-items:center;overflow:hidden;width:32px;height:32px;margin-left:auto;background:var(--surface-raised);border:var(--border-width-hairline) solid var(--border-control);font:700 12px var(--font-mono);color:var(--text-primary);cursor:pointer;} 
.lat{grid-area:lat;border-right:var(--border-width-hairline) solid var(--border);background:var(--surface-raised);padding:var(--space-2) 0;overflow:hidden;}
.lat a{display:flex;align-items:center;gap:10px;padding:9px var(--space-4);font:500 14px var(--font-sans);color:var(--text-primary);text-decoration:none;white-space:nowrap;}
.lat a:hover{color:var(--text-accent-raised);}
.lat a[aria-current="page"]{font-weight:700;border-left:var(--border-width-frame) solid var(--accent);padding-left:calc(var(--space-4) - var(--border-width-frame));background:var(--surface);}
.lat .repere{display:grid;place-items:center;width:22px;height:22px;border:var(--border-width-strong) solid var(--border-color-strong);font:700 11px var(--font-mono);flex:none;}
.coque-contenu{grid-area:contenu;padding:var(--space-6);}
.pied-tech{grid-area:pied;display:flex;gap:var(--space-4);padding:10px var(--space-6);border-top:var(--border-width-hairline) solid var(--border);font:400 10px/1.6 var(--font-mono);letter-spacing:0.08em;color:var(--text-secondary);text-transform:uppercase;}


.onglets{display:flex;gap:0;border-bottom:var(--border-width-strong) solid var(--border-color-strong);overflow-x:auto;}
.onglets a{padding:10px 16px;font:700 14px var(--font-sans);color:var(--text-secondary);text-decoration:none;border:var(--border-width-strong) solid transparent;border-bottom:none;white-space:nowrap;}
.onglets a:hover{color:var(--text-accent);}
.onglets a[aria-current="page"]{color:var(--text-primary);border-color:var(--border-color-strong);background:var(--surface);margin-bottom:calc(-1 * var(--border-width-strong));} 
.sous-nav{display:flex;gap:var(--space-4);padding:8px 0;font:400 12px var(--font-mono);letter-spacing:0.08em;text-transform:uppercase;}
.sous-nav a{color:var(--text-secondary);text-decoration:none;}
.sous-nav a[aria-current="true"]{color:var(--text-accent);border-bottom:var(--border-width-strong) solid var(--accent);padding-bottom:2px;}
.ariane{display:flex;align-items:center;gap:8px;font:400 12px var(--font-mono);letter-spacing:0.04em;color:var(--text-secondary);}
.ariane a{color:var(--text-secondary);text-decoration:none;}
.ariane a:hover{color:var(--text-accent);}
.ariane .sep{color:var(--border-control);} 
.pagination{display:flex;gap:4px;align-items:center;font:400 13px var(--font-mono);} 
.pagination a,.pagination span{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;text-decoration:none;color:var(--text-primary);border:var(--border-width-hairline) solid transparent;}
.pagination a:hover{border-color:var(--border-control);}
.pagination [aria-current="page"]{border:var(--border-width-strong) solid var(--border-color-strong);font-weight:700;}
.pagination .ellipse{color:var(--text-secondary);}


.champ{display:flex;flex-direction:column;gap:6px;max-width:360px;}
.champ>label{font:700 13px var(--font-sans);color:var(--text-primary);}
.champ .facultatif{font:400 11px var(--font-mono);color:var(--text-secondary);letter-spacing:0.04em;} 
.champ input[type="text"],.champ input[type="email"],.champ input[type="date"],.champ input[type="password"],.champ input[type="number"],.champ textarea,.champ select{font:500 15px var(--font-sans);color:var(--text-primary);background:var(--surface);border:var(--border-width-hairline) solid var(--border-control);padding:10px 12px;border-radius:var(--radius-none);width:100%;box-sizing:border-box;}
.champ textarea{min-height:88px;resize:vertical;}
.champ input[type="text"],.champ input[type="email"],.champ input[type="date"],.champ input[type="password"],.champ select{height:var(--control-height);}
.champ .aide{font:500 12px var(--font-sans);color:var(--text-secondary);}
.champ .erreur{display:flex;gap:6px;font:700 12px var(--font-sans);color:var(--status-critical-light);}
[data-theme="dark"] .champ .erreur{color:var(--status-critical-dark);}
.champ .erreur::before{content:"";width:10px;height:10px;flex:none;margin-top:3px;background:currentColor;-webkit-mask:url("/assets/icons/ecart-4346570d.svg") center/contain no-repeat;mask:url("/assets/icons/ecart-4346570d.svg") center/contain no-repeat;}
.champ.est-invalide input,.champ.est-invalide textarea{border:var(--border-width-strong) solid var(--status-critical-light);}
[data-theme="dark"] .champ.est-invalide input{border-color:var(--status-critical-dark);}
.champ input[readonly]{background:var(--surface-raised);border-style:dashed;} 
.champ input:disabled,.champ select:disabled{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--border);cursor:not-allowed;}
fieldset.groupe{border:var(--border-width-hairline) solid var(--border);padding:var(--space-4);margin:0;display:flex;flex-direction:column;gap:var(--space-4);}
fieldset.groupe>legend{font:400 11px var(--font-mono);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);padding:0 6px;}
.case,.radio{display:flex;align-items:flex-start;gap:10px;font:500 14px var(--font-sans);color:var(--text-primary);cursor:pointer;}
.case input,.radio input,.carte-radio input{appearance:none;width:18px;height:18px;margin:1px 0 0;border:var(--border-width-strong) solid var(--border-control);background:var(--surface);flex:none;cursor:pointer;border-radius:var(--radius-none);} 
.case input:checked{border-color:var(--border-color-strong);background:var(--surface);box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 18px var(--border-color-strong);}
.radio input:checked,.carte-radio input:checked{border-color:var(--border-color-strong);box-shadow:inset 0 0 0 3.5px var(--surface),inset 0 0 0 18px var(--accent);}
.carte-radio{display:flex;gap:12px;align-items:flex-start;border:var(--border-width-hairline) solid var(--border-control);padding:var(--space-4);cursor:pointer;background:var(--surface);}
.carte-radio:has(input:checked){border:var(--border-width-strong) solid var(--border-color-strong);background:var(--surface-raised);}
.carte-radio .titre{font:700 14px var(--font-sans);}
.carte-radio .detail{font:500 12px var(--font-sans);color:var(--text-secondary);}
.inter{display:inline-flex;align-items:center;gap:10px;font:500 14px var(--font-sans);cursor:pointer;}
.inter input{appearance:none;width:40px;height:22px;margin:0;border:var(--border-width-strong) solid var(--border-control);background:var(--surface);position:relative;cursor:pointer;border-radius:var(--radius-none);flex:none;}
.inter input::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--border-control);transition:transform var(--motion-duree-1) var(--motion-courbe-entree);}
.inter input:checked{border-color:var(--border-color-strong);}
.inter input:checked::after{transform:translateX(18px);background:var(--accent);}
.curseur{accent-color:var(--accent);width:100%;}
.televerse{border:var(--border-width-hairline) dashed var(--border-control);padding:var(--space-4);display:flex;flex-direction:column;gap:8px;font:500 13px var(--font-sans);color:var(--text-secondary);}


.table-dense{width:100%;border-collapse:collapse;font-size:var(--densite-type-rang);background:var(--surface);}
.table-dense th{position:sticky;top:0;background:var(--surface);text-align:left;font:400 11px var(--font-mono);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);padding:var(--densite-cell-y) var(--densite-cell-x);border-bottom:var(--border-width-strong) solid var(--border-color-strong);white-space:nowrap;}
.table-dense th[aria-sort] button{all:unset;cursor:pointer;font:inherit;color:inherit;display:inline-flex;gap:4px;}
.table-dense th[aria-sort="ascending"] button::after{content:"↑";color:var(--text-accent);}
.table-dense th[aria-sort="descending"] button::after{content:"↓";color:var(--text-accent);}
.table-dense td{padding:var(--densite-cell-y) var(--densite-cell-x);border-bottom:var(--border-width-hairline) solid var(--border);height:calc(var(--densite-rang-h) - 2 * var(--densite-cell-y));font-weight:500;color:var(--text-primary);}
.table-dense td.nombre,.table-dense th.nombre{text-align:right;font-family:var(--font-mono);letter-spacing:0;} 
.table-dense tr:hover td{background:var(--surface-raised);}
.table-dense tr[aria-selected="true"] td{background:var(--surface-raised);border-bottom-color:var(--border-control);}
.table-dense tr.est-active td{border-bottom:var(--border-width-strong) solid var(--accent);}
.table-dense tr.est-erreur td:first-child{border-left:var(--border-width-frame) solid var(--status-critical-light);}
[data-theme="dark"] .table-dense tr.est-erreur td:first-child{border-left-color:var(--status-critical-dark);}
.table-dense .col-fixe{position:sticky;left:0;background:var(--surface);}
.rang-deplie{background:var(--surface-raised);font:500 13px var(--font-sans);color:var(--text-secondary);}
.table-vide{border:var(--border-width-hairline) solid var(--border);padding:var(--space-8);text-align:center;}


.toast{display:flex;align-items:center;gap:12px;background:var(--surface);border:var(--border-width-strong) solid var(--border-color-strong);border-left-width:var(--border-width-frame);padding:12px 16px;max-width:420px;font:500 14px var(--font-sans);color:var(--text-primary);}
.toast[data-etat="succes"]{border-left-color:var(--status-success-light);}
.toast[data-etat="critique"]{border-left-color:var(--status-critical-light);}
[data-theme="dark"] .toast[data-etat="succes"]{border-left-color:var(--status-success-dark);}
[data-theme="dark"] .toast[data-etat="critique"]{border-left-color:var(--status-critical-dark);}
.bandeau{display:flex;align-items:center;gap:12px;padding:10px var(--space-4);border:var(--border-width-hairline) solid var(--status-warning-light);font:500 13px var(--font-sans);color:var(--text-primary);background:var(--surface);} 
[data-theme="dark"] .bandeau{border-color:var(--status-warning-dark);}
.dialogue{border:var(--border-width-strong) solid var(--border-color-strong);background:var(--surface);color:var(--text-primary);padding:var(--space-6);max-width:440px;}
.dialogue h3{margin:0 0 6px;font:800 18px var(--font-sans);}
.dialogue p{margin:0 0 var(--space-4);font:500 13px var(--font-sans);color:var(--text-secondary);}
.panneau{border-left:var(--border-width-strong) solid var(--border-color-strong);background:var(--surface);width:320px;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);}
.vide{border:var(--border-width-hairline) dashed var(--border-control);padding:var(--space-8);display:flex;flex-direction:column;gap:10px;align-items:flex-start;} 
.vide .quoi{font:800 16px var(--font-sans);color:var(--text-primary);}
.vide .geste{font:500 13px var(--font-sans);color:var(--text-secondary);}
.squelette{display:flex;flex-direction:column;gap:10px;}
.squelette i{display:block;height:14px;background:repeating-linear-gradient(45deg,var(--surface-raised) 0,var(--surface-raised) 6px,var(--border) 6px,var(--border) 7px);animation:sq var(--motion-duree-3) linear infinite alternate;} 
@keyframes sq{from{opacity:1;}to{opacity:0.45;}}
.page-erreur{border:var(--border-width-strong) solid var(--border-color-strong);background:var(--surface);padding:var(--space-6);overflow:hidden;position:relative;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;}
.page-erreur .code{position:absolute;right:-16px;top:-30px;font:900 230px/0.82 var(--font-sans);letter-spacing:-0.03em;color:var(--border);z-index:0;} .page-erreur .quoi,.page-erreur .geste{position:relative;z-index:1;} 
.page-erreur .quoi{font:800 18px var(--font-sans);margin-top:10px;}
.page-erreur .geste{font:500 13px var(--font-sans);color:var(--text-secondary);margin-top:4px;}


.etat--neutre{color:var(--text-secondary);border-color:var(--border-control);}
.etat--obsolete{color:var(--text-secondary);border-color:var(--border-control);text-decoration:line-through;text-decoration-thickness:1px;}
.renvoi{color:var(--text-tension);font-family:var(--font-mono);text-decoration:none;}
.renvoi:hover{text-decoration:underline;text-decoration-thickness:var(--border-width-strong);}
.carte-dossier .renvoi,.panneau .renvoi{color:var(--text-tension-raised);}
.type-objet{display:grid;place-items:center;width:24px;height:24px;border:var(--border-width-hairline) solid var(--border-control);font:700 12px var(--font-mono);color:var(--text-secondary);background:var(--surface);} 


.chrono{list-style:none;margin:0;padding:0;border-left:var(--border-width-strong) solid var(--border-color-strong);}
.chrono li{position:relative;padding:0 0 var(--space-4) var(--space-6);}
.chrono li::before{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;background:var(--border-color-strong);} 
.chrono li.est-accent::before{background:var(--accent);}
.chrono .quand{font:400 11px var(--font-mono);letter-spacing:0.06em;color:var(--text-secondary);}
.chrono .quoi{font:500 14px var(--font-sans);color:var(--text-primary);}
.journal{font:400 12.5px/1.7 var(--font-mono);background:var(--surface-raised);border:var(--border-width-hairline) solid var(--border);padding:12px 16px;color:var(--text-primary);}
.fraicheur{display:inline-flex;align-items:center;gap:8px;font:400 11px var(--font-mono);letter-spacing:0.04em;color:var(--text-secondary);border:var(--border-width-hairline) solid var(--border);padding:4px 10px;} 
.fraicheur i{width:8px;height:8px;background:var(--status-success-light);flex:none;}
[data-theme="dark"] .fraicheur i{background:var(--status-success-dark);}
.fraicheur[data-etat="figee"] i{background:var(--border-control);}
.arrivee{border-left:var(--border-width-frame) solid var(--accent);animation:arr var(--motion-duree-3) var(--motion-courbe-sortie) forwards;} 
@keyframes arr{to{border-left-color:var(--border);}}
.progression{height:8px;border:var(--border-width-hairline) solid var(--border-control);background:var(--surface);position:relative;}
.progression>i{position:absolute;inset:0;background:var(--accent);width:var(--valeur,40%);}
.progression.indeterminee>i{width:auto;background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 8px,transparent 8px,transparent 14px);animation:ind var(--motion-duree-3) linear infinite;} 
@keyframes ind{from{background-position:0 0;}to{background-position:14px 0;}}


@media (max-width:640px){
 .coque{grid-template:"haut" auto "contenu" 1fr "pied" auto / 1fr;}
 .coque .lat{display:none;}
 .barre-haute{gap:var(--space-2);}
 .selecteur-espace{max-width:38vw;}
 .ariane,.pagination,.fraicheur{flex-wrap:wrap;}
 .panneau{width:auto;max-width:100%;box-sizing:border-box;}
 .dialogue{max-width:100%;box-sizing:border-box;}
}


.onglets{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;} 
.onglets>a{flex:none;}
.conteneur-table{overflow-x:auto;max-width:100%;} 
.table-dense{min-width:499px;}
