/**
 * Projet         : MageTicket
 * Fichier        : public/assets/css/ldap.css
 * Rôle           : Centre accessible de l’annuaire d’entreprise, des règles d’attribution et des importations.
 * Auteur         : Régis KREMER
 * Version        : 0.33.8
 * Version projet : 0.33.0
 * Lot            : MAGETICKET IDENTITY ROLE CATALOG HUMAN GUIDANCE SEGREGATION1
 * Base requise   : 0.33.0 + MAGETICKET AUTOMATIONS VISUAL UX FUNCTIONAL COMPLETION1
 * Créé le        : 2026-07-21
 * Modifié le     : 2026-07-24
 * Dépendances    : app.css, components.css, identity.css et governance.css
 * Contraintes    : aucun shell local, aucun secret réaffiché, contraste AA, bord à bord mobile/tablette
 * Modifications  : séparation visuelle et accessible des profils principaux et responsabilités LDAP.
 */

.ldap-shell{
    width:100%;min-width:0;min-height:100%;display:flex;flex-direction:column;gap:var(--space-2);
    padding:0;background:transparent;color:var(--text)
}
.ldap-shell [hidden]{display:none!important}
.ldap-nav{
    min-width:0;display:flex;align-items:stretch;gap:var(--space-2);padding:0 var(--space-3);
    border:0;border-bottom:1px solid var(--line);background:var(--surface)
}
.ldap-tablist{min-width:0;display:flex;align-items:stretch;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.ldap-tablist button,.ldap-nav-link{
    min-height:48px;padding:0 var(--space-3);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
    border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;
    font-size:var(--fs-sm);font-weight:var(--fw-label);text-decoration:none;white-space:nowrap;cursor:pointer
}
.ldap-tablist button:hover,.ldap-nav-link:hover{background:var(--surface-soft);color:var(--text)}
.ldap-tablist button.is-active,.ldap-tablist button[aria-selected="true"]{
    border-bottom-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:var(--text)
}
.ldap-tablist button:focus-visible,.ldap-nav-link:focus-visible{
    outline:3px solid color-mix(in srgb,var(--brand) 42%,transparent);outline-offset:-3px
}
.ldap-nav-link{margin-left:auto;border-left:1px solid var(--line)}
.ldap-content{
    width:100%;min-width:0;min-height:0;display:block;padding:var(--space-3) var(--space-4) max(var(--space-4),var(--safe-bottom));overflow:visible
}
.ldap-content>[role="tabpanel"]{width:100%;min-width:0;display:grid;gap:var(--space-3)}
.ldap-content>[role="tabpanel"]:focus{outline:none}

.ldap-section-header{
    min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:0
}
.ldap-section-header>div{min-width:0}
.ldap-section-header>div>span,.ldap-panel .panel-eyebrow{
    margin:0;color:var(--brand);font-size:var(--fs-xs);font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.ldap-section-header h2{margin:var(--space-1) 0 0;font-size:clamp(1.55rem,2.1vw,2.35rem);line-height:1.08;letter-spacing:-.035em}
.ldap-section-header p{max-width:780px;margin:var(--space-1) 0 0;color:var(--muted);line-height:1.5}

.ldap-alert{
    margin:0;padding:var(--space-3);display:grid;gap:var(--space-1);border:1px solid var(--line-strong);border-left-width:4px;
    background:var(--surface);color:var(--text)
}
.ldap-alert.error{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--surface))}
.ldap-alert.success{border-left-color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--surface))}
.ldap-alert.warning{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 9%,var(--surface))}
.ldap-alert.info{border-left-color:var(--info);background:color-mix(in srgb,var(--info) 8%,var(--surface))}
.ldap-alert span,.ldap-alert li{color:var(--muted);line-height:1.45}
.ldap-alert ul{margin:0;padding-left:var(--space-4)}

.ldap-kpis{
    display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:1px;border:1px solid var(--line);background:var(--line)
}
.ldap-kpis button{
    min-width:0;min-height:108px;padding:var(--space-3);display:grid;align-content:start;gap:var(--space-1);border:0;
    background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer
}
.ldap-kpis button:hover{background:var(--surface-soft)}
.ldap-kpis button:focus-visible{position:relative;z-index:1;outline:3px solid var(--brand);outline-offset:-3px}
.ldap-kpis span,.ldap-kpis small{color:var(--muted)}
.ldap-kpis span{font-size:var(--fs-sm);font-weight:var(--fw-label)}
.ldap-kpis strong{font-size:var(--fs-2xl);line-height:1;font-variant-numeric:tabular-nums}
.ldap-kpis small{line-height:1.35}

