:root{--admin-bg:#f8fafc;--admin-surface:#fff;--admin-sidebar:#071427;--admin-primary:#0f3b8f;--admin-primary-strong:#0b2f73;--admin-text:#111827;--admin-muted:#64748b;--admin-border:#e2e8f0;--admin-shadow:0 12px 30px #0f172a0f;color:var(--admin-text);background:var(--admin-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Segoe UI Variable Text,Segoe UI,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--admin-bg);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0f3b8f38}.auth-shell{background:radial-gradient(circle at top left, #dbeafe, transparent 34%), var(--admin-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--admin-border);width:min(440px,100%);box-shadow:var(--admin-shadow);background:#fff;border-radius:18px;padding:28px}.auth-card h1,.topbar h2,.hero-panel h3{margin:0}.auth-card h1{letter-spacing:0;font-size:clamp(24px,4vw,30px);font-weight:760;line-height:1.12}.auth-card p{color:var(--admin-muted)}.brand-mark{background:var(--admin-primary);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.auth-brand{text-align:center;justify-items:center;margin-bottom:18px;display:grid}.auth-logo{object-fit:contain;width:156px;max-width:68%;height:auto}.auth-brand .eyebrow{margin:10px 0 0}.eyebrow{color:#7c8da5;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:750}.primary-button,.approve{background:var(--admin-primary);color:#fff;border:0;box-shadow:0 10px 24px #0f3b8f29}.primary-button{border-radius:12px;width:100%;height:46px;margin-top:18px;font-weight:750}.primary-button:hover,.approve:hover{background:var(--admin-primary-strong)}.auth-reset-link{color:var(--admin-primary);background:0 0;border:0;margin:12px 0 0 auto;font-size:12px;font-weight:750;display:block}.auth-card .primary-button{justify-content:center;align-items:center;gap:8px;display:flex}.admin-shell{background:var(--admin-bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--admin-sidebar), #08162a);color:#fff;flex-direction:column;gap:18px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-identity{border-bottom:1px solid #ffffff14;gap:12px;padding-bottom:8px;display:grid}.sidebar-brand-row{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-brand-row strong{color:#fff;letter-spacing:.03em;font-size:17px;font-weight:800}.sidebar-logo{object-fit:contain;background:#fff;border-radius:14px;width:48px;height:48px;padding:6px;box-shadow:0 10px 22px #00000024}.sidebar-user{gap:7px;min-width:0;display:grid}.sidebar-user strong{color:#fff;overflow-wrap:anywhere;font-size:14px;font-weight:760;line-height:1.25}.sidebar-user-name{align-items:center;gap:7px;display:inline-flex}.status-dot{background:#22c55e;border-radius:999px;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 3px #22c55e2e}.sidebar-user span{color:#bfdbfe;letter-spacing:0;font-size:12px;font-weight:650;line-height:1.35}.sidebar nav{gap:6px;margin-top:4px;display:grid}.sidebar nav button{color:#cbd5e1;letter-spacing:0;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 12px 10px 16px;font-weight:650;display:flex;position:relative}.sidebar nav button:hover{color:#fff;background:#ffffff14}.sidebar nav button.active{color:#fff;background:#ffffff21;box-shadow:inset 3px 0 #60a5fa}.workspace{align-content:start;gap:24px;min-width:0;padding:24px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.topbar h2{letter-spacing:0;font-size:clamp(24px,3vw,32px);font-weight:760}.topbar .eyebrow{width:fit-content;color:var(--admin-primary);background:#eaf1ff;border-radius:999px;align-items:center;padding:5px 9px;display:inline-flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.icon-button,.logout-button{border:1px solid var(--admin-border);height:40px;color:var(--admin-text);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-weight:650;display:inline-flex;box-shadow:0 4px 12px #0f172a0a}.icon-button{width:auto;padding:0 12px}.icon-button:after{content:"Actualiser";font-size:13px}.logout-button{padding:0 14px}.icon-button:hover,.logout-button:hover{background:#f8fbff;border-color:#bfdbfe}.hero-panel{background:linear-gradient(135deg, var(--admin-primary), #172554);color:#fff;border-radius:18px;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.4fr);align-items:center;gap:16px;padding:18px;display:grid;box-shadow:0 18px 42px #0f3b8f2e}.hero-panel h3{font-size:21px;font-weight:760}.hero-panel h3:before{content:"Bonjour, ";font-weight:520}.hero-panel p{color:#ffffffd1;margin:6px 0 0;font-weight:450}.hero-panel .eyebrow{color:#d8e6ff}.hero-panel.stats-only{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stats-grid.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:#ffffff1f;border:1px solid #ffffff29;border-radius:14px;gap:5px;min-height:96px;padding:14px;transition:transform .16s,background .16s;display:grid}.stat-card:hover{background:#ffffff29;transform:translateY(-1px)}.stat-card strong{font-size:28px;font-weight:780;line-height:1}.stat-card span{color:#ffffffd1;font-size:12px;font-weight:650}.notice,.loading-row,.empty-state{border-radius:14px;align-items:center;gap:8px;padding:13px 14px;font-size:13px;font-weight:650;display:flex}.notice.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.notice.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.loading-row{color:var(--admin-muted);border:1px solid var(--admin-border);background:#fff}.empty-state{min-height:78px;color:var(--admin-muted);text-align:center;background:#fff;border:1px dashed #cbd5e1;justify-content:center}.data-section{border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);background:#fff;border-radius:18px;gap:12px;padding:18px;display:grid}.section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-header h3{text-transform:uppercase;letter-spacing:.04em;color:#334155;margin:0;font-size:15px;font-weight:760}.section-header h3:after{content:"";background:#bfdbfe;border-radius:999px;width:36px;height:3px;margin-top:8px;display:block}.card-list{gap:12px;display:grid}.action-card{border:1px solid var(--admin-border);background:#fff;border-radius:16px;padding:16px;transition:border-color .16s,transform .16s;box-shadow:0 8px 24px #0f172a0b}.action-card:hover{border-color:#bfdbfe;transform:translateY(-1px)}.card-header{justify-content:space-between;gap:14px;display:flex}.card-header h4{letter-spacing:0;margin:0;font-size:15px;font-weight:760}.card-header p,.action-card>p{color:var(--admin-muted);font-size:13px;line-height:1.5}.card-header span{color:var(--admin-primary);background:#eef6ff;border-radius:999px;align-self:flex-start;padding:5px 9px;font-size:11px;font-weight:750}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.detail-grid div{border:1px solid var(--admin-border);background:#f8fafc;border-radius:12px;min-width:0;padding:10px}.detail-grid dt{color:var(--admin-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:720}.detail-grid dd{color:var(--admin-text);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;font-weight:650;line-height:1.35}.decision-row{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.decision-row button,.association-form .wide-button,.organization-form .wide-button,.member-form button{border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.reject{color:#be123c;background:#fff1f2;border:1px solid #fecaca}.reject:hover{background:#ffe4e6}.approve{border:0}.member-form,.association-form,.organization-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;margin-top:14px;display:grid}.association-form{grid-template-columns:repeat(3,minmax(0,1fr))}.member-form label,.association-form label,.organization-form label,.auth-card label{color:#475569;gap:7px;font-size:12px;font-weight:740;display:grid}.member-form input,.member-form select,.association-form input,.association-form textarea,.organization-form input,.organization-form select,.organization-form textarea,.auth-card input{color:var(--admin-text);background:#fff;border:1px solid #d1d5db;border-radius:11px;min-width:0;padding:0 11px;transition:border-color .15s,box-shadow .15s}.member-form input,.member-form select,.association-form input,.organization-form input,.organization-form select,.auth-card input{height:42px}.association-form textarea,.organization-form textarea{resize:vertical;min-height:88px;padding-top:10px;line-height:1.45}.member-form input:focus,.member-form select:focus,.association-form input:focus,.association-form textarea:focus,.organization-form input:focus,.organization-form select:focus,.organization-form textarea:focus,.auth-card input:focus{border-color:var(--admin-primary);outline:none;box-shadow:0 0 0 3px #0f3b8f1a}.association-form .wide,.organization-form .wide{grid-column:1/-1}.association-form .wide-button,.organization-form .wide-button{width:fit-content;min-width:190px}.organization-editor{gap:14px;display:grid}.logo-upload-field{gap:7px;min-width:0;display:grid}.logo-upload-actions{align-items:center;gap:10px;min-height:42px;display:flex}.logo-upload-preview,.logo-upload-placeholder{border:1px solid var(--admin-border);background:#f8fafc;border-radius:11px;flex:0 0 42px;width:42px;height:42px}.logo-upload-preview{object-fit:cover}.logo-upload-placeholder{color:var(--admin-muted);place-items:center;display:grid}.logo-upload-button{cursor:pointer;position:relative}.upload-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden;width:1px!important;height:1px!important}.logo-upload-field small{color:var(--admin-muted);font-size:11px;font-weight:600}.field-error{color:#be123c;font-size:11px;font-weight:700}.associations-view{gap:16px;display:grid}.association-toolbar{border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.association-toolbar h3{color:var(--admin-text);margin:0;font-size:18px;font-weight:780}.association-toolbar p{color:var(--admin-muted);margin:4px 0 0;font-size:13px;line-height:1.45}.association-add-button{border-radius:999px;min-height:42px;margin:6px;padding:0 18px;box-shadow:0 8px 18px #16a34a2e}.association-add-button:hover{transform:translateY(-1px)}.secondary-button{border:1px solid var(--admin-border);min-height:38px;color:var(--admin-text);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:740;text-decoration:none;display:inline-flex}.secondary-button:hover{color:var(--admin-primary);background:#f8fbff;border-color:#bfdbfe}.secondary-button.disabled{opacity:.48;pointer-events:none}.association-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.event-card{border:1px solid var(--admin-border);background:#fff;border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 8px 24px #0f172a0b}.event-card-image{height:150px;color:var(--admin-primary);background:#eef6ff;place-items:center;display:grid;overflow:hidden}.event-card-image img{object-fit:cover;width:100%;height:100%}.event-card-content{gap:10px;padding:14px;display:grid}.event-card-content p{color:var(--admin-muted);margin:0;font-size:13px;line-height:1.45}.event-card-content .event-schedule{color:var(--admin-primary);font-size:12px;font-weight:740}.association-card{border:1px solid var(--admin-border);background:#fff;border-radius:18px;grid-template-columns:68px minmax(0,1fr);gap:14px;min-width:0;padding:14px;transition:border-color .16s,transform .16s;display:grid;box-shadow:0 8px 24px #0f172a0b}.association-card:hover{border-color:#bfdbfe;transform:translateY(-1px)}.request-card{border:1px solid var(--admin-border);background:#fff;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px;display:flex}.request-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.request-main strong{color:var(--admin-text);font-size:15px}.request-main p{color:var(--admin-muted);margin:5px 0 0;font-size:13px;line-height:1.45}.request-main small{color:var(--admin-muted);margin-top:8px;display:block}.request-icon{color:#1457a6;background:#eff6ff;border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.request-actions{flex:none;align-items:center;gap:8px;display:flex}.association-logo{border:1px solid var(--admin-border);background:#f8fafc;border-radius:16px;place-items:center;width:68px;height:68px;display:grid;overflow:hidden}.association-logo img{object-fit:cover;width:100%;height:100%}.association-logo span{color:var(--admin-primary);font-size:18px;font-weight:800}.association-content{gap:11px;min-width:0;display:grid}.association-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.association-card-header h4{color:var(--admin-text);margin:0;font-size:15px;font-weight:780;line-height:1.25}.association-card-header p{color:var(--admin-muted);margin:6px 0 0;font-size:13px;line-height:1.45}.association-meta{flex-wrap:wrap;gap:6px;display:flex}.association-meta span{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.status-pill{border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:780}.status-pill.approved{color:#166534;background:#dcfce7}.status-pill.pending{color:#92400e;background:#fef3c7}.status-pill.rejected{color:#991b1b;background:#fee2e2}.status-pill.neutral{color:#334155;background:#e2e8f0}.association-actions{flex-wrap:wrap;gap:8px;display:flex}.association-actions .approve,.association-actions .reject{border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:13px;font-weight:740;display:inline-flex}.action-card.compact{padding:12px 14px}.members-view{gap:16px;display:grid}.member-toolbar{border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.member-toolbar h3{margin:0;font-size:18px;font-weight:780}.member-toolbar p{color:var(--admin-muted);margin:4px 0 0;font-size:13px}.member-filters{flex-wrap:wrap;gap:10px;display:flex}.member-filters select,.member-search{min-height:42px;color:var(--admin-text);background:#fff;border:1px solid #d1d5db;border-radius:11px}.member-filters select{padding:0 11px}.member-search{min-width:min(310px,72vw);color:var(--admin-muted);align-items:center;gap:8px;padding:0 11px;display:flex}.member-search input{width:100%;min-width:0;color:var(--admin-text);border:0;outline:0}.account-create-panel{margin:0}.account-create-form{grid-template-columns:repeat(4,minmax(0,1fr))}.password-setup-panel{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:8px;margin-top:14px;padding:12px;display:grid}.password-setup-panel strong{color:#166534;grid-column:1/-1;font-size:12px}.password-setup-panel input{color:#14532d;background:#fff;border:1px solid #86efac;border-radius:9px;min-width:0;height:40px;padding:0 10px}.password-setup-panel button{color:#fff;background:#166534;border:0;border-radius:9px;min-height:40px;padding:0 12px;font-weight:750}.user-access-card{border:1px solid var(--admin-border);background:#fff;border-radius:16px;gap:14px;padding:16px;display:grid}.user-access-card.is-disabled{background:snow;border-color:#fecaca}.user-access-header{grid-template-columns:48px minmax(180px,1fr) minmax(300px,auto);align-items:center;gap:13px;display:grid}.user-avatar{width:48px;height:48px;color:var(--admin-primary);background:#eaf1ff;border-radius:14px;place-items:center;font-weight:800;display:grid}.user-identity{min-width:0}.user-name-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.user-name-row h4{margin:0;font-size:15px}.user-identity p{color:var(--admin-muted);overflow-wrap:anywhere;margin:5px 0 3px;font-size:13px}.user-identity small{color:#94a3b8;overflow-wrap:anywhere;font-size:10px}.user-access-controls{justify-content:flex-end;align-items:end;gap:9px;display:flex}.user-access-controls label{color:#475569;gap:5px;font-size:11px;font-weight:740;display:grid}.user-access-controls select,.membership-row select{height:38px;color:var(--admin-text);background:#fff;border:1px solid #d1d5db;border-radius:10px;min-width:0;padding:0 9px}.user-access-controls button{border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:12px;font-weight:740;display:inline-flex}.user-access-controls .password-reset-action{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.protected-access-note{color:#92400e;margin:-5px 0 0 61px;font-size:11px}.companion-summary{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-left:61px;padding:10px 12px;display:flex}.companion-summary>div{gap:2px;display:grid}.companion-summary strong{color:#9a3412;text-transform:uppercase;letter-spacing:.03em;font-size:11px}.companion-summary span,.companion-summary a{color:#7c2d12;overflow-wrap:anywhere;font-size:12px;font-weight:700}.membership-list{border-top:1px solid var(--admin-border);gap:8px;margin-left:61px;padding-top:12px;display:grid}.membership-list h5{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px}.membership-empty{color:var(--admin-muted);margin:0;font-size:12px}.membership-row{background:#f8fafc;border-radius:11px;grid-template-columns:minmax(180px,1fr) 150px 135px 38px;align-items:center;gap:8px;padding:8px;display:grid}.membership-row>div{gap:3px;min-width:0;display:grid}.membership-row strong{overflow-wrap:anywhere;font-size:12px}.membership-row small{color:var(--admin-muted);font-size:10px}.membership-delete{color:#be123c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.sos-view{gap:16px;display:grid}.sos-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sos-live-status{border:1px solid var(--admin-border);min-height:36px;color:var(--admin-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.sos-live-status>span{background:#ef4444;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 4px #fee2e2}.sos-live-status.connected{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.sos-live-status.connected>span{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.organization-form .checkbox-field{border:1px solid var(--admin-border);background:#f8fafc;border-radius:11px;flex-direction:row;align-items:center;gap:9px;min-height:42px;padding:9px 11px;display:flex}.organization-form .checkbox-field input{width:17px;height:17px;margin:0}.sos-summary article{border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);background:#fff;border-radius:15px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:14px;display:grid}.sos-summary strong{font-size:24px;line-height:1}.sos-summary small{color:var(--admin-muted);grid-column:2;font-size:11px;font-weight:700}.sos-dot{opacity:.72;border-radius:999px;grid-row:1/3;width:12px;height:12px;box-shadow:0 0 0 5px}.sos-dot.sent{color:#dc2626;background:#dc2626}.sos-dot.in-progress{color:#f59e0b;background:#f59e0b}.sos-dot.resolved{color:#16a34a;background:#16a34a}.sos-card{border:1px solid var(--admin-border);background:#fff;border-left-width:4px;border-radius:16px;gap:14px;padding:16px;display:grid}.sos-card.status-sent{border-left-color:#dc2626}.sos-card.status-in_progress{border-left-color:#f59e0b}.sos-card.status-resolved{border-left-color:#16a34a}.sos-card-header{align-items:center;gap:11px;display:flex}.sos-icon{color:#b91c1c;background:#fee2e2;border-radius:13px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.sos-person{flex:1;min-width:0}.sos-person>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sos-person h4{margin:0;font-size:15px}.sos-person p{color:var(--admin-muted);margin:5px 0 0;font-size:12px}.sos-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.sos-status.sent{color:#991b1b;background:#fee2e2}.sos-status.in_progress{color:#92400e;background:#fef3c7}.sos-status.resolved{color:#166534;background:#dcfce7}.sos-message{color:#7c2d12;background:#fff7ed;border-radius:12px;margin:0;padding:12px;font-size:13px;line-height:1.5}.sos-video-panel{background:snow;border:1px solid #fecaca;border-radius:13px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px;display:flex}.sos-video-panel>div{gap:4px;display:grid}.sos-video-panel strong{color:#991b1b;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sos-video-panel small{color:var(--admin-muted);font-size:10px}.sos-video-panel>p{color:#be123c;width:100%;margin:0;font-size:11px;font-weight:700}.sos-video-player{background:#000;border-radius:11px;width:100%;max-height:460px}.sos-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;display:grid}.sos-details div{background:#f8fafc;border-radius:11px;min-width:0;padding:9px}.sos-details dt{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:750}.sos-details dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;font-weight:650}.sos-contact-actions,.sos-decision-row{flex-wrap:wrap;gap:8px;display:flex}.sos-contact-actions{align-items:center}.sos-decision-row{border-top:1px solid var(--admin-border);justify-content:flex-end;padding-top:12px}.sos-decision-row .approve{border-radius:11px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:750;display:inline-flex}.no-location{color:var(--admin-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.evolution-panel{border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);background:#fff;border-radius:18px;gap:16px;padding:18px;display:grid}.evolution-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.evolution-filters{border:1px solid var(--admin-border);background:#f8fafc;border-radius:13px;flex-wrap:wrap;gap:6px;padding:4px;display:inline-flex}.evolution-filters button{min-height:32px;color:var(--admin-muted);background:0 0;border:0;border-radius:9px;padding:0 10px;font-size:12px;font-weight:740}.evolution-filters button:hover{color:var(--admin-primary);background:#eef6ff}.evolution-filters button.active{background:var(--admin-primary);color:#fff;box-shadow:0 8px 18px #0f3b8f2e}.custom-period{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.custom-period label{color:#475569;gap:6px;font-size:12px;font-weight:740;display:grid}.custom-period input{height:38px;color:var(--admin-text);background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:0 10px}.custom-period input:focus{border-color:var(--admin-primary);outline:none;box-shadow:0 0 0 3px #0f3b8f1a}.evolution-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:18px;display:grid}.evolution-chart{border:1px solid var(--admin-border);background:linear-gradient(#fff,#f8fbff);border-radius:16px;min-height:260px;padding:12px;overflow:hidden}.evolution-chart svg{width:100%;height:100%;min-height:230px;display:block}.chart-guide{stroke:#e2e8f0;stroke-width:1px}.chart-label{fill:#64748b;text-transform:capitalize;font-size:12px;font-weight:650}.chart-hover-zone{fill:#0000;cursor:crosshair}.chart-cursor{stroke:#94a3b8;stroke-width:1px;stroke-dasharray:4 4}.chart-tooltip-box{fill:#fff;stroke:#cbd5e1;stroke-width:1px;filter:drop-shadow(0 10px 18px #0f172a1f)}.chart-tooltip-title{fill:#111827;font-size:12px;font-weight:760}.chart-tooltip-line{font-size:11px;font-weight:700}.chart-tooltip-line.requests{fill:#0f3b8f}.chart-tooltip-line.associations{fill:#16a34a}.chart-tooltip-line.federations{fill:#f59e0b}.evolution-summary{gap:10px;display:grid}.evolution-summary div{border:1px solid var(--admin-border);background:#f8fafc;border-radius:14px;align-content:center;gap:5px;padding:14px;display:grid}.evolution-summary strong{color:var(--admin-text);font-size:26px;font-weight:780;line-height:1}.evolution-summary p{color:var(--admin-muted);margin:0;font-size:12px;line-height:1.35}.legend-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.legend-dot.requests{background:#0f3b8f}.legend-dot.associations{background:#16a34a}.legend-dot.federations{background:#f59e0b}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu,.sidebar-backdrop{display:none}@media (width<=1100px){.admin-shell{grid-template-columns:220px minmax(0,1fr)}.hero-panel{grid-template-columns:1fr}.stats-grid,.member-form,.organization-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.mobile-menu{z-index:60;border:1px solid var(--admin-border);background:var(--admin-primary);color:#fff;border-radius:999px;place-items:center;width:48px;height:48px;display:grid;position:fixed;bottom:16px;right:16px;box-shadow:0 16px 34px #0f3b8f40}.admin-shell{display:block}.sidebar{z-index:70;width:min(286px,86vw);height:100vh;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{z-index:65;background:#0f172a6b;border:0;position:fixed;inset:0}.sidebar-open .sidebar-backdrop{display:block}.workspace{gap:18px;padding:18px}.topbar,.evolution-header{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:stretch;width:100%}.icon-button,.logout-button{flex:1}.evolution-filters,.custom-period{width:100%}.evolution-filters button,.custom-period label{flex:1}.hero-panel{padding:16px}.stats-grid,.stats-grid.three-cols,.detail-grid,.member-form,.association-form,.organization-form,.evolution-layout,.association-grid,.event-grid,.sos-summary,.sos-details,.password-setup-panel{grid-template-columns:1fr}.decision-row{flex-direction:column-reverse}.decision-row button,.association-form .wide-button,.organization-form .wide-button{width:100%}.card-header,.association-toolbar,.association-card-header,.member-toolbar{flex-direction:column;align-items:stretch}.association-card{grid-template-columns:1fr}.member-filters{display:grid}.member-search{min-width:0}.user-access-header{grid-template-columns:48px minmax(0,1fr)}.user-access-controls{flex-direction:column;grid-column:1/-1;justify-content:stretch;align-items:stretch}.user-access-controls button{justify-content:center}.membership-list,.protected-access-note,.companion-summary{margin-left:0}.companion-summary{flex-direction:column;align-items:flex-start}.membership-row{grid-template-columns:1fr}.membership-delete{width:100%}.sos-decision-row{flex-direction:column}.sos-decision-row button{justify-content:center;width:100%}}
