:root{--bg:#fff;--bg-card:#fafafa;--bg-card-hover:#f0f0f4;--border:#e4e4ed;--border-hover:#c9c9e0;--text:#17171f;--text-muted:#5a5a72;--text-dim:#8a8aa0;--accent:#7c5cfc;--accent-light:#6a4cf0;--accent-glow:#7c5cfc1f;--accent-glow-strong:#7c5cfc4d;--green:#16a34a;--blue:#2563eb;--orange:#ea580c;--pink:#ec4899;--cyan:#0891b2;--red:#dc2626;--yellow:#d97706;--input-bg:#fff;--nav-bg:#ffffffd9;--th-bg:#7c5cfc0f;--grain-opacity:0;--shadow:0 1px 3px #0000000f}html.dark{--bg:#0a0a0f;--bg-card:#12121a;--bg-card-hover:#1a1a2e;--border:#1e1e30;--border-hover:#2d2d4a;--text:#e4e4ed;--text-muted:#8888a0;--text-dim:#555570;--accent:#7c5cfc;--accent-light:#9b7fff;--accent-glow:#7c5cfc26;--accent-glow-strong:#7c5cfc4d;--green:#34d399;--blue:#60a5fa;--orange:#fb923c;--pink:#f472b6;--cyan:#22d3ee;--red:#f87171;--yellow:#fbbf24;--input-bg:#0a0a0f;--nav-bg:#0a0a0fd9;--th-bg:#7c5cfc14;--grain-opacity:.03;--shadow:0 1px 3px #0000004d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:background .3s,color .3s;overflow-x:hidden}body:before{content:"";opacity:var(--grain-opacity);pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}.nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;left:0;right:0}.nav-brand{color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.nav-brand span{color:var(--accent-light)}.nav-links{align-items:center;gap:1rem;list-style:none;display:flex}.nav-links a{color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-cta{background:var(--accent);border-radius:8px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s;color:#fff!important}.nav-cta:hover{box-shadow:0 0 20px var(--accent-glow-strong)}.nav-cta-danger{background:var(--red)}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-hover);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.container{z-index:1;width:100%;max-width:960px;margin:2.5rem auto;padding:0 1.5rem;position:relative}.container-wide{max-width:1100px}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:2rem;transition:border-color .3s,box-shadow .3s}.card:hover{border-color:var(--border-hover)}.card h2{letter-spacing:-.02em;margin-bottom:1.5rem;font-size:1.4rem;font-weight:800}.card-label{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-light);margin-bottom:.75rem;font-size:.75rem;font-weight:600}.form-group{margin-bottom:1.1rem}.form-group label{color:var(--text-muted);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-group label .required{color:var(--red)}.form-group input,.form-group select{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-group input::placeholder{color:var(--text-dim)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.photo-preview{object-fit:cover;border:3px solid var(--border-hover);border-radius:50%;width:110px;height:110px;margin-top:.7rem}.upload-zone{border:2px dashed var(--border-hover);text-align:center;cursor:pointer;background:var(--bg);color:var(--text-muted);border-radius:12px;padding:2rem 1.5rem;transition:all .25s}.upload-zone:hover{border-color:var(--accent);background:var(--accent-glow);color:var(--text)}.upload-zone.dragging{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 3px var(--accent-glow)}.upload-zone .upload-icon{margin-bottom:.5rem;font-size:2.2rem;display:block}.upload-zone .upload-text{font-size:.95rem;font-weight:600}.upload-zone .upload-hint{color:var(--text-dim);margin-top:.3rem;font-size:.8rem}.upload-zone input[type=file]{display:none}.toggle-group{align-items:center;gap:.75rem;margin-top:.3rem;display:flex}.toggle{background:var(--border-hover);cursor:pointer;border-radius:13px;width:48px;height:26px;transition:background .3s;position:relative}.toggle.active{background:var(--accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:3px;left:3px}.toggle.active:after{transform:translate(22px)}.toggle-label{color:var(--text-muted);font-size:.9rem;font-weight:500}.btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.65rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{box-shadow:0 0 25px var(--accent-glow-strong)}.btn-secondary{color:var(--text);border:1px solid var(--border-hover);background:0 0}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-glow)}.btn-danger{color:var(--red);background:#f871711f;border:1px solid #f871714d}.btn-danger:hover{background:var(--red);color:#fff}.btn-success{color:var(--green);background:#34d3991f;border:1px solid #34d3994d}.btn-success:hover{background:var(--green);color:#fff}.btn-sm{border-radius:8px;padding:.35rem .85rem;font-size:.8rem}.message{border-radius:10px;margin-bottom:1rem;padding:.8rem 1.1rem;font-size:.9rem;font-weight:500}.message-success{color:var(--green);background:#34d3991a;border:1px solid #34d39940}.message-error{color:var(--red);background:#f871711a;border:1px solid #f8717140}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:1rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem .8rem;font-size:.88rem}th{background:var(--th-bg);color:var(--accent-light);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}tr:hover td{background:var(--bg-card-hover)}.member-photo{object-fit:cover;border:2px solid var(--border-hover);border-radius:50%;width:40px;height:40px}.actions{flex-wrap:wrap;gap:.4rem;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;display:flex}.toolbar-left{align-items:center;gap:.5rem;display:flex}.search-input{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:10px;width:260px;padding:.55rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.search-input::placeholder{color:var(--text-dim)}.count-badge{color:var(--text-muted);background:var(--accent-glow);border-radius:6px;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.badge-cotisation{border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-oui{color:var(--green);background:#34d3991f}.badge-non{color:var(--red);background:#f871711f}.empty-state{text-align:center;color:var(--text-muted);padding:3.5rem 1rem}.empty-state p{margin-top:.5rem}.loading{text-align:center;color:var(--text-muted);padding:3rem}.footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--border);z-index:1;margin-top:auto;padding:2rem;font-size:.8rem;position:relative}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;padding:2.5rem;position:relative;overflow:hidden}.login-card:before{content:"";background:radial-gradient(circle, var(--accent-glow-strong) 0%, transparent 70%);pointer-events:none;width:300px;height:300px;position:absolute;top:-50%;right:-30%}.login-card h2{margin-bottom:.5rem;font-size:1.6rem;font-weight:800;position:relative}.login-card .subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem;position:relative}.login-card .form-group{position:relative}.login-card .btn{justify-content:center;width:100%;padding:.8rem;position:relative}.section-label{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-light);margin-bottom:.75rem;font-size:.75rem;font-weight:600}@media (max-width:768px){.nav{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.nav-links{gap:1rem;font-size:.8rem}.form-row{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar-left{flex-direction:column}.search-input{width:100%}.container{margin:1.5rem auto;padding:0 1rem}.card{padding:1.5rem}th,td{padding:.5rem;font-size:.8rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.5s ease-out fadeIn}.swiper-container{background:var(--bg);border:1px solid var(--border);-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:12px;height:48px;margin-top:.3rem;display:flex;position:relative;overflow:hidden}.swiper-track{background:var(--accent);z-index:1;will-change:transform;width:calc(50% - 4px);height:calc(100% - 8px);box-shadow:0 2px 8px var(--accent-glow-strong);border-radius:9px;transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;left:4px}.swiper-track.dragging{transition:none}.swiper-option{color:var(--text-muted);cursor:pointer;z-index:2;flex:1;justify-content:center;align-items:center;padding:0 .5rem;font-size:.9rem;font-weight:600;transition:color .3s;display:flex;position:relative}.swiper-option.active{color:#fff}.swiper-option:hover:not(.active){color:var(--text)}.swiper-dots{justify-content:center;gap:6px;margin-top:.5rem;display:flex}.swiper-dot{background:var(--border-hover);border-radius:50%;width:6px;height:6px;transition:all .3s}.swiper-dot.active{background:var(--accent);border-radius:3px;width:18px}.conditional-fields{opacity:0;max-height:0;margin-top:0;transition:max-height .4s,opacity .3s,margin .3s;overflow:hidden}.conditional-fields.visible{opacity:1;max-height:500px;margin-top:.5rem}.section-divider{border:none;border-top:1px solid var(--border);margin:1.2rem 0}.section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-light);align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.8rem;font-weight:700;display:flex}.cnib-upload{padding:1rem .8rem}.cnib-upload .upload-icon{margin-bottom:.3rem;font-size:1.6rem}.cnib-half-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);text-align:center;margin-bottom:.35rem;font-size:.72rem;font-weight:600}.cnib-preview{border:1px solid var(--border-hover);object-fit:cover;border-radius:8px;width:100%;max-width:140px}.clickable-preview{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable-preview:hover{box-shadow:0 4px 16px var(--accent-glow-strong);transform:scale(1.05)}.viewer-hint{color:var(--text-dim);margin-top:.4rem;font-size:.75rem}.image-viewer{z-index:2000;background:#000000d9;justify-content:center;align-items:center;padding:2rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.image-viewer-inner{background:var(--bg-card);border-radius:16px;max-width:90vw;max-height:90vh;padding:1.5rem;position:relative;overflow:auto;box-shadow:0 20px 60px #00000080}.image-viewer-inner img{object-fit:contain;border-radius:10px;max-width:100%;max-height:70vh;display:block}.image-viewer-title{color:var(--text);text-align:center;margin-bottom:1rem;font-size:.9rem;font-weight:700}.image-viewer-close{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.3rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.image-viewer-close:hover{box-shadow:0 0 12px var(--accent-glow-strong);transform:scale(1.1)}.admin-container{max-width:1200px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-title{letter-spacing:-.02em;font-size:1.7rem;font-weight:800}.admin-subtitle{color:var(--text-muted);margin-top:.3rem;font-size:.9rem}.admin-subtitle strong{color:var(--accent-light)}.admin-header-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:1rem;padding:1.25rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.stat-card:hover{border-color:var(--border-hover);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-3px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-primary{color:var(--accent);background:#7c5cfc1f}.stat-icon-green{color:var(--green);background:#34d3991f}.stat-icon-orange{color:var(--orange);background:#ea580c1f}.stat-icon-cyan{color:var(--cyan);background:#0891b21f}.stat-content{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.stat-value{color:var(--text);font-size:1.7rem;font-weight:800;line-height:1.2}.data-card{padding:1.5rem}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:.85rem}.search-wrapper .search-input{width:300px;padding-left:2.3rem}.modern-table{border-collapse:separate;border-spacing:0;width:100%}.modern-table thead th{background:var(--th-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-light);border-bottom:1px solid var(--border);white-space:nowrap;padding:.9rem 1rem;font-size:.72rem;font-weight:700}.modern-table thead th:first-child{border-top-left-radius:10px}.modern-table thead th:last-child{border-top-right-radius:10px}.modern-table tbody tr{transition:background .15s}.modern-table tbody tr:hover{background:var(--bg-card-hover)}.modern-table tbody td{border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:middle;white-space:nowrap;padding:.6rem 1rem;font-size:.85rem}.modern-table tbody tr:last-child td{border-bottom:none}.member-cell{align-items:center;gap:.75rem;display:flex}.member-cell .member-photo{flex-shrink:0;width:44px;height:44px}.member-name{color:var(--text);white-space:nowrap;font-weight:700}.contact-cell{flex-direction:column;line-height:1.4;display:flex}.contact-cell span:first-child{color:var(--text);font-weight:500}.contact-email{color:var(--text-dim);font-size:.75rem}.id-cell{flex-direction:column;line-height:1.4;display:flex}.piece-type{color:var(--text);font-weight:600}.piece-num{color:var(--text-dim);font-size:.75rem}.btn-action{border:1px solid #0000;border-radius:8px;padding:.35rem .9rem;font-size:.78rem;font-weight:600;transition:all .2s}.btn-view{color:var(--cyan);background:#0891b21a;border-color:#0891b240}.btn-view:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);box-shadow:0 4px 16px #0891b24d}.btn-edit{color:var(--accent);background:#7c5cfc1a;border-color:#7c5cfc40}.btn-edit:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 16px var(--accent-glow-strong)}.btn-delete{color:var(--red);background:#f871711a;border-color:#f8717140}.btn-delete:hover{background:var(--red);color:#fff;border-color:var(--red)}.confirm-overlay{z-index:2000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--bg-card);border:1px solid var(--border-hover);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:1.8rem 1.6rem;animation:.2s scaleIn;box-shadow:0 20px 60px #00000059}.confirm-icon{width:52px;height:52px;color:var(--red);background:#f871711f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto .9rem;display:flex}.confirm-title{color:var(--text);margin:0 0 .5rem;font-size:1.1rem}.confirm-text{color:var(--text-muted);margin:0 0 1.4rem;font-size:.88rem;line-height:1.5}.confirm-actions{justify-content:center;gap:.6rem;display:flex}.confirm-actions .btn{padding:.55rem 1.1rem;font-size:.85rem}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.admin-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.4rem}.search-wrapper .search-input{width:100%}.data-card{padding:1rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.admin-layout{width:100%;min-height:100vh;display:flex}.admin-overlay{z-index:1090;background:#00000080;display:none;position:fixed;inset:0}.admin-sidebar{background:var(--bg-card);border-right:1px solid var(--border);z-index:1100;flex-direction:column;flex-shrink:0;width:270px;height:100vh;transition:transform .3s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:.65rem;padding:1.5rem 1.5rem 1rem;display:flex}.sidebar-logo{font-size:1.6rem}.sidebar-brand-name{color:var(--text);font-size:1.15rem;font-weight:800}.sidebar-brand-name span{color:var(--accent-light)}.sidebar-section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);padding:1.25rem 1.5rem .5rem;font-size:.68rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:.15rem;padding:.5rem;display:flex}.admin-link{color:var(--text-muted);border-radius:10px;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-link:hover{background:var(--accent-glow);color:var(--text)}.admin-link.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow-strong)}.sidebar-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.topbar-left{align-items:center;display:flex}.topbar-burger{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem;transition:background .2s;display:none}.topbar-burger:hover{background:var(--accent-glow)}.topbar-right{align-items:center;gap:.75rem;display:flex}.topbar-user{position:relative}.user-button{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.65rem;padding:.35rem .6rem;transition:background .2s,border-color .2s;display:flex}.user-button:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.user-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:700;display:flex}.user-info{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.user-name{color:var(--text);font-size:.85rem;font-weight:700}.user-role{color:var(--text-dim);text-transform:capitalize;font-size:.72rem}.user-caret{color:var(--text-dim)}.user-menu{background:var(--bg-card);border:1px solid var(--border);z-index:1020;border-radius:12px;min-width:220px;padding:.5rem;animation:.2s ease-out fadeIn;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 40px #00000026}.user-menu-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin-bottom:.4rem;padding:.6rem .75rem .8rem;display:flex}.user-avatar-lg{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:700;display:flex}.user-menu-name{color:var(--text);font-size:.9rem;font-weight:700}.user-menu-role{color:var(--text-dim);text-transform:capitalize;font-size:.75rem}.user-menu-item{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-family:inherit;font-size:.88rem;text-decoration:none;transition:background .2s,color .2s;display:flex}.user-menu-item:hover{background:var(--accent-glow);color:var(--text)}.user-menu-danger{color:var(--red)}.user-menu-danger:hover{color:var(--red);background:#f871711f}.admin-content{flex-direction:column;flex:1;width:100%;padding:1.5rem;display:flex}.admin-page-inner{flex:1;width:100%}@media (max-width:992px){.admin-sidebar{position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.admin-layout.sidebar-open .admin-sidebar{transform:translate(0)}.admin-layout.sidebar-open .admin-overlay{display:block}.topbar-burger{display:inline-flex}}@media (max-width:768px){.admin-content{padding:1rem}.user-info,.user-caret{display:none}.user-button{padding:.3rem}}.charts-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}.chart-card{flex-direction:column;padding:1.25rem 1.5rem;display:flex}.chart-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.chart-card-title{letter-spacing:-.01em;font-size:1rem;font-weight:800}.chart-wrap{flex:1;align-items:flex-end;display:flex}.chart-bars{align-items:flex-end;gap:10px;width:100%;padding-top:1.5rem;display:flex}.chart-bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.chart-bar-col-inner{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.chart-bar-fill{opacity:.9;border-radius:8px 8px 4px 4px;width:70%;max-width:46px;min-height:4px;transition:height .8s cubic-bezier(.4,0,.2,1)}.chart-bar-fill:hover{opacity:1}.chart-bar-value{color:var(--text);font-size:.75rem;font-weight:700;position:absolute;top:-1.5rem}.chart-bar-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.5rem;font-size:.72rem;font-weight:500;overflow:hidden}.chart-empty{color:var(--text-dim);text-align:center;width:100%;font-size:.85rem}.donut-wrap{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:1.25rem;display:flex}.donut-chart{flex-shrink:0;position:relative}.donut-chart svg{display:block}.donut-center{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-total{color:var(--text);font-size:1.6rem;font-weight:800;line-height:1.1}.donut-label{color:var(--text-muted);font-size:.72rem}.donut-legend{flex-direction:column;gap:.7rem;min-width:130px;display:flex}.donut-legend-item{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.legend-dot{border-radius:4px;flex-shrink:0;width:11px;height:11px}.legend-label{color:var(--text-muted);flex:1}.legend-value{color:var(--text);font-weight:700}@media (max-width:1100px){.charts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.charts-grid{grid-template-columns:1fr}}.actions .icon-only{justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.cotisations-summary{background:var(--bg-card);border:1px solid var(--border-hover);color:var(--text-muted);border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-bottom:1rem;padding:.8rem 1.1rem;font-size:.88rem;display:flex}.cotisations-summary strong{color:var(--text)}.cotisations-mois-head{min-width:200px}.mois-grid{grid-template-columns:repeat(12,minmax(26px,1fr));gap:4px;min-width:320px;display:grid}.mois-chip{border:1px solid var(--border-hover);background:var(--bg);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.mois-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.mois-chip.paye{background:var(--green);color:#fff;border-color:var(--green)}.mois-chip.mois-courant:not(.paye){border-color:var(--accent);color:var(--accent)}.mois-chip:disabled{opacity:.6;cursor:wait}.row-saving td{background:var(--accent-glow)!important}.photo-placeholder-cell{background:var(--accent-glow);color:var(--text-muted);justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}@media (max-width:1100px){.cotisations-mois-head{min-width:150px}.mois-grid{grid-template-columns:repeat(6,1fr);min-width:150px}}.toolbar-right{align-items:center;gap:.5rem;display:flex}.toolbar-right .search-input{min-width:220px}.pagination{justify-content:center;align-items:center;gap:.8rem;margin-top:1.2rem;display:flex}.pagination .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pagination-info{color:var(--text-muted);font-size:.85rem}
