:root{--bg:#0b0e14;--panel:#12161f;--panel2:#171c27;--ink:#edf0f7;--muted:#8e98aa;--line:rgba(255,255,255,.09);--primary:#7c6cf6;--primary2:#4c8dff;--ok:#37d399;--bad:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#aaa1ff}.sa-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% -15%,rgba(124,108,246,.22),transparent 45%),var(--bg)}.sa-login-box{width:min(440px,92vw);padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 30px 80px rgba(0,0,0,.45)}.sa-login-logo{width:210px;max-width:70%;display:block;margin-bottom:20px}.sa-kicker{display:inline-block;color:#a99cff;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800}.sa-login h1{margin:8px 0 6px}.sa-login p,.sa-muted{color:var(--muted);line-height:1.55}.sa-login label,.sa-form label{display:grid;gap:6px;margin-top:14px;font-size:12px;font-weight:700;color:#b9c0cf}.sa-login input,.sa-form input,.sa-form select,.sa-form textarea,.sa-search input{width:100%;padding:10px 11px;border-radius:10px;border:1px solid var(--line);background:#0f131b;color:var(--ink);outline:none}.sa-login input:focus,.sa-form input:focus,.sa-form select:focus,.sa-form textarea:focus{border-color:#8e83f4;box-shadow:0 0 0 3px rgba(124,108,246,.16)}.sa-btn{border:1px solid var(--line);background:var(--panel2);color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.sa-btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:0;color:#fff}.sa-btn.secondary{background:rgba(124,108,246,.13);color:#cbc5ff}.sa-btn.ghost{background:transparent}.sa-btn.danger{background:rgba(255,107,107,.12);color:#ff9d9d}.sa-btn.compact{padding:7px 10px;font-size:12px}.sa-login form>.sa-btn{width:100%;margin-top:20px}.sa-login-links{text-align:center;margin-top:18px;font-size:12px}.sa-alert{padding:10px 12px;border-radius:10px;margin:12px 0;font-size:12px}.sa-alert.error{background:rgba(255,107,107,.12);color:#ffaaaa}.sa-alert.ok{background:rgba(55,211,153,.12);color:#8de8c4}.sa-top{height:72px;padding:0 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(11,14,20,.94);backdrop-filter:blur(14px);z-index:20}.sa-brand{display:flex;align-items:center;gap:18px}.sa-brand img{width:150px}.sa-brand span,.sa-brand strong{display:block}.sa-brand span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.sa-brand strong{font-size:13px;margin-top:2px}.sa-user{display:flex;align-items:center;gap:10px;font-size:12px}.sa-user form{margin:0}.sa-main{max-width:1440px;margin:0 auto;padding:28px}.sa-hero{border:1px solid var(--line);border-radius:24px;padding:26px 28px;background:linear-gradient(135deg,rgba(124,108,246,.12),rgba(76,141,255,.05));display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px}.sa-hero h1{font-size:30px;margin:6px 0}.sa-hero p{color:var(--muted);margin:0;max-width:760px;line-height:1.55}.sa-storage-badge{padding:14px 17px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.18)}.sa-storage-badge span,.sa-storage-badge strong{display:block}.sa-storage-badge span{color:var(--muted);font-size:10px}.sa-storage-badge strong{margin-top:4px;font-size:13px}.sa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.sa-kpis article,.sa-detail-kpis>div{border:1px solid var(--line);border-radius:16px;padding:15px 17px;background:var(--panel)}.sa-kpis span,.sa-detail-kpis span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.sa-kpis strong,.sa-detail-kpis b{display:block;font-size:22px;margin:6px 0 2px}.sa-kpis small{color:var(--muted);font-size:10px}.sa-panel{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:18px;margin-bottom:16px}.sa-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sa-panel h2{font-size:16px;margin:0 0 4px}.sa-panel h3{font-size:13px;margin:18px 0 10px}.sa-panel-head p{margin:0;color:var(--muted);font-size:12px}.sa-actions{display:flex;gap:8px}.sa-table-wrap{overflow:auto;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:9.5px;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.055)}tbody tr:hover td{background:rgba(255,255,255,.02)}.sa-status{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.sa-status.ok{background:rgba(55,211,153,.12);color:#72e2b8}.sa-status.off{background:rgba(255,255,255,.06);color:var(--muted)}.sa-empty{text-align:center;color:var(--muted);padding:20px!important}.sa-detail-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.sa-detail-kpis b{font-size:16px}.sa-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.sa-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.sa-form .sa-btn{grid-column:1/-1;margin-top:10px}.sa-admin-list{display:grid;gap:8px}.sa-admin-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025)}.sa-admin-row span{display:block;color:var(--muted);font-size:10px}.sa-search{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.sa-search input{width:260px}.sa-guides{display:grid;gap:8px}.sa-guides details{border:1px solid var(--line);border-radius:12px;overflow:hidden}.sa-guides summary{padding:12px 14px;cursor:pointer;font-weight:800}.sa-guides details>div{padding:0 14px 14px;color:var(--muted);font-size:12px;line-height:1.6}.sa-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:20px;z-index:50}.sa-modal-backdrop[hidden]{display:none}.sa-modal{width:min(720px,96vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 30px 80px rgba(0,0,0,.6)}.sa-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.sa-modal-head h2{margin:0;font-size:17px}.sa-modal-head button{border:0;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.sa-modal #saModalBody{padding:18px}.sa-modal .sa-form textarea{min-height:90px}.sa-toast{position:fixed;right:20px;bottom:20px;background:#1d2532;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:0 15px 40px rgba(0,0,0,.4);z-index:60}.sa-toast.error{background:#8b2424}@media(max-width:900px){.sa-kpis{grid-template-columns:1fr 1fr}.sa-detail-kpis{grid-template-columns:repeat(3,1fr)}.sa-split{grid-template-columns:1fr}.sa-top{padding:0 14px}.sa-brand div{display:none}.sa-main{padding:16px}.sa-hero{align-items:flex-start;flex-direction:column}.sa-user>span{display:none}}@media(max-width:560px){.sa-kpis{grid-template-columns:1fr}.sa-detail-kpis{grid-template-columns:1fr 1fr}.sa-form{grid-template-columns:1fr}.sa-search{display:none}.sa-brand img{width:125px}}
/* v0.73.03 — utilisateur principal par société */
.sa-status.warn{background:rgba(245,166,35,.14);color:#ffc56a}.sa-status.primary{background:rgba(124,108,246,.18);color:#c7c0ff}.sa-primary-user{display:block;font-weight:800;color:#c7c0ff}.sa-primary-login{display:block;color:var(--muted);font-size:10px;margin-top:2px}.sa-primary-summary{margin-top:18px}.sa-primary-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(124,108,246,.26);border-radius:14px;background:linear-gradient(135deg,rgba(124,108,246,.11),rgba(76,141,255,.05))}.sa-primary-card strong,.sa-primary-card small{display:block}.sa-primary-card strong{font-size:15px;margin:4px 0}.sa-primary-card small{color:var(--muted)}.sa-primary-card.missing{border-color:rgba(245,166,35,.28);background:rgba(245,166,35,.06)}.sa-admin-row.is-primary{border-color:rgba(124,108,246,.30);background:rgba(124,108,246,.07)}.sa-primary-setup{margin-top:8px;padding:14px;border:1px solid rgba(124,108,246,.28);border-radius:14px;background:rgba(124,108,246,.07)}.sa-primary-setup p{margin:5px 0 0;color:var(--muted);font-size:11px}.sa-primary-fields{margin-top:4px}.sa-primary-fields label{margin-top:10px}.sa-primary-fields small{color:var(--muted);font-weight:500}


/* v0.73.04 — console centrée sur une société puis ses utilisateurs */
.sa-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sa-company-card{border:1px solid var(--line);border-radius:16px;background:#0f131b;padding:15px;display:grid;gap:12px;transition:.16s ease}
.sa-company-card:hover{border-color:rgba(124,108,246,.35);transform:translateY(-1px)}
.sa-company-card.selected{border-color:rgba(124,108,246,.7);box-shadow:0 0 0 2px rgba(124,108,246,.1)}
.sa-company-card-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.sa-company-card h3{margin:7px 0 3px;font-size:16px}.sa-company-card p{margin:0;color:var(--muted);font-size:11px}
.sa-company-card-stats{display:grid;gap:4px;text-align:right;color:var(--muted);font-size:10px}.sa-company-card-stats b{color:var(--ink);font-size:13px}
.sa-company-card-primary{padding:10px 11px;border-radius:11px;background:rgba(124,108,246,.07);border:1px solid rgba(124,108,246,.13)}
.sa-company-card-primary span,.sa-company-card-primary strong,.sa-company-card-primary small{display:block}.sa-company-card-primary span{font-size:9px;color:#b9b2ff;text-transform:uppercase;font-weight:800}.sa-company-card-primary .warn{color:#ffc56a}.sa-company-card-primary strong{font-size:12px;margin-top:3px}.sa-company-card-primary small{font-size:9.5px;color:var(--muted);margin-top:2px}
.sa-company-workspace{border-color:rgba(124,108,246,.24)}.sa-company-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.sa-company-workspace-head h2{font-size:22px;margin:5px 0 3px}.sa-company-workspace-head p{margin:0;color:var(--muted);font-size:11px}
.sa-company-section{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.sa-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.sa-section-head h3{margin:0 0 4px;font-size:14px}.sa-section-head p{margin:0;color:var(--muted);font-size:11px;max-width:760px;line-height:1.45}
.sa-user-primary-row td{background:rgba(124,108,246,.045)}td code{font-size:11px;color:#cbc5ff}.sa-form-note{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(124,108,246,.2);border-radius:11px;background:rgba(124,108,246,.06)}.sa-form-note span{font-size:10px;color:var(--muted)}
.sa-check{display:flex!important;align-items:center;gap:8px!important}.sa-check input{width:auto!important;margin:0}.sa-mandate-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:10px;border:1px solid var(--line);border-radius:10px}.sa-mandate-checks label{display:flex;align-items:center;gap:7px;margin:0!important;font-weight:600}.sa-mandate-checks input{width:auto!important}.sa-mandate-checks.disabled{opacity:.45}
@media(max-width:1050px){.sa-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.sa-company-grid{grid-template-columns:1fr}.sa-company-workspace-head,.sa-section-head{flex-direction:column}.sa-mandate-checks{grid-template-columns:1fr}}


/* v0.73.08 — superusers de secours */
.sa-emergency-panel{border-color:rgba(245,166,35,.22);background:linear-gradient(135deg,rgba(245,166,35,.035),var(--panel) 38%)}
.sa-status.emergency{background:rgba(245,166,35,.14);color:#ffd07a}
.sa-emergency-note{margin-top:12px;background:rgba(245,166,35,.075);color:#d9c69c}
.sa-emergency-form-note{border-color:rgba(245,166,35,.25);background:rgba(245,166,35,.055)}


/* v0.73.09 — une carte société s'ouvre directement au clic */
.sa-company-card[data-open-company]{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.sa-company-card[data-open-company]:hover{border-color:rgba(124,108,246,.50);background:rgba(124,108,246,.045)}
.sa-company-card[data-open-company]:focus-visible{outline:2px solid #7c6cf6;outline-offset:3px}
.sa-company-card[data-open-company] .sa-actions button{cursor:pointer}