.ldap-overview-grid,.ldap-two-columns{min-width:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:var(--space-3)}
.ldap-mapping-workspace{min-width:0;display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:var(--space-3);align-items:start}
.ldap-panel{
    min-width:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden
}
.ldap-panel>header{
    min-height:58px;padding:var(--space-3);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);
    border-bottom:1px solid var(--line);background:var(--surface-2)
}
.ldap-panel>header h3,.ldap-panel>header h2{margin:var(--space-1) 0 0;font-size:var(--fs-md);line-height:1.25}
.ldap-panel>header p:not(.panel-eyebrow){margin:var(--space-1) 0 0;color:var(--muted);line-height:1.45}
.ldap-panel>header+*{margin:0}
.ldap-panel>.ldap-form,.ldap-panel>.ldap-directory-list,.ldap-panel>.ldap-directory-cards,.ldap-panel>.ldap-rule-list,
.ldap-panel>.ldap-run-list,.ldap-panel>.ldap-diagnostic-list,.ldap-panel>.ldap-sync-actions,.ldap-panel>.ldap-empty,
.ldap-panel>.ldap-policy-list,.ldap-panel>.ldap-environment{padding:var(--space-3)}

.ldap-policy-list{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;list-style:none;background:var(--line)}
.ldap-policy-list li{min-width:0;padding:var(--space-3);display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-2);background:var(--surface)}
.ldap-policy-list i{color:var(--brand);font-size:var(--fs-lg)}
.ldap-policy-list strong,.ldap-policy-list span{display:block}
.ldap-policy-list span{margin-top:var(--space-1);color:var(--muted);font-size:var(--fs-sm);line-height:1.45}
.ldap-environment{display:grid;gap:var(--space-2)}
.ldap-environment p{margin:0;display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-2);color:var(--muted);line-height:1.45}
.ldap-environment i{color:var(--brand)}

.ldap-directory-list,.ldap-directory-cards,.ldap-rule-list,.ldap-run-list,.ldap-diagnostic-list{display:grid;gap:var(--space-2)}
.ldap-directory-list article,.ldap-directory-cards article,.ldap-rule-list article,.ldap-run-list article,.ldap-diagnostic-list article{
    min-width:0;border:1px solid var(--line);background:var(--surface)
}
.ldap-directory-list article{
    padding:var(--space-3);display:grid;grid-template-columns:minmax(230px,.85fr) minmax(360px,1.2fr) auto;align-items:center;gap:var(--space-3)
}
.ldap-source-identity{min-width:0;display:grid;grid-template-columns:14px minmax(0,1fr);align-items:start;column-gap:var(--space-2)}
.ldap-source-identity .status-dot{margin-top:6px}
.ldap-source-identity h3,.ldap-source-identity strong{margin:0;overflow-wrap:anywhere}
.ldap-source-identity small{display:block;margin-top:var(--space-1);color:var(--muted);line-height:1.35}
.ldap-directory-list dl{min-width:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.ldap-directory-list dl>div{min-width:0;padding:var(--space-2);background:var(--surface-soft)}
.ldap-directory-list dt,.ldap-detail-grid dt,.ldap-run-summary dt{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-label)}
.ldap-directory-list dd,.ldap-detail-grid dd,.ldap-run-summary dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}
.ldap-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap}
.ldap-row-actions form{margin:0}
.ldap-row-actions .text-action,.ldap-row-actions button{
    min-height:36px;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);
    border:1px solid var(--line-strong);border-radius:var(--r-ctrl);background:var(--surface);color:var(--text);
    font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-label);text-decoration:none;cursor:pointer
}
.ldap-row-actions .text-action:hover,.ldap-row-actions button:hover{border-color:var(--brand);background:var(--surface-soft)}
.ldap-row-actions .subtle-danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--line-strong));color:var(--danger)}

