@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Mono:wght@400;500&display=swap";.auth-shell{min-height:100vh;background:#1c1b1f;background-image:radial-gradient(ellipse 60% 50% at 20% 10%,rgba(124,111,240,.08) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 80% 85%,rgba(100,210,200,.05) 0%,transparent 60%);display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;padding:24px}.auth-card{background:#2b2930;border:1px solid rgba(255,255,255,.07);border-radius:24px;padding:44px 40px;width:100%;max-width:400px;box-shadow:0 12px 32px #00000073,0 4px 12px #0000004d;animation:authSlideUp .38s cubic-bezier(.16,1,.3,1)}@keyframes authSlideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-header{text-align:center;margin-bottom:36px}.auth-logo-wrap{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#7c6ff0,#b0a6ff);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 20px;box-shadow:0 6px 20px #7c6ff066}.auth-logo{font-size:32px;color:#b0a6ff;display:block;margin-bottom:16px}.auth-title{font-family:DM Sans,sans-serif;font-size:22px;font-weight:700;color:#e8e0f0;margin-bottom:6px;letter-spacing:-.01em}.auth-sub{font-size:13.5px;color:#7a7288;letter-spacing:.01em}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-form .form-group{display:flex;flex-direction:column;gap:7px}.auth-form .form-label{font-size:11.5px;font-weight:600;color:#7a7288;text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.auth-form .form-input{background:#322f38;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;color:#e8e0f0;font-family:DM Sans,sans-serif;font-size:15px;padding:13px 16px;outline:none;width:100%;transition:all .2s ease}.auth-form .form-input:focus{border-color:#b0a6ff;background:#3a3740;box-shadow:0 0 0 3px #b0a6ff1f}.auth-form .form-input::placeholder{color:#4a4358}.auth-submit{margin-top:6px;width:100%;justify-content:center;padding:14px;font-size:15px;font-weight:700;border-radius:999px;letter-spacing:.01em}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .18s ease;font-family:DM Sans,sans-serif}.btn-primary{background:#b0a6ff;color:#1c1b1f;font-weight:700;box-shadow:0 3px 14px #7c6ff059}.btn-primary:hover:not(:disabled){background:#c4bcff;box-shadow:0 5px 20px #7c6ff073;transform:translateY(-1px)}.spinner{width:16px;height:16px;border:2.5px solid rgba(28,27,31,.25);border-top-color:#1c1b1f;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.alert{padding:12px 15px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:9px}.alert-error{background:#f28b821a;border:1px solid rgba(242,139,130,.25);color:#f28b82}.alert-success{background:#81c9951a;border:1px solid rgba(129,201,149,.25);color:#81c995}.auth-link{margin-top:24px;text-align:center;font-size:13px;color:#7a7288}.auth-link a{color:#b0a6ff;text-decoration:none;font-weight:600;transition:color .15s}.auth-link a:hover{color:#c4bcff}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0;color:#4a4358;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid rgba(255,255,255,.07)}:root{--bg: #1c1b1f;--surface: #2b2930;--surface2: #322f38;--surface3: #3a3740;--surface4: #413e48;--elev-1: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--elev-2: 0 3px 6px rgba(0,0,0,.35), 0 2px 4px rgba(0,0,0,.25);--elev-3: 0 6px 16px rgba(0,0,0,.35), 0 3px 6px rgba(0,0,0,.25);--elev-4: 0 12px 28px rgba(0,0,0,.4), 0 6px 12px rgba(0,0,0,.25);--accent: #b0a6ff;--accent-dark: #7c6ff0;--accent-dim: rgba(176,166,255,.12);--accent-tonal: rgba(176,166,255,.08);--accent-2: #64d2c8;--accent-2-dim: rgba(100,210,200,.1);--border: rgba(255,255,255,.06);--border2: rgba(255,255,255,.1);--border3: rgba(176,166,255,.35);--text: #e8e0f0;--text-2: #b8b0c8;--text-3: #7a7288;--danger: #f28b82;--warn: #fdd663;--success: #81c995;--sidebar-w: 240px;--topbar-h: 60px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}html{height:100%;overflow:hidden}body{height:100%;background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased}.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--elev-2);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:14px;padding:18px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.brand-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent-dark),var(--accent));color:#1c1b1f;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #7c6ff066;flex-shrink:0}.brand-name{font-family:DM Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--text);text-transform:uppercase}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-section-label{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;padding:8px 12px 4px;font-family:DM Mono,monospace}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);color:var(--text-2);text-decoration:none;font-size:14px;font-weight:500;transition:all .18s ease;position:relative}.nav-item:hover{color:var(--text);background:#ffffff0d}.nav-item.active{color:var(--accent);background:var(--accent-dim)}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0;opacity:.7;transition:opacity .18s}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--border);padding:14px 10px;display:flex;align-items:center;gap:8px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent-dark),var(--accent-2));color:#1c1b1f;font-family:DM Mono,monospace;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--elev-1)}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mail{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:transparent;border:1px solid var(--border2);border-radius:var(--radius);color:var(--text-3);cursor:pointer;font-size:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s ease}.logout-btn:hover{border-color:#f28b8266;color:var(--danger);background:#f28b8214}.main-content{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;min-width:0}.top-bar{min-height:var(--topbar-h);border-bottom:1px solid var(--border);padding:0 12px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:var(--surface);box-shadow:var(--elev-1);flex-shrink:0;z-index:10}.page-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:.01em}.top-bar-right{display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 6px #81c99599;animation:pulse 3s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace}.page-body{flex:1;padding:28px;overflow-y:auto}.page-body--kanban{overflow:hidden;display:flex;flex-direction:column}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--elev-1);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{border-color:var(--border2);box-shadow:var(--elev-2)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .18s ease;font-family:inherit;letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#1c1b1f;box-shadow:0 2px 12px #7c6ff059;font-weight:700}.btn-primary:hover:not(:disabled){background:#c4bcff;box-shadow:0 4px 18px #7c6ff073;transform:translateY(-1px)}.btn-ghost{background:var(--surface2);border:1px solid var(--border2);color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface3);color:var(--text);border-color:var(--border3)}.btn-tonal{background:var(--accent-dim);color:var(--accent);border:none}.btn-tonal:hover:not(:disabled){background:#b0a6ff2e}.btn-danger{background:#f28b821a;border:1px solid rgba(242,139,130,.25);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f28b8229;box-shadow:0 2px 12px #f28b8233}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.form-input,.form-select,.form-textarea{background:var(--surface2);border:1.5px solid var(--border2);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;padding:11px 14px;outline:none;transition:all .18s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);background:var(--surface3);box-shadow:0 0 0 3px #b0a6ff1f}.form-input::placeholder{color:var(--text-3)}.form-textarea{resize:vertical;min-height:84px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;font-family:DM Mono,monospace;letter-spacing:.03em}.badge-haute{background:#f28b8226;color:var(--danger);border:1px solid rgba(242,139,130,.25)}.badge-moyenne{background:#fdd6631f;color:var(--warn);border:1px solid rgba(253,214,99,.25)}.badge-basse{background:#81c9951a;color:var(--success);border:1px solid rgba(129,201,149,.2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 20px;color:var(--text-3);text-align:center}.empty-icon{font-size:44px;opacity:.25}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-xl);padding:30px;width:100%;max-width:460px;box-shadow:var(--elev-4);animation:slideUp .22s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:16px;font-weight:700;margin-bottom:22px;color:var(--text);letter-spacing:.01em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.loader{display:flex;align-items:center;justify-content:center;padding:56px;color:var(--text-3);font-size:13px;gap:12px}.spinner{width:20px;height:20px;border:2.5px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:12px 16px;border-radius:var(--radius);font-size:13.5px;display:flex;align-items:center;gap:10px}.alert-error{background:#f28b821a;border:1px solid rgba(242,139,130,.25);color:var(--danger)}.alert-success{background:#81c9951a;border:1px solid rgba(129,201,149,.25);color:var(--success)}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--surface3);border:1px solid var(--border2);color:var(--text-2);cursor:default}@media(max-height:600px){.sidebar-brand{padding:10px 20px}.sidebar-footer{padding:8px 10px}.nav-item{padding:7px 14px}.nav-section-label{padding:4px 12px 2px}.top-bar{height:50px}:root{--topbar-h: 50px}}@media(max-width:700px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;height:100%;width:var(--sidebar-w);transform:translate(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1);z-index:200}.sidebar--open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:199;animation:fadeIn .2s ease}.hamburger-btn{display:flex}.page-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.search-bar{flex-wrap:wrap;gap:4px}.search-input{width:140px}.search-input:focus{width:160px}.search-filter-btn-group,.search-filter-btn--done,.search-select-wrapper,.search-reset-btn,.avatars-stack{display:none}.members-btn{width:auto;padding:6px 10px}}.top-bar-board{display:flex;align-items:center;gap:12px}.search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:11px;color:var(--text-3);pointer-events:none;flex-shrink:0}.search-input{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:13px;padding:7px 32px;outline:none;width:220px;transition:width .22s ease,border-color .18s ease,background .18s ease}.search-input::placeholder{color:var(--text-3)}.search-input:focus{border-color:var(--accent);background:var(--surface3);box-shadow:0 0 0 3px #b0a6ff1a;width:280px}.search-clear{position:absolute;right:8px;background:transparent;border:none;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:color .15s}.search-clear:hover{color:var(--text)}.search-bar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.search-filter-btn-group{display:flex;align-items:center;gap:3px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);padding:3px;transition:border-color .18s}.search-filter-btn-group--active{border-color:var(--accent)}.search-filter-btn{padding:4px 8px;border-radius:calc(var(--radius) - 2px);border:none;background:transparent;color:var(--text-3);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.search-filter-btn:hover{background:var(--surface3);color:var(--text-2)}.search-filter-btn--basse.search-filter-btn--selected{background:#64d28c2e;color:#64d28c}.search-filter-btn--moyenne.search-filter-btn--selected{background:#ffba492e;color:#ffba49}.search-filter-btn--haute.search-filter-btn--selected{background:#ff63632e;color:#ff6363}.search-filter-btn--done{display:inline-flex;align-items:center;gap:4px}.search-filter-btn--done.search-filter-btn--selected{background:#78b4ff2e;color:#78b4ff}.search-select-wrapper{position:relative}.search-select-trigger{display:inline-flex;align-items:center;gap:6px;width:110px;padding:6px 8px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text-3);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s,border-color .15s;-webkit-user-select:none;user-select:none;flex-shrink:0}.search-select-trigger>span{flex:1;overflow:hidden;text-overflow:ellipsis}.search-select-trigger:hover{background:var(--surface3);color:var(--text-2)}.search-select-trigger--active{border-color:var(--accent);color:var(--text);background:var(--surface3)}.search-select-chevron{color:var(--text-3);transition:transform .18s ease;flex-shrink:0}.search-select-chevron--open{transform:rotate(180deg)}.search-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:0 8px 24px #00000040;padding:4px;margin:0;list-style:none;z-index:200}.search-select-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:12px;color:var(--text-2);transition:background .12s;-webkit-user-select:none;user-select:none}.search-select-option:hover{background:var(--surface3);color:var(--text)}.search-select-option--checked{color:var(--text)}.search-select-option-check{width:14px;height:14px;border:1px solid var(--border2);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);transition:background .12s,border-color .12s}.search-select-option--checked .search-select-option-check{background:#b0a6ff26;border-color:var(--accent)}.search-select-option-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-reset-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border2);border-radius:var(--radius);background:transparent;color:var(--text-3);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.search-reset-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--accent)}.members-trigger{position:relative;display:flex;align-items:center;gap:8px}.avatars-stack{display:flex;align-items:center}.stacked-avatar{width:28px;height:28px;border-radius:50%;font-family:DM Mono,monospace;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);margin-left:-8px;cursor:default;transition:transform .15s ease;flex-shrink:0;position:relative}.stacked-avatar:first-child{margin-left:0}.stacked-avatar:hover{transform:translateY(-2px);z-index:1}.stacked-avatar--extra{background:var(--surface3);color:var(--text-3);font-size:9px}.members-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:92px;padding:6px 0;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text-2);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap;flex-shrink:0}.members-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border3)}.members-btn--active{background:var(--accent-dim);border-color:#b0a6ff4d;color:var(--accent)}.members-panel{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-lg);box-shadow:var(--elev-4);z-index:50;animation:slideDown .18s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.members-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.members-panel-title{font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.members-panel-close{background:transparent;border:none;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:color .15s}.members-panel-close:hover{color:var(--text)}.members-panel-loader{display:flex;justify-content:center;padding:24px}.members-list{list-style:none;padding:6px 0;max-height:280px;overflow-y:auto}.member-row{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:background .15s}.member-row:hover{background:#ffffff08}.member-avatar{width:30px;height:30px;border-radius:50%;font-family:DM Mono,monospace;font-size:10px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.member-name{font-size:13px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-you{font-size:10px;color:var(--text-3);font-family:DM Mono,monospace;font-weight:400}.member-email{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role-select{background:var(--surface3);border:1px solid var(--border2);border-radius:8px;color:var(--text-2);font-family:inherit;font-size:11px;padding:4px 6px;outline:none;cursor:pointer;flex-shrink:0;transition:border-color .15s}.member-role-select:focus{border-color:var(--accent)}.role-chip{font-size:10px;font-weight:600;font-family:DM Mono,monospace;padding:3px 8px;border-radius:var(--radius-full);flex-shrink:0}.role-chip--admin{background:#b0a6ff1f;color:var(--accent);border:1px solid rgba(176,166,255,.2)}.role-chip--editeur{background:#64d2c81a;color:var(--accent-2);border:1px solid rgba(100,210,200,.2)}.role-chip--lecteur{background:var(--surface3);color:var(--text-3);border:1px solid var(--border2)}.invite-section{padding:12px 16px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.invite-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.invite-error{font-size:12px;color:var(--danger)}.invite-row{display:flex;gap:6px}.invite-email{font-size:12px!important;padding:7px 10px!important}.invite-btn{font-size:12px;padding:7px 14px;border-radius:var(--radius);width:100%;justify-content:center}.invite-search-wrapper{position:relative}.invite-autocomplete{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface3);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:var(--elev-3);list-style:none;z-index:60;overflow:hidden;animation:slideDown .12s ease}.invite-autocomplete-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .12s}.invite-autocomplete-item:hover{background:#ffffff0d}.invite-ac-avatar{width:26px;height:26px;border-radius:50%;font-size:9px;font-weight:600;font-family:DM Mono,monospace;display:flex;align-items:center;justify-content:center;flex-shrink:0}.invite-ac-info{display:flex;flex-direction:column;gap:1px;min-width:0}.invite-ac-name{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-ac-email{font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-no-result{font-size:12px;color:var(--text-3);padding:6px 0 2px;text-align:center}.invite-success{font-size:12px;color:var(--success);padding:2px 0}.invite-row{display:flex;gap:6px;margin-top:6px}.invite-btn{font-size:12px;padding:7px 14px;border-radius:var(--radius);white-space:nowrap}.stacked-avatar--btn{cursor:pointer;border:none;padding:0;font-family:DM Mono,monospace;font-size:10px;font-weight:500;transition:box-shadow .15s ease}.avatar-wrapper{transition:transform .15s ease}.avatar-wrapper:hover{transform:translateY(-3px) scale(1.1)}.avatar-wrapper:hover .stacked-avatar--btn{box-shadow:0 0 0 3px var(--avatar-glow, rgba(255,255,255,.2))}.hamburger-btn{display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border2);border-radius:var(--radius);color:var(--text-2);cursor:pointer;width:34px;height:34px;flex-shrink:0;transition:background .15s,color .15s;margin-right:4px}.hamburger-btn:hover{background:var(--surface2);color:var(--text)}.sidebar-backdrop{display:none}.boards-page{display:flex;flex-direction:column;gap:24px}.boards-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.boards-count{font-family:DM Mono,monospace;font-size:12px;color:var(--text-3);letter-spacing:.04em}.boards-search{position:relative;flex:1;max-width:280px}.boards-search .form-input{padding-left:38px;font-size:13.5px}.boards-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:14px;pointer-events:none}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(256px,1fr));gap:16px}.board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;box-shadow:var(--elev-1);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;display:flex;flex-direction:column;gap:12px;outline:none;overflow:hidden}.board-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-dark),var(--accent));opacity:0;transition:opacity .22s ease;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.board-card:hover{border-color:var(--border2);box-shadow:var(--elev-3);transform:translateY(-3px)}.board-card:hover:before{opacity:1}.board-card:focus-visible{border-color:var(--accent);box-shadow:var(--elev-2),0 0 0 3px #b0a6ff33}.board-card-header{display:flex;align-items:center;gap:4px}.board-card-header .board-icon{margin-right:auto}.board-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;transition:background-color .2s ease}.board-card:hover .board-icon{background:#b0a6ff2e}.role-badge{font-size:10px;font-family:DM Mono,monospace;font-weight:500;letter-spacing:.04em;padding:3px 10px;border-radius:999px;text-transform:uppercase}.role-admin{background:#f8717126;color:#f87171;border:1px solid rgba(248,113,113,.25)}.role-editeur{background:#64d2c81f;color:var(--accent-2);border:1px solid rgba(100,210,200,.22)}.role-lecteur{background:#b0a6ff26;color:var(--accent);border:1px solid rgba(176,166,255,.25)}.board-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.35;letter-spacing:-.01em}.board-meta{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px;font-family:DM Mono,monospace}.meta-sep{color:var(--border2)}.board-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:4px}.board-arrow{color:var(--text-3);font-size:16px;transition:color .2s ease,transform .2s ease}.board-card:hover .board-arrow{color:var(--accent);transform:translate(3px)}.board-card-new{background:transparent;border:2px dashed var(--border2);border-radius:var(--radius-lg);padding:20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:160px;color:var(--text-3);font-size:13.5px;font-weight:500;transition:border-color .2s ease,color .2s ease,background-color .2s ease;outline:none}.board-card-new:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tonal)}.board-card-new-icon{font-size:26px;opacity:.5;transition:opacity .2s}.board-card-new:hover .board-card-new-icon{opacity:1}.board-delete-btn{margin-left:auto;background:none;border:none;color:transparent;cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:4px;transition:color .15s ease,background-color .15s ease}.board-card:hover .board-delete-btn{color:#f87171}.board-delete-btn:hover{background-color:#f8717126}.board-leave-btn{background:none;border:none;color:transparent;cursor:pointer;font-size:.95rem;padding:2px 6px;border-radius:4px;transition:color .15s ease,background-color .15s ease}.board-card:hover .board-leave-btn{color:var(--accent-2, #7ec8e3)}.board-leave-btn:hover{background-color:#7ec8e326}.boards-title{font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.boards-section{display:flex;flex-direction:column;gap:16px}.invitations-count{display:inline-flex;align-items:center;justify-content:center;background:#b0a6ff2e;color:var(--accent);border:1px solid rgba(176,166,255,.3);border-radius:999px;font-size:11px;font-family:DM Mono,monospace;font-weight:600;padding:1px 8px;margin-left:10px;vertical-align:middle}.invitations-list{display:flex;flex-direction:column;gap:8px;max-width:560px}.invitation-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-1);transition:border-color .15s}.invitation-card:hover{border-color:#b0a6ff4d}.invitation-info{display:flex;align-items:center;gap:12px;min-width:0}.invitation-board-icon{width:34px;height:34px;border-radius:8px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.invitation-board-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitation-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-sm{font-size:12px;padding:5px 14px;height:auto}.dashboard-page{display:flex;flex-direction:column;gap:20px;height:100%}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.back-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--text-3);font-size:13px;cursor:pointer;font-family:DM Mono,monospace;padding:6px 10px;border-radius:var(--radius);transition:all .15s;letter-spacing:.04em;text-transform:uppercase}.back-btn:hover{color:var(--accent);background:var(--accent-dim)}.kanban-board{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;align-items:stretch;flex:1;min-height:0}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:var(--surface);border-radius:99px}.kanban-board::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:99px}.kanban-board::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;flex-shrink:0;display:flex;flex-direction:column;box-shadow:var(--elev-1);transition:all .2s ease;overflow:hidden;min-height:0}.kanban-col.drag-over{border-color:var(--accent);box-shadow:var(--elev-2),0 0 0 2px #b0a6ff26;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.col-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border)}.col-header-left{display:flex;align-items:center;gap:10px}.col-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.col-name{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em;flex:1;min-width:0}.col-name-input{font-size:13px;font-weight:600;color:var(--text);background:var(--surface2);border:1px solid var(--accent);border-radius:var(--radius);padding:2px 8px;outline:none;min-width:0;flex:1;font-family:inherit;letter-spacing:.01em;box-shadow:0 0 0 2px #b0a6ff26}.board-name-heading{display:flex;align-items:center;gap:8px;margin:-4px 0 4px}.board-name-title{font-size:22px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em;line-height:1.2;border-radius:var(--radius);padding:2px 6px;transition:background .15s}.board-name-title:hover{background:var(--surface2)}.board-name-input{font-size:22px;font-weight:700;color:var(--text);background:var(--surface2);border:1px solid var(--accent);border-radius:var(--radius);padding:2px 8px;outline:none;font-family:inherit;letter-spacing:-.01em;box-shadow:0 0 0 2px #b0a6ff26;width:100%;max-width:500px}.col-count{font-size:11px;font-family:DM Mono,monospace;color:var(--text-3);background:var(--surface2);border-radius:999px;padding:2px 9px;border:1px solid var(--border)}.col-menu-btn{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s}.col-menu-btn:hover{color:var(--text);background:var(--surface2)}.col-tasks{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:56px;flex:1;overflow-y:auto;min-height:0}.col-tasks::-webkit-scrollbar{width:4px}.col-tasks::-webkit-scrollbar-track{background:transparent}.col-tasks::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:99px}.col-tasks::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}.task-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:13px;cursor:grab;display:flex;flex-direction:column;gap:9px;box-shadow:var(--elev-1);transition:all .18s ease;position:relative}.task-card:active{cursor:grabbing;transform:scale(.98) rotate(.4deg);box-shadow:var(--elev-3);z-index:10}.task-card:hover{border-color:var(--border2);box-shadow:var(--elev-2);transform:translateY(-1px)}.task-header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.task-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0}.task-card:hover .task-actions{opacity:1}.task-pos-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 7px;border-radius:var(--radius);background:var(--surface3);border:1px solid var(--border2);color:var(--text-3);font-family:DM Mono,monospace;font-size:11px;font-weight:600;cursor:pointer;line-height:1;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s;flex-shrink:0}.task-card:hover .task-pos-badge{opacity:1}.task-pos-badge:hover{background:#b0a6ff26;border-color:var(--accent);color:var(--accent)}.task-pos-badge--readonly{cursor:default;pointer-events:none}.task-pos-input{width:46px;height:24px;padding:0 6px;border-radius:var(--radius);border:1px solid var(--accent);background:#b0a6ff1a;color:var(--accent);font-family:DM Mono,monospace;font-size:11px;font-weight:600;text-align:center;outline:none;box-shadow:0 0 0 3px #b0a6ff26;-moz-appearance:textfield}.task-pos-input::-webkit-inner-spin-button,.task-pos-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.icon-btn{background:var(--surface3);border:1px solid var(--border2);border-radius:8px;color:var(--text-3);cursor:pointer;font-size:11px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.icon-btn:hover{color:var(--text);border-color:var(--border3);background:var(--surface4)}.icon-btn.danger:hover{color:var(--danger);border-color:#f28b824d;background:#f28b8214}.task-title{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.4;letter-spacing:-.01em}.task-details{font-size:12px;color:var(--text-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.task-date{font-size:11px;color:var(--text-3);font-family:DM Mono,monospace;display:flex;align-items:center;gap:4px}.task-date.overdue{color:var(--danger)}.task-date.validated{color:#81c995}.task-assignee{font-size:11px;color:var(--text-3);font-family:DM Mono,monospace;display:flex;align-items:center;gap:6px}.task-assignee-avatar{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent-dark),var(--accent-2));display:flex;align-items:center;justify-content:center;font-size:9px;color:#1c1b1f;font-weight:600;flex-shrink:0}.add-task-btn{margin:8px;padding:9px;border-radius:var(--radius);border:1.5px dashed rgba(176,166,255,.2);background:transparent;color:var(--text-3);font-size:13px;cursor:pointer;text-align:center;transition:all .2s ease;font-family:inherit}.add-task-btn:hover{border-color:#b0a6ff73;color:var(--accent);background:var(--accent-tonal)}.kanban-col-new{width:280px;flex-shrink:0;border:2px dashed var(--border2);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;min-height:120px;cursor:pointer;color:var(--text-3);font-size:13px;gap:8px;transition:all .2s ease;background:transparent;font-family:inherit}.kanban-col-new:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tonal)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-placeholder{height:72px;border:2px dashed rgba(176,166,255,.25);border-radius:var(--radius);background:var(--accent-tonal);transition:all .15s ease}.task-card.dragging{opacity:.35;transform:scale(.97);box-shadow:none;border-style:dashed;border-color:var(--border2)}.task-card.drag-over-task{border-top:2px solid var(--accent);margin-top:-2px;border-radius:var(--radius)}.kanban-col.drag-over .col-tasks{background:var(--accent-tonal);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.task-drop-placeholder{height:64px;border:2px dashed var(--accent);border-radius:var(--radius);background:var(--accent-tonal);opacity:.6;flex-shrink:0;transition:all .15s ease}.confirm-modal{text-align:center}.confirm-modal-icon{width:52px;height:52px;border-radius:50%;background:#f28b821f;border:1px solid rgba(242,139,130,.25);color:var(--danger);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.confirm-modal-title{margin-bottom:8px!important;font-size:15px!important}.confirm-modal-hint{font-size:12px;color:var(--text-3);margin-bottom:4px}.confirm-modal .modal-actions{justify-content:center;gap:10px}.logs-page{display:flex;flex-direction:column;gap:24px}.logs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.filter-tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px}.filter-tab{background:none;border:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:500;color:var(--text-3);cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.filter-tab:hover{color:var(--text);background:var(--surface2)}.filter-tab.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.logs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-chip{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--elev-1);transition:all .18s ease}.stat-chip:hover{box-shadow:var(--elev-2);border-color:var(--border2)}.stat-chip-header{display:flex;align-items:center;gap:8px}.stat-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px}.stat-icon.creation{background:#b0a6ff1f;color:#b0a6ff}.stat-icon.deplacement{background:#64d2c81a;color:#64d2c8}.stat-icon.modification{background:#fdd6631a;color:#fdd663}.stat-count{font-family:DM Mono,monospace;font-weight:600;color:var(--text);font-size:22px;line-height:1}.stat-label{color:var(--text-3);font-size:12px;font-weight:500}.logs-timeline{display:flex;flex-direction:column;gap:2px}.log-date-group{margin-top:16px}.log-date-label{font-size:11px;font-weight:600;font-family:DM Mono,monospace;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;padding:6px 4px 10px}.log-entry{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);transition:all .15s ease;border:1px solid transparent}.log-entry:hover{background:var(--surface);border-color:var(--border);box-shadow:var(--elev-1)}.log-bullet{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:1px}.log-bullet.log-creation{background:#b0a6ff1f;color:#b0a6ff;border:1px solid rgba(176,166,255,.2)}.log-bullet.log-deplacement{background:#64d2c81a;color:#64d2c8;border:1px solid rgba(100,210,200,.2)}.log-bullet.log-modification{background:#fdd6631a;color:#fdd663;border:1px solid rgba(253,214,99,.2)}.log-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.log-desc{font-size:14px;color:var(--text);font-weight:500;line-height:1.35}.log-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.log-author{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:6px;font-family:DM Mono,monospace}.log-author-avatar{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#7c6ff0,#64d2c8);display:inline-block;flex-shrink:0}.log-table{font-size:11.5px;color:var(--text-3);font-family:DM Mono,monospace;background:var(--surface2);padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.log-date{font-size:11px;color:var(--text-3);font-family:DM Mono,monospace;margin-left:auto;white-space:nowrap}.log-icon{font-size:14px}.log-creation{color:#b0a6ff}.log-deplacement{color:#64d2c8}.log-modification{color:#fdd663}.logs-profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--elev-1)}.logs-profile-identity{display:flex;align-items:flex-start;gap:16px}.logs-profile-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:18px;font-weight:700;flex-shrink:0}.logs-profile-text{display:flex;flex-direction:column;gap:4px;padding-top:4px}.logs-profile-name{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.logs-profile-email{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace}.logs-profile-activity{font-size:11.5px;color:var(--text-3);margin-top:2px}.logs-profile-error{font-size:13px;color:var(--danger)}.logs-profile-stats{grid-template-columns:repeat(5,1fr)!important;border-top:1px solid var(--border);padding-top:16px}@media(max-width:1100px){.logs-profile-stats{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:700px){.logs-profile-stats{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:400px){.logs-profile-stats{grid-template-columns:1fr!important}}.logs-filters-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.logs-date-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);white-space:nowrap}.logs-date-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-family:DM Mono,monospace;padding:5px 8px;outline:none;cursor:pointer;transition:border-color .12s;color-scheme:dark}.logs-date-input:focus{border-color:var(--accent)}.logs-date-reset{background:none;border:none;color:var(--text-3);font-size:13px;cursor:pointer;padding:4px 6px;border-radius:6px;transition:color .12s,background .12s}.logs-date-reset:hover{color:var(--text);background:var(--surface2)}.admin-page{display:flex;flex-direction:column;gap:20px;height:100%}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-page-header-text{display:flex;flex-direction:column;gap:3px}.admin-page-title{font-size:17px;font-weight:600;color:var(--text);letter-spacing:-.01em}.admin-page-subtitle{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace}.admin-btn{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;padding:8px 14px;transition:all .15s ease;position:relative;flex-shrink:0}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--primary{background:linear-gradient(135deg,var(--accent-dark),var(--accent));color:#1c1b1f}.admin-btn--primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 12px #b0a6ff40}.admin-btn--primary:active:not(:disabled){transform:translateY(0)}.admin-btn--ghost{background:transparent;border:1px solid var(--border2);color:var(--text-2)}.admin-btn--ghost:hover:not(:disabled){background:#ffffff0d;border-color:var(--border3);color:var(--text)}.admin-btn--danger{background:#f28b821f;border:1px solid rgba(242,139,130,.3);color:var(--danger)}.admin-btn--danger:hover:not(:disabled){background:#f28b8233;border-color:#f28b8280}.admin-btn--create{padding:9px 16px;font-size:13px}.admin-btn-spinner{width:12px;height:12px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:admin-spin .6s linear infinite;flex-shrink:0}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:900px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.admin-stats-grid{grid-template-columns:1fr}}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--elev-1);transition:transform .15s ease,box-shadow .15s ease}.admin-stat-card:hover{transform:translateY(-1px);box-shadow:var(--elev-2)}.admin-stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--stat-accent, var(--accent));background:color-mix(in srgb,var(--stat-accent, var(--accent)) 10%,transparent)}.admin-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-stat-value{font-size:22px;font-weight:700;color:var(--text);font-family:DM Mono,monospace;line-height:1}.admin-stat-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.admin-toolbar{display:flex;align-items:center;gap:12px}.admin-search-wrap{position:relative;flex:1;max-width:400px}.admin-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.admin-search-input{width:100%;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:9px 36px;font-size:13px;color:var(--text);font-family:DM Sans,sans-serif;transition:border-color .15s;outline:none}.admin-search-input:focus{border-color:var(--border3);box-shadow:0 0 0 3px #b0a6ff1a}.admin-search-input::placeholder{color:var(--text-3)}.admin-search-input::-webkit-search-cancel-button{display:none}.admin-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-3);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .12s}.admin-search-clear:hover{color:var(--text)}.admin-result-count{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace;flex-shrink:0}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--elev-1);flex:1;overflow-y:auto;min-height:200px}.admin-table-wrap::-webkit-scrollbar{width:5px}.admin-table-wrap::-webkit-scrollbar-track{background:transparent}.admin-table-wrap::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:99px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table-head{position:sticky;top:0;z-index:2}.admin-th{padding:12px 14px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);background:var(--surface2);border-bottom:1px solid var(--border);white-space:nowrap;font-family:DM Mono,monospace}.admin-th--avatar{width:48px}.admin-th--actions{width:120px}.admin-th--email{display:none}@media(min-width:700px){.admin-th--email{display:table-cell}}.admin-user-row{border-bottom:1px solid var(--border);transition:background .12s}.admin-user-row:last-child{border-bottom:none}.admin-user-row:hover{background:#ffffff06}.admin-user-row--self{background:color-mix(in srgb,var(--accent) 4%,transparent)}.admin-user-row--self:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.admin-user-td{padding:11px 14px;vertical-align:middle;color:var(--text-2)}.admin-user-td--avatar{padding:10px 8px 10px 14px}.admin-user-td--email{display:none;max-width:200px}.admin-user-td--actions{text-align:right}@media(min-width:700px){.admin-user-td--email{display:table-cell}}.admin-user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:DM Mono,monospace;flex-shrink:0;letter-spacing:-.02em}.admin-user-name-block{display:flex;align-items:center;gap:8px}.admin-user-fullname{font-size:13px;font-weight:500;color:var(--text)}.admin-user-self-tag{font-size:10px;font-weight:600;font-family:DM Mono,monospace;letter-spacing:.05em;color:var(--accent);background:var(--accent-dim);padding:2px 6px;border-radius:4px}.admin-user-email{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.admin-role-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;font-family:DM Mono,monospace;padding:3px 8px;border-radius:6px;letter-spacing:.02em;white-space:nowrap}.admin-role-badge--admin{color:#fdd663;background:#fdd6631f;border:1px solid rgba(253,214,99,.25)}.admin-role-badge--member{color:var(--text-3);background:#ffffff0a;border:1px solid var(--border)}.admin-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.admin-action-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;font-family:DM Sans,sans-serif;padding:5px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all .12s ease}.admin-action-btn--delete{background:transparent;border-color:transparent;color:var(--text-3)}.admin-action-btn--delete:hover{background:#f28b821a;border-color:#f28b824d;color:var(--danger)}.admin-action-btn--profile{background:transparent;border-color:transparent;color:var(--text-3)}.admin-action-btn--profile:hover{background:#b0a6ff1a;border-color:#b0a6ff40;color:var(--accent)}.admin-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--text-3);font-size:13px}.admin-state--error{color:var(--danger)}.admin-skeleton-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.admin-skeleton{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface3) 50%,var(--surface2) 75%);background-size:200% 100%;animation:admin-shimmer 1.4s ease-in-out infinite;border-radius:6px}@keyframes admin-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-skeleton--avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0}.admin-skeleton--name{width:120px;height:13px}.admin-skeleton--email{width:180px;height:12px}.admin-skeleton--toggle{width:52px;height:24px;border-radius:12px}.admin-skeleton--value{width:50px;height:22px}.admin-th--toggle{width:140px}.admin-toggle-cell{display:flex;align-items:center;gap:9px}.admin-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;background:var(--surface3);cursor:pointer;flex-shrink:0;transition:background .2s ease;padding:0;display:flex;align-items:center}.admin-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-toggle--on{background:var(--accent-dark)}.admin-toggle--pending{opacity:.6;cursor:wait}.admin-toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.admin-toggle--on .admin-toggle-thumb{transform:translate(16px)}.admin-toggle-spinner{position:absolute;inset:0;margin:auto;width:10px;height:10px;border:1.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:admin-spin .6s linear infinite;pointer-events:none}.admin-toggle-label{font-size:12px;color:var(--text-3);font-family:DM Mono,monospace;transition:color .15s;white-space:nowrap}.admin-toggle-label--on{color:var(--accent)}.admin-form-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#f28b821a;border:1px solid rgba(242,139,130,.3);border-radius:var(--radius);color:var(--danger);font-size:12px;line-height:1.5}.admin-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;animation:admin-fade-in .15s ease}.admin-modal{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-xl);box-shadow:var(--elev-4);width:100%;max-width:420px;padding:24px;display:flex;flex-direction:column;gap:16px;animation:admin-modal-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes admin-modal-in{0%{transform:scale(.94) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.admin-modal-header{display:flex;align-items:flex-start;gap:12px}.admin-modal-warning-icon{width:40px;height:40px;border-radius:10px;background:#fdd6631a;border:1px solid rgba(253,214,99,.2);color:var(--warn);display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-modal-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.admin-modal-subtitle{font-size:12px;color:var(--text-3)}.admin-modal-user-preview{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.admin-modal-user-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:DM Mono,monospace;flex-shrink:0}.admin-modal-user-name{font-size:13px;font-weight:600;color:var(--text)}.admin-modal-user-email{font-size:11px;color:var(--text-3);font-family:DM Mono,monospace;margin-top:2px}.admin-modal-body{font-size:13px;color:var(--text-2);line-height:1.6}.admin-modal-actions{display:flex;gap:8px;justify-content:flex-end}.admin-invitations-section{display:flex;flex-direction:column;gap:12px}.admin-invitations-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-invitations-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.admin-invitations-badge{background:#b0a6ff2e;color:var(--accent);border:1px solid rgba(176,166,255,.3);border-radius:999px;font-size:11px;font-family:DM Mono,monospace;font-weight:600;padding:1px 8px}.admin-invitations-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.admin-invitations-table{width:100%;border-collapse:collapse}.admin-invitations-table thead th{padding:10px 16px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-family:DM Mono,monospace;border-bottom:1px solid var(--border);text-align:left;background:var(--surface2)}.admin-invitations-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.admin-invitations-table tbody tr:last-child{border-bottom:none}.admin-invitations-table tbody tr:hover{background:#ffffff05}.admin-invitations-table td{padding:11px 16px;font-size:13px;color:var(--text-2);vertical-align:middle}.admin-inv-board{font-weight:600;color:var(--text)}.admin-inv-user{display:flex;align-items:center;gap:8px}.admin-inv-user-name{font-weight:500;color:var(--text);white-space:nowrap}.admin-inv-user-email{font-size:11px;color:var(--text-3);font-family:DM Mono,monospace}.admin-inv-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.admin-inv-btn-validate{background:#81c9951f;border:1px solid rgba(129,201,149,.3);border-radius:7px;color:var(--success, #81c995);font-size:11px;font-weight:600;padding:4px 12px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-family:inherit}.admin-inv-btn-validate:hover:not(:disabled){background:#81c99533;border-color:#81c99580}.admin-inv-btn-validate:disabled{opacity:.5;cursor:not-allowed}.admin-inv-btn-cancel{background:none;border:none;color:var(--text-3);font-size:14px;padding:4px 6px;border-radius:5px;cursor:pointer;line-height:1;transition:color .15s,background .15s}.admin-inv-btn-cancel:hover{color:var(--danger);background:#f28b821a}.admin-invitations-empty{padding:24px;text-align:center;font-size:13px;color:var(--text-3)}:root{font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}#root{max-width:none;margin:0;padding:0;text-align:left}