.ldap-directory-cards article,.ldap-rule-list article,.ldap-run-list article,.ldap-diagnostic-list article{padding:var(--space-3)}
.ldap-directory-cards article>header,.ldap-rule-list article>header,.ldap-run-list article>header,.ldap-diagnostic-list article>header{
    display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)
}
.ldap-directory-cards h3,.ldap-rule-list h3,.ldap-run-list h3,.ldap-diagnostic-list h3{margin:0;font-size:var(--fs-md)}
.ldap-directory-cards p,.ldap-rule-list p,.ldap-run-list p,.ldap-diagnostic-list p{margin:var(--space-2) 0 0;color:var(--muted);line-height:1.45}
.ldap-technical-details,.ldap-advanced{margin-top:var(--space-3);border:1px solid var(--line);background:var(--surface-soft)}
.ldap-technical-details summary,.ldap-advanced summary{
    min-height:44px;padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2);
    color:var(--text);font-weight:var(--fw-label);cursor:pointer
}
.ldap-technical-details[open] summary,.ldap-advanced[open] summary{border-bottom:1px solid var(--line)}
.ldap-technical-details>*:not(summary),.ldap-advanced>*:not(summary){padding:var(--space-3)}
.ldap-detail-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.ldap-detail-grid dl{min-width:0;margin:0;padding:var(--space-2);background:var(--surface)}

.ldap-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
.ldap-form label,.ldap-step label,.ldap-sync-actions label{
    min-width:0;display:grid;gap:var(--space-1);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-label)
}
.ldap-form label>small,.ldap-step label>small{color:var(--muted);font-weight:var(--fw-body);line-height:1.45}
.ldap-form input,.ldap-form select,.ldap-form textarea,.ldap-step input,.ldap-step select,.ldap-step textarea,.ldap-sync-actions select{
    width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-ctrl);
    background:var(--surface);color:var(--text);font:inherit
}
.ldap-form textarea,.ldap-step textarea{min-height:92px;resize:vertical;line-height:1.45}
.ldap-form select[multiple],.ldap-step select[multiple]{min-height:132px;padding:var(--space-1)}
.ldap-form input:hover,.ldap-form select:hover,.ldap-form textarea:hover,.ldap-step input:hover,.ldap-step select:hover,.ldap-step textarea:hover{
    border-color:color-mix(in srgb,var(--brand) 52%,var(--line-strong))
}
.ldap-form input:focus,.ldap-form select:focus,.ldap-form textarea:focus,.ldap-step input:focus,.ldap-step select:focus,.ldap-step textarea:focus,
.ldap-sync-actions select:focus{
    outline:3px solid color-mix(in srgb,var(--brand) 38%,transparent);outline-offset:1px;border-color:var(--brand)
}
.form-pair,.attribute-grid,.server-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.server-grid>fieldset{min-width:0;margin:0;padding:var(--space-3);display:grid;gap:var(--space-3);border:1px solid var(--line);background:var(--surface-soft)}
.server-grid>fieldset>legend{padding:0 var(--space-1);font-weight:var(--fw-label)}
.full{grid-column:1/-1}
.check-row{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;gap:var(--space-2)!important;font-weight:var(--fw-body)!important;line-height:1.45}
.check-row input{width:20px!important;min-width:20px!important;min-height:20px!important;margin-top:1px;accent-color:var(--brand)}

.ldap-advanced-permissions{display:grid;gap:var(--space-2)}
.ldap-permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.ldap-permission-groups fieldset{min-width:0;margin:0;padding:var(--space-3);display:grid;gap:var(--space-2);border:1px solid var(--line);background:var(--surface-soft)}
.ldap-permission-groups legend{padding:0 var(--space-1);font-weight:800}
.ldap-permission-groups small{display:block;color:var(--muted);font-weight:var(--fw-body)}
.ldap-choice-help{
    padding:var(--space-3);display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-2);
    border-left:3px solid var(--brand);background:var(--surface-soft);color:var(--muted);line-height:1.45
}
.ldap-choice-help i{color:var(--brand);font-size:var(--fs-lg)}

.ldap-rule-list article,.ldap-run-list article,.ldap-diagnostic-list article{display:grid;gap:var(--space-2)}
.ldap-rule-list small,.ldap-run-list small,.ldap-diagnostic-list small{color:var(--muted);overflow-wrap:anywhere}
.ldap-sync-actions{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}
.ldap-sync-actions form{min-width:min(100%,520px);display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}
.ldap-sync-actions label{flex:1 1 260px}
.ldap-run-summary{min-width:0;display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.ldap-run-summary dl{min-width:0;margin:0;padding:var(--space-2);background:var(--surface-soft)}
.ldap-run-summary dd{font-size:var(--fs-lg);font-weight:800;font-variant-numeric:tabular-nums}
.ldap-checks{margin:0;padding:0;display:grid;list-style:none}
.ldap-checks li{min-width:0;padding:var(--space-2) 0;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:var(--space-2);border-top:1px solid var(--line)}
.ldap-checks li:first-child{border-top:0}
.ldap-checks strong,.ldap-checks small{display:block}
.ldap-checks small,.ldap-checks em{color:var(--muted);font-style:normal}
.status-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);margin-top:5px}
.status-dot.active,.status-dot.passed,.status-dot.applied{background:var(--success)}
.status-dot.warning,.status-dot.draft,.status-dot.simulated{background:var(--warning)}
.status-dot.failed,.status-dot.error,.status-dot.disabled,.status-dot.rolled_back{background:var(--danger)}

.ldap-empty{min-height:160px;display:grid;place-content:center;justify-items:center;gap:var(--space-2);text-align:center;border:1px dashed var(--line-strong);background:var(--surface-soft);color:var(--muted)}
.ldap-empty strong{color:var(--text);font-size:var(--fs-md)}
.ldap-empty.compact{min-height:100px}

.ldap-wizard[hidden]{display:none!important}
.ldap-wizard{
    position:fixed;inset:0;z-index:240;display:grid;place-items:center;
    padding:max(var(--space-3),var(--safe-top)) max(var(--space-3),var(--safe-right)) max(var(--space-3),var(--safe-bottom)) max(var(--space-3),var(--safe-left))
}
.ldap-wizard-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bg-deep) 78%,transparent);backdrop-filter:blur(5px)}
.ldap-wizard-dialog{
    position:relative;width:min(1120px,100%);max-height:calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)));
    display:grid;grid-template-rows:auto 4px auto minmax(0,1fr);border:1px solid var(--line-strong);border-radius:var(--r-lg);
    background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-3);overflow:hidden
}
.ldap-wizard-dialog>header{min-height:64px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line)}
.ldap-wizard-dialog>header small{display:block;color:var(--muted)}
.ldap-wizard-dialog>header h2{margin:var(--space-1) 0 0;font-size:var(--fs-xl)}
.ldap-wizard-dialog>header .icon-button{min-width:44px;min-height:44px}
.ldap-wizard-progress{background:var(--surface-3)}
.ldap-wizard-progress span{display:block;width:20%;height:4px;background:var(--brand);transition:width var(--dur-2) var(--ease)}
.ldap-wizard-progress ol{margin:0;padding:0 var(--space-4);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;border-bottom:1px solid var(--line);background:var(--surface-2)}
.ldap-wizard-progress li{min-width:0;padding:var(--space-2);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-label);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldap-wizard-progress li.is-active{color:var(--text);background:color-mix(in srgb,var(--brand) 8%,var(--surface-2));box-shadow:inset 0 -3px 0 var(--brand)}
.ldap-wizard-progress li.is-complete{color:var(--success)}
.ldap-wizard-dialog>form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden}
.ldap-step{min-width:0;margin:0;padding:var(--space-4);border:0;overflow:auto;overscroll-behavior:contain}
.ldap-step>legend{width:100%;margin:0 0 var(--space-2);padding:0;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:800;letter-spacing:-.025em}
.ldap-step>p{max-width:820px;margin:0 0 var(--space-4);color:var(--muted);line-height:1.5}
.ldap-step>.ldap-form,.ldap-step>.server-grid{margin-top:var(--space-3)}
.ldap-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.ldap-summary dl{min-width:0;margin:0;padding:var(--space-3);background:var(--surface)}
.ldap-summary dt{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em}
.ldap-summary dd{margin:var(--space-1) 0 0;font-weight:var(--fw-label);overflow-wrap:anywhere}
.ldap-test-grid{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}
.ldap-test-grid article{min-width:0;padding:var(--space-3);display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-1) var(--space-2);border:1px solid var(--line);background:var(--surface-soft)}
.ldap-test-grid i{grid-row:1/3;color:var(--brand);font-size:var(--fs-xl)}
.ldap-test-grid strong,.ldap-test-grid span{min-width:0}
.ldap-test-grid span{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}
.ldap-wizard-errors{min-height:0;margin:0 var(--space-4);color:var(--danger);font-weight:var(--fw-label)}
.ldap-wizard-errors:not(:empty){margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--danger);background:var(--danger-soft)}
.ldap-wizard-dialog footer{min-height:64px;padding:var(--space-2) var(--space-4);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);border-top:1px solid var(--line);background:var(--surface-raised)}
.ldap-wizard-dialog footer [data-ldap-step-label]{color:var(--muted);font-size:var(--fs-sm);text-align:center}
body.ldap-modal-open{overflow:hidden}

@media (max-width:1280px){
    .ldap-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}
    .ldap-kpis button:nth-child(n+4){min-height:96px}
    .ldap-directory-list article{grid-template-columns:minmax(220px,.75fr) minmax(300px,1fr)}
    .ldap-directory-list article>.ldap-row-actions{grid-column:1/-1;justify-content:flex-start}
    .ldap-run-summary{grid-template-columns:repeat(3,minmax(100px,1fr))}
}
@media (max-width:980px){
    .ldap-content{padding:var(--space-3)}
    .ldap-section-header{align-items:flex-start;flex-direction:column}
    .ldap-overview-grid,.ldap-two-columns,.ldap-mapping-workspace{grid-template-columns:1fr}
    .ldap-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ldap-directory-list article{grid-template-columns:1fr}
    .ldap-directory-list dl{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ldap-row-actions{justify-content:flex-start}
    .ldap-permission-groups{grid-template-columns:1fr}
    .ldap-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
    .ldap-shell{gap:0}
    .ldap-nav{position:sticky;top:0;z-index:8;padding:0 max(var(--space-2),var(--safe-right)) 0 max(var(--space-2),var(--safe-left));gap:0}
    .ldap-tablist{width:100%}
    .ldap-tablist button,.ldap-nav-link{min-height:var(--touch-target);padding-inline:var(--space-3)}
    .ldap-nav-link{display:none}
    .ldap-content{padding:var(--space-2) max(var(--space-2),var(--safe-right)) max(calc(var(--shell-mobile-nav-height) + var(--space-3)),var(--safe-bottom)) max(var(--space-2),var(--safe-left))}
    .ldap-content>[role="tabpanel"]{gap:var(--space-2)}
    .ldap-section-header{padding:var(--space-2) 0}
    .ldap-section-header .button{width:100%}
    .ldap-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ldap-kpis button{min-height:100px;padding:var(--space-2)}
    .ldap-kpis button:last-child{grid-column:1/-1}
    .ldap-panel{border-inline:0;border-radius:0;box-shadow:none}
    .ldap-panel>header{padding:var(--space-3) var(--space-2)}
    .ldap-panel>.ldap-form,.ldap-panel>.ldap-directory-list,.ldap-panel>.ldap-directory-cards,.ldap-panel>.ldap-rule-list,
    .ldap-panel>.ldap-run-list,.ldap-panel>.ldap-diagnostic-list,.ldap-panel>.ldap-sync-actions,.ldap-panel>.ldap-empty,
    .ldap-panel>.ldap-policy-list,.ldap-panel>.ldap-environment{padding:var(--space-2)}
    .ldap-policy-list{grid-template-columns:1fr}
    .form-pair,.attribute-grid,.server-grid,.ldap-summary,.ldap-test-grid{grid-template-columns:1fr}
    .ldap-directory-list dl,.ldap-detail-grid,.ldap-run-summary{grid-template-columns:1fr}
    .ldap-sync-actions form{width:100%;min-width:0;display:grid;grid-template-columns:1fr}
    .ldap-sync-actions .button{width:100%}
    .ldap-wizard{padding:0}
    .ldap-wizard-dialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0;grid-template-rows:auto 4px auto minmax(0,1fr)}
    .ldap-wizard-dialog>header{padding:max(var(--space-2),var(--safe-top)) max(var(--space-3),var(--safe-right)) var(--space-2) max(var(--space-3),var(--safe-left))}
    .ldap-wizard-progress ol{padding:0;overflow-x:auto;scroll-snap-type:x mandatory}
    .ldap-wizard-progress li{min-width:138px;scroll-snap-align:start}
    .ldap-step{padding:var(--space-3) max(var(--space-3),var(--safe-right)) var(--space-3) max(var(--space-3),var(--safe-left))}
    .ldap-wizard-errors{margin-inline:max(var(--space-3),var(--safe-left))}
    .ldap-wizard-dialog footer{padding:var(--space-2) max(var(--space-3),var(--safe-right)) max(var(--space-2),var(--safe-bottom)) max(var(--space-3),var(--safe-left));grid-template-columns:1fr 1fr}
    .ldap-wizard-dialog footer [data-ldap-step-label]{grid-column:1/-1;grid-row:1}
    .ldap-wizard-dialog footer .button{width:100%}
}
@media (max-width:460px){
    .ldap-kpis{grid-template-columns:1fr}
    .ldap-kpis button:last-child{grid-column:auto}
    .ldap-wizard-dialog footer{grid-template-columns:1fr}
    .ldap-wizard-dialog footer [data-ldap-step-label]{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
    .ldap-shell *,.ldap-wizard *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media (forced-colors:active){
    .ldap-nav,.ldap-panel,.ldap-kpis,.ldap-kpis button,.ldap-directory-list article,.ldap-directory-cards article,
    .ldap-rule-list article,.ldap-run-list article,.ldap-diagnostic-list article,.ldap-wizard-dialog,.ldap-test-grid article,
    .ldap-form input,.ldap-form select,.ldap-form textarea,.ldap-step input,.ldap-step select,.ldap-step textarea{border:1px solid CanvasText}
    .status-dot{border:1px solid CanvasText}
}
@media print{
    .ldap-nav,.ldap-section-header .button,.ldap-row-actions,.ldap-wizard,.app-shell-topbar,.app-shell-sidebar,.app-shell-mobile-navigation,.app-shell-footer{display:none!important}
    .ldap-content{padding:0}
    .ldap-panel,.ldap-kpis button{box-shadow:none;break-inside:avoid}
}

/* --------------------------------------------------------------------------
   FIX2 — cohérence visuelle MageTicket de l’annuaire d’entreprise
   -------------------------------------------------------------------------- */
.ldap-shell{gap:0;background:var(--bg)}
.ldap-nav{
    min-height:54px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:var(--space-2);
    padding:7px var(--space-4);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--surface-soft);
}
.ldap-tablist{
    min-width:0;
    display:flex;
    gap:1px;
    overflow-x:auto;
    border:1px solid var(--line);
    border-radius:var(--r-sm);
    background:var(--line);
}
.ldap-tablist button{
    min-height:38px;
    flex:0 0 auto;
    padding:7px var(--space-3);
    border:0;
    border-bottom:2px solid transparent;
    border-radius:0;
    background:var(--surface);
    color:var(--muted);
    font-size:var(--fs-sm);
    font-weight:700;
}
.ldap-tablist button:hover{background:var(--surface-raised);color:var(--text)}
.ldap-tablist button:is(.is-active,[aria-selected="true"]){
    border-bottom-color:var(--brand);
    background:var(--surface-raised);
    color:var(--text);
}
.ldap-tablist button:focus-visible{position:relative;z-index:2;outline:3px solid var(--focus);outline-offset:-3px}
.ldap-nav-link{
    min-height:40px;
    margin:0;
    padding:0 var(--space-3);
    border:1px solid var(--line-strong);
    border-radius:var(--r-ctrl);
    background:var(--surface);
    color:var(--text);
    font-size:var(--fs-sm);
    font-weight:700;
}
.ldap-nav-link:hover{border-color:var(--brand-strong);background:var(--surface-raised);color:var(--brand-strong)}
.ldap-nav-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ldap-content{padding:var(--space-4) var(--space-4) max(var(--space-5),var(--safe-bottom))}
.ldap-content>[role="tabpanel"]{gap:var(--space-4)}
.ldap-kpis{gap:var(--space-2);border:0;background:transparent}
.ldap-kpis button{
    min-height:96px;
    border:1px solid var(--line);
    border-radius:var(--r-sm);
    background:var(--surface);
    box-shadow:var(--shadow-1);
}
.ldap-kpis button:hover{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));background:var(--surface-raised);box-shadow:var(--shadow-2)}
.ldap-kpis span{color:var(--brand-strong)}
.ldap-panel,.ldap-directory-list article,.ldap-directory-cards article,.ldap-rule-list article,.ldap-run-list article,.ldap-diagnostic-list article{
    border-color:var(--line-strong);
    border-radius:var(--r-sm);
    box-shadow:var(--shadow-1);
}
.ldap-panel>header{background:var(--surface-soft)}
.ldap-form input,.ldap-form select,.ldap-form textarea,.ldap-step input,.ldap-step select,.ldap-step textarea,.ldap-sync-actions select{
    min-height:42px;
    padding:9px 11px;
    border-color:var(--line-strong);
    border-radius:var(--r-ctrl);
    background-color:var(--surface-raised);
    color:var(--text);
    line-height:1.35;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 72%,transparent);
}
.ldap-shell select:not([multiple]),.ldap-wizard select:not([multiple]){
    appearance:none;
    padding-right:36px;
    background-image:
        linear-gradient(45deg,transparent 50%,var(--muted) 50%),
        linear-gradient(135deg,var(--muted) 50%,transparent 50%);
    background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
}
.ldap-shell :is(input,select,textarea):hover,.ldap-wizard :is(input,select,textarea):hover{
    border-color:color-mix(in srgb,var(--brand) 48%,var(--line-strong));
    background-color:var(--surface);
}
.ldap-shell :is(input,select,textarea):focus,.ldap-wizard :is(input,select,textarea):focus{
    border-color:var(--brand);
    outline:3px solid var(--focus);
    outline-offset:1px;
    background-color:var(--surface);
    box-shadow:none;
}
.ldap-shell :is(input,select,textarea):disabled,.ldap-wizard :is(input,select,textarea):disabled{
    opacity:.62;
    cursor:not-allowed;
    background-color:var(--surface-soft);
}
.ldap-row-actions .text-action,.ldap-row-actions button{
    background:var(--surface-raised);
}
.ldap-sync-actions{
    padding:var(--space-3);
    border:1px solid var(--line-strong);
    border-radius:var(--r-sm);
    background:var(--surface);
    box-shadow:var(--shadow-1);
}
.ldap-wizard-dialog{
    border-color:var(--line-strong);
    border-radius:var(--r-sm);
}
@media(max-width:960px){
    .ldap-nav{grid-template-columns:1fr;padding-inline:var(--space-3)}
    .ldap-nav-link{justify-self:start}
}
@media(max-width:760px){
    .ldap-nav{position:static;margin:0;padding:7px max(var(--space-2),var(--safe-right)) 7px max(var(--space-2),var(--safe-left))}
    .ldap-tablist{border-inline:0;border-radius:0}
    .ldap-nav-link{display:flex;width:100%;justify-content:center}
    .ldap-content{padding:var(--space-3) max(var(--space-2),var(--safe-right)) max(calc(var(--shell-mobile-nav-height) + var(--space-4)),var(--safe-bottom)) max(var(--space-2),var(--safe-left))}
}


/* Profils principaux et responsabilités LDAP — lot 0.33.8 */
.ldap-role-assignment{display:grid;gap:var(--space-2);margin:0;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-soft)}
.ldap-role-assignment>legend,.ldap-responsibility-choice>legend{padding:0 6px;color:var(--text);font-weight:800}
.ldap-role-assignment>p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}
.ldap-responsibility-choice{min-width:0;margin:0;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ldap-responsibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ldap-responsibility-grid .check-row{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft)}
.ldap-responsibility-grid .check-row:has(input:checked){border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);background:var(--brand-soft)}
.ldap-responsibility-grid .check-row:has(input:disabled){opacity:.58;cursor:not-allowed}
.ldap-role-summary{padding:9px 10px;border-left:3px solid var(--brand);background:var(--brand-soft);color:var(--text);font-size:var(--fs-sm);font-weight:700}
.ldap-role-error{padding:10px 12px;border:1px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger-strong);font-weight:700}
.ldap-role-error:focus{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:760px){.ldap-responsibility-grid{grid-template-columns:1fr}}
@media(forced-colors:active){.ldap-role-assignment,.ldap-responsibility-choice,.ldap-responsibility-grid .check-row{border:1px solid CanvasText}.ldap-responsibility-grid .check-row:has(input:checked){outline:2px solid Highlight;box-shadow:none}}
