:root{--accent:#10a37f;--accent-hover:#0d8a6b;--accent-weak:#10a37f1a;--accent-strong:#10a37f38;--danger:#dc5454;--danger-weak:#dc54541a;--warning:#e0a84a;--warning-weak:#e0a84a1f;--success:var(--accent);--success-weak:var(--accent-weak);--bg:#fff;--panel:#fff;--panel-2:#f7f8fa;--panel-3:#eef0f3;--panel-hover:#f2f4f7;--border:#0f141e12;--border-strong:#0f141e24;--text:#0e1117;--text-muted:#5a6272;--text-faint:#8b93a1;--r-sm:4px;--r-md:5px;--r-lg:8px;--r-xl:12px;--s-1:4px;--s-2:6px;--s-3:8px;--s-4:10px;--s-5:12px;--s-6:14px;--s-7:16px;--s-8:20px;--s-9:24px;--s-10:32px;--shadow-sm:0 1px 2px #0f141e0a;--shadow-md:0 2px 8px #0f141e0f;--shadow-lg:0 8px 24px #0f141e1a;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;--fs-xs:10.5px;--fs-sm:11.5px;--fs-base:12.5px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:22px;--fs-3xl:28px;--sidebar-w:212px;--sidebar-w-collapsed:56px;--topbar-h:44px;--primary-50:var(--accent-weak);--primary-100:var(--accent-weak);--primary-200:var(--accent-strong);--primary-300:var(--accent);--primary-400:var(--accent);--primary-500:var(--accent);--primary-600:var(--accent-hover);--primary-700:var(--accent-hover);--primary-900:var(--accent-hover);--primary-color:var(--accent);--primary-hover:var(--accent-hover);--success-50:var(--accent-weak);--success-100:var(--accent-weak);--success-200:var(--accent-strong);--success-500:var(--accent);--success-600:var(--accent-hover);--success-700:var(--accent-hover);--danger-50:var(--danger-weak);--danger-100:var(--danger-weak);--danger-200:#dc545438;--danger-300:#dc545473;--danger-500:var(--danger);--danger-600:var(--danger);--danger-700:#a53b3b;--danger-800:#8a2828;--warning-50:var(--warning-weak);--warning-100:var(--warning-weak);--warning-200:#e0a84a40;--warning-500:var(--warning);--warning-600:#b2812e;--warning-700:#8c6424;--warning-800:#6e4e1a;--gray-50:var(--panel-2);--gray-100:var(--panel-3);--gray-200:var(--border-strong);--gray-300:var(--border-strong);--gray-400:var(--text-faint);--gray-500:var(--text-muted);--gray-600:var(--text-muted);--gray-700:var(--text);--gray-800:var(--text);--gray-900:var(--text);--neutral-50:var(--panel-2);--neutral-100:var(--panel-3);--neutral-200:var(--border-strong);--neutral-300:var(--text-faint);--neutral-800:var(--text);--secondary-100:var(--panel-3);--info-50:var(--accent-weak);--info-500:var(--accent);--bg-primary:var(--bg);--bg-secondary:var(--panel-2);--bg-tertiary:var(--panel-3);--text-primary:var(--text);--text-secondary:var(--text-muted);--border-color:var(--border);--sidebar-bg:var(--panel-2);--sidebar-border:var(--border);--background-primary:var(--bg);--background-secondary:var(--panel-2);--card-bg:var(--panel);--header-bg:var(--panel-2);--input-bg:var(--panel);--surface-hover:var(--panel-hover);--surface-secondary:var(--panel-2);--row-hover:var(--panel-2);--gradient-primary:var(--accent);--gradient-success:var(--accent);--gradient-danger:var(--danger);--gradient-card:var(--panel);--shadow-xl:var(--shadow-lg);--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-md);--radius-xl:var(--r-lg);--radius-2xl:var(--r-lg);--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-8:20px;--space-10:24px;--space-12:32px;--transition-fast:0.1s ease;--transition-normal:0.15s ease;--transition-slow:0.25s ease}[data-theme=dark]{--bg:#0a0a0b;--panel:#0f1012;--panel-2:#16181c;--panel-3:#1c1e23;--panel-hover:#1f2127;--border:#ffffff0f;--border-strong:#ffffff1f;--text:#e8e9ec;--text-muted:#8b8f9a;--text-faint:#5a5e68;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 2px 8px #00000073;--shadow-lg:0 8px 24px #0000008c;--bg-primary:var(--bg);--bg-secondary:var(--panel-2);--bg-tertiary:var(--panel-3);--text-primary:var(--text);--text-secondary:var(--text-muted);--border-color:var(--border);--sidebar-bg:var(--panel-2);--sidebar-border:var(--border);--background-primary:var(--bg);--background-secondary:var(--panel-2);--card-bg:var(--panel);--header-bg:var(--panel-2);--input-bg:var(--panel);--surface-hover:var(--panel-hover);--surface-secondary:var(--panel-2);--row-hover:var(--panel-2)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body,html{background:#fff;background:var(--bg)}body{font-feature-settings:"ss01","cv11","tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0e1117;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:13px;font-size:var(--fs-md);font-weight:400;letter-spacing:-.003em;line-height:1.5}.tnum,code,kbd,pre{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#0f141e24;background:var(--border-strong);border:2px solid #fff;border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#8b93a1;background:var(--text-faint)}:focus-visible{outline:2px solid #10a37f;outline:2px solid var(--accent);outline-offset:2px}.tmb-btn{align-items:center;background:#fff;background:var(--panel);border:1px solid #0f141e24;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--r-sm);color:#0e1117;color:var(--text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-size:var(--fs-base);font-weight:500;gap:6px;height:26px;padding:0 10px;transition:background .1s ease,border-color .1s ease;transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.tmb-btn:hover:not(:disabled){background:#f7f8fa;background:var(--panel-2)}.tmb-btn:disabled{cursor:not-allowed;opacity:.5}.tmb-btn.primary{background:#10a37f;background:var(--accent);border-color:#10a37f;border-color:var(--accent);color:#fff}.tmb-btn.primary:hover:not(:disabled){background:#0d8a6b;background:var(--accent-hover);border-color:#0d8a6b;border-color:var(--accent-hover)}.tmb-btn.danger{border-color:#dc545459;color:#dc5454;color:var(--danger)}.tmb-btn.danger:hover:not(:disabled){background:#dc54541a;background:var(--danger-weak)}.tmb-btn.ghost{background:#0000;border-color:#0000;color:#5a6272;color:var(--text-muted)}.tmb-btn.ghost:hover:not(:disabled){background:#f7f8fa;background:var(--panel-2);color:#0e1117;color:var(--text)}.tmb-btn.lg{font-size:13px;font-size:var(--fs-md);height:32px;padding:0 14px}.tmb-btn.sm{font-size:11.5px;font-size:var(--fs-sm);height:22px;padding:0 7px}.tmb-iconbtn{background:#0000;border:1px solid #0000;border-radius:4px;border-radius:var(--r-sm);color:#5a6272;color:var(--text-muted);cursor:pointer;display:grid;height:26px;place-items:center;transition:background .1s ease,color .1s ease;transition:background var(--transition-fast),color var(--transition-fast);width:26px}.tmb-iconbtn:hover{background:#f7f8fa;background:var(--panel-2);color:#0e1117;color:var(--text)}.tmb-iconbtn.active{background:#eef0f3;background:var(--panel-3);color:#0e1117;color:var(--text)}.tmb-card{background:#fff;background:var(--panel);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:5px;border-radius:var(--r-md);overflow:hidden}.tmb-card-head{align-items:center;border-bottom:1px solid #0f141e12;border-bottom:1px solid var(--border);display:flex;gap:10px;gap:var(--s-4);justify-content:space-between;min-height:40px;padding:12px 16px;padding:var(--s-5) var(--s-7)}.tmb-card-head h3{font-size:12.5px;font-size:var(--fs-base);font-weight:600;letter-spacing:-.005em;margin:0}.tmb-card-body{padding:16px;padding:var(--s-7)}.tmb-card-body.flush{padding:0}.tmb-segment{background:#f7f8fa;background:var(--panel-2);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:4px;border-radius:var(--r-sm);display:inline-flex;gap:0;padding:2px}.tmb-seg{background:#0000;border:none;border-radius:3px;color:#5a6272;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:11.5px;font-size:var(--fs-sm);font-weight:500;padding:3px 10px;transition:all .1s ease;transition:all var(--transition-fast)}.tmb-seg.active{background:#fff;background:var(--panel);box-shadow:0 1px 0 #00000005;font-weight:600}.tmb-seg.active,.tmb-seg:hover:not(.active){color:#0e1117;color:var(--text)}.tmb-tag{align-items:center;background:#f7f8fa;background:var(--panel-2);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:999px;color:#5a6272;color:var(--text-muted);display:inline-flex;font-size:10.5px;font-size:var(--fs-xs);font-weight:500;gap:4px;padding:2px 7px;white-space:nowrap}.tmb-tag i{border-radius:50%;display:inline-block;height:6px;width:6px}.tmb-delta{font-feature-settings:"tnum";align-items:center;border-radius:4px;display:inline-flex;font-size:10.5px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:600;gap:3px;padding:1px 6px}.tmb-delta.pos{background:#10a37f1a;background:var(--accent-weak);color:#10a37f;color:var(--accent)}.tmb-delta.neg{background:#dc54541a;background:var(--danger-weak);color:#dc5454;color:var(--danger)}.tmb-delta.neutral{background:#eef0f3;background:var(--panel-3);color:#5a6272;color:var(--text-muted)}.tmb-table{border-collapse:collapse;font-size:12.5px;font-size:var(--fs-base);width:100%}.tmb-table th{background:#f7f8fa;background:var(--panel-2);color:#8b93a1;color:var(--text-faint);font-size:10.5px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.tmb-table td,.tmb-table th{border-bottom:1px solid #0f141e12;border-bottom:1px solid var(--border);padding:8px 14px}.tmb-table td{vertical-align:middle}.tmb-table tbody tr:last-child td{border-bottom:none}.tmb-table tbody tr:hover td{background:#f7f8fa;background:var(--panel-2)}.tmb-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.tmb-amt.pos{color:#10a37f;color:var(--accent)}.tmb-amt.neg{color:#0e1117;color:var(--text)}.tmb-kbd{background:#f7f8fa;background:var(--panel-2);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:3px;color:#8b93a1;color:var(--text-faint);font-family:inherit;font-size:10.5px;font-size:var(--fs-xs);font-weight:500;padding:1px 5px}.tmb-input,.tmb-select,.tmb-textarea{background:#fff;background:var(--panel);border:1px solid #0f141e24;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--r-sm);color:#0e1117;color:var(--text);font-family:inherit;font-size:13px;font-size:var(--fs-md);height:30px;padding:0 10px;transition:border-color .1s ease,box-shadow .1s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.tmb-textarea{height:auto;min-height:60px;padding:8px 10px;resize:vertical}.tmb-input:focus,.tmb-select:focus,.tmb-textarea:focus{border-color:#10a37f;border-color:var(--accent);box-shadow:0 0 0 2px #10a37f1a;box-shadow:0 0 0 2px var(--accent-weak);outline:none}.tmb-label{color:#5a6272;color:var(--text-muted);display:block;font-size:11.5px;font-size:var(--fs-sm);font-weight:500;margin-bottom:4px}.btn{align-items:center;background:#fff;background:var(--panel);border:1px solid #0f141e24;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--r-sm);color:#0e1117;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;font-size:var(--fs-md);font-weight:500;gap:6px;padding:6px 12px;text-decoration:none;transition:all .1s ease;transition:all var(--transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#10a37f;background:var(--accent);border-color:#10a37f;border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#0d8a6b;background:var(--accent-hover);border-color:#0d8a6b;border-color:var(--accent-hover)}.btn-secondary{background:#fff;background:var(--panel);border-color:#0f141e24;border-color:var(--border-strong);color:#0e1117;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#f7f8fa;background:var(--panel-2)}button{font-family:inherit}input,select,textarea{background:#fff;background:var(--panel);color:#0e1117;color:var(--text);font-family:inherit}input:focus,select:focus,textarea:focus{border-color:#10a37f;border-color:var(--accent);box-shadow:0 0 0 2px #10a37f1a;box-shadow:0 0 0 2px var(--accent-weak);outline:none}table{border-collapse:collapse;width:100%}th{background:#f7f8fa;background:var(--panel-2);color:#8b93a1;color:var(--text-faint);font-size:10.5px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.06em;text-align:left;text-transform:uppercase}td,th{border-bottom:1px solid #0f141e12;border-bottom:1px solid var(--border);padding:8px 14px}td{color:#0e1117;color:var(--text);font-size:12.5px;font-size:var(--fs-base)}tr:hover{background:#f7f8fa;background:var(--panel-2)}.stats-card{background:#fff;background:var(--panel);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:5px;border-radius:var(--r-md);box-shadow:none;padding:16px;padding:var(--s-7);transform:none!important}.stats-card:before,.stats-card:hover:before{display:none}.stats-card:hover{box-shadow:0 1px 2px #0f141e0a;box-shadow:var(--shadow-sm);transform:none}.card,.chart-card,.format-info,.import-form,.info-card,.modern-table-container{background:#fff;background:var(--panel);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:5px;border-radius:var(--r-md);box-shadow:none!important}.chart-card:hover,.info-card:hover{box-shadow:0 1px 2px #0f141e0a!important;box-shadow:var(--shadow-sm)!important;transform:none!important}.chart-card:before{display:none!important}.page-title{-webkit-text-fill-color:initial;background:none;color:#0e1117;color:var(--text);font-size:20px;font-weight:600;letter-spacing:-.01em;margin-bottom:2px}.page-subtitle{color:#5a6272;color:var(--text-muted);font-size:13px;font-size:var(--fs-md);font-weight:400}.page-header{margin-bottom:20px;margin-bottom:var(--s-8)}.section-title{-webkit-text-fill-color:initial;background:none;color:#0e1117;color:var(--text);font-size:18px;font-weight:600;letter-spacing:-.005em;margin-bottom:2px}.section-subtitle{color:#5a6272;color:var(--text-muted);font-size:13px;font-size:var(--fs-md);margin-bottom:20px;margin-bottom:var(--s-8)}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #0f141e24;border-top-color:#10a37f;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.loading-container{align-items:center;color:#5a6272;color:var(--text-muted);display:flex;flex-direction:column;font-size:13px;font-size:var(--fs-md);gap:10px;gap:var(--s-4);justify-content:center;min-height:200px}.error-container{background:#fff;background:var(--panel);border:1px solid #dc545440;border-radius:5px;border-radius:var(--r-md);margin:24px auto;margin:var(--s-9) auto;max-width:440px;padding:24px;padding:var(--s-9);text-align:center}.error-icon{background:#dc54541a;background:var(--danger-weak);border-radius:50%;color:#dc5454;color:var(--danger);display:grid;font-size:20px;height:40px;margin:0 auto 10px;margin:0 auto var(--s-4);place-items:center;width:40px}.error-title{color:#0e1117;color:var(--text);font-size:14px;font-size:var(--fs-lg);font-weight:600;margin-bottom:4px}.error-message{color:#5a6272;color:var(--text-muted);font-size:13px;font-size:var(--fs-md);line-height:1.5;margin-bottom:14px;margin-bottom:var(--s-6)}.modal-overlay,.split-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a0b8c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.split-modal{background:#fff;background:var(--panel);border:1px solid #0f141e12;border:1px solid var(--border);border-radius:8px;border-radius:var(--r-lg);box-shadow:0 8px 24px #0f141e1a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:560px;overflow-y:auto;width:92%}.stats-grid{grid-gap:12px;grid-gap:var(--s-5);gap:12px;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px;margin-bottom:var(--s-8)}.charts-grid{grid-gap:14px;grid-gap:var(--s-6);display:grid;gap:14px;gap:var(--s-6);grid-template-columns:1fr}@media (min-width:1100px){.charts-grid{grid-template-columns:1fr 1fr}}.chart-container{height:340px;padding:10px 0 0;padding:var(--s-4) 0 0;position:relative;width:100%}.chart-container canvas{max-height:340px}@media (max-width:768px){body{font-size:13px;font-size:var(--fs-md)}.stats-grid{grid-template-columns:1fr}}.admin-content,.admin-overview,.admin-panel,.admin-tabs,.group-card,.modern-admin-table-container,.stat-card,.user-row{background:#fff!important;background:var(--panel)!important;border:1px solid #0f141e12!important;border:1px solid var(--border)!important;border-radius:5px!important;border-radius:var(--r-md)!important;box-shadow:none!important;transform:none!important}.group-card:hover,.stat-card:hover,.user-row:hover{box-shadow:0 1px 2px #0f141e0a!important;box-shadow:var(--shadow-sm)!important;transform:none!important}.admin-tab,.admin-tabs button{background:#0000!important;border:none!important;border-bottom:1.5px solid #0000!important;border-radius:0!important;box-shadow:none!important;color:#5a6272!important;color:var(--text-muted)!important;font-size:12.5px!important;font-weight:500!important;padding:10px 12px!important;transform:none!important}.admin-tab.active,.admin-tabs button.active{background:#0000!important;border-bottom-color:#10a37f!important;border-bottom-color:var(--accent)!important;color:#0e1117!important;color:var(--text)!important;font-weight:600!important}.audit-stats-grid .stat-icon,.stat-icon{background:#f7f8fa!important;background:var(--panel-2)!important;border-radius:4px!important;border-radius:var(--r-sm)!important;box-shadow:none!important;color:#5a6272!important;color:var(--text-muted)!important;font-size:14px!important;height:32px!important;width:32px!important}.stat-value{font-feature-settings:"tnum"!important;-webkit-text-fill-color:initial!important;background:none!important;color:#0e1117!important;color:var(--text)!important;font-size:22px!important;font-variant-numeric:tabular-nums!important;font-weight:600!important;letter-spacing:-.02em!important}.stat-label{color:#5a6272!important;color:var(--text-muted)!important;font-size:11.5px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}.bank-account-manager .btn-primary,.categories-management .btn,.tag-card,.tag-management .btn{box-shadow:none!important;transform:none!important}.bank-account-manager .account-card,.categories-management .category-item,.tag-card{background:#fff!important;background:var(--panel)!important;border:1px solid #0f141e12!important;border:1px solid var(--border)!important;border-radius:5px!important;border-radius:var(--r-md)!important;box-shadow:none!important}.bank-account-manager .account-card:hover,.categories-management .category-item:hover,.tag-card:hover{border-color:#0f141e24!important;border-color:var(--border-strong)!important;box-shadow:0 1px 2px #0f141e0a!important;box-shadow:var(--shadow-sm)!important;transform:none!important}.modal,.modal-content{background:#fff!important;background:var(--panel)!important;border:1px solid #0f141e12!important;border:1px solid var(--border)!important;border-radius:8px!important;border-radius:var(--r-lg)!important;box-shadow:0 8px 24px #0f141e1a!important;box-shadow:var(--shadow-lg)!important}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.audit-filters,.audit-logs-container .filters-container{background:#fff!important;background:var(--panel)!important;border:1px solid #0f141e12!important;border:1px solid var(--border)!important;border-radius:5px!important;border-radius:var(--r-md)!important;box-shadow:none!important;padding:14px!important}.pagination{background:#f7f8fa!important;background:var(--panel-2)!important;border-top:1px solid #0f141e12!important;border-top:1px solid var(--border)!important;font-size:12px!important;padding:10px 14px!important}.pagination-info{color:#5a6272!important;color:var(--text-muted)!important;font-size:11.5px!important}.page-title,.section-title,.stats-card-value,h1.page-title,h2.section-title{-webkit-text-fill-color:initial!important;background:none!important;background-clip:initial!important;-webkit-background-clip:initial!important;color:#0e1117!important;color:var(--text)!important}.status-indicator{background:#10a37f1a!important;background:var(--accent-weak)!important;border:1px solid #10a37f38!important;border:1px solid var(--accent-strong)!important;border-radius:4px!important;border-radius:var(--r-sm)!important;color:#10a37f!important;color:var(--accent)!important;font-size:11px!important;padding:4px 8px!important}.alert,.alert-error,.alert-info,.alert-success,.alert-warning{border-radius:5px!important;border-radius:var(--r-md)!important;box-shadow:none!important;font-size:12.5px!important;padding:10px 12px!important}.logo-icon:before,.sidebar-logo .logo-icon:before{display:none!important}.auth-container{padding:24px}.auth-card{padding:32px 28px}.auth-header{margin-bottom:24px;text-align:center}.auth-logo{align-items:center;display:inline-flex;gap:10px;margin-bottom:20px}.auth-logo .logo-icon{background:var(--accent);border-radius:6px;color:#fff;display:grid;font-size:16px;font-weight:700;height:32px;place-items:center;width:32px}.auth-logo h1{font-size:14px;margin:0}.auth-header h2,.auth-logo h1{color:var(--text);font-weight:600;letter-spacing:-.01em}.auth-header h2{font-size:18px;margin:0 0 4px}.auth-header p{color:var(--text-muted);font-size:12.5px;line-height:1.5;margin:0}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .form-group{margin:0}.auth-form label{color:var(--text-muted);display:block;font-size:11.5px;font-weight:500;margin-bottom:4px}.auth-form input{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-family:inherit;font-size:13px;height:34px;padding:0 10px;transition:border-color .1s,box-shadow .1s;width:100%}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak);outline:none}.auth-form input:disabled{cursor:not-allowed;opacity:.6}.auth-form .error-message{align-items:center;background:var(--danger-weak);border:1px solid #dc545440;border-radius:var(--r-sm);color:var(--danger);display:flex;font-size:12px;gap:6px;margin:0;padding:8px 10px}.auth-button{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:8px;height:34px;justify-content:center;margin-top:4px;transition:background .1s;width:100%}.auth-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-button.loading{opacity:.85}.button-spinner{animation:auth-spin .8s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-footer{border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;margin-top:20px;padding-top:16px;text-align:center}.auth-footer p{margin:0}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.5}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:10px}.loading-spinner .spinner{animation:auth-spin .8s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent);height:24px;width:24px}.loading-spinner p{color:var(--text-muted);font-size:12.5px;margin:0}.error-icon{font-size:12px}.app-shell{background:var(--bg);color:var(--text);display:grid;grid-template-columns:auto 1fr;height:100vh;overflow:hidden;width:100vw}.app-main{min-width:0;overflow-x:hidden;overflow-y:auto}.app-content,.app-main{display:flex;flex-direction:column}.app-content{flex:1 1;gap:14px;padding:16px 20px}.auth-container{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);max-width:380px;padding:28px;width:100%}.admin-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.admin-tab{background:none;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.admin-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.admin-tab.active{background:var(--primary-500);color:#fff}.admin-content{min-height:400px}.admin-overview{display:flex;flex-direction:column;gap:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;gap:1rem;padding:1.5rem}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background:var(--primary-50);border-radius:.5rem;font-size:2rem;height:3rem;justify-content:center;width:3rem}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.875rem}.groups-distribution h3{color:var(--text-primary);margin-bottom:1rem}.distribution-list{display:flex;flex-direction:column;gap:.75rem}.distribution-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.5rem;justify-content:space-between;padding:1rem}.distribution-item,.group-info{align-items:center;display:flex}.group-info{gap:.75rem}.group-color{border-radius:50%;flex-shrink:0;height:1rem;width:1rem}.group-color.large{height:1.5rem;width:1.5rem}.group-name{color:var(--text-primary);font-weight:500}.group-stats{display:flex;flex-direction:column;gap:.25rem;margin-left:auto;text-align:right}.permission-count,.user-count{color:var(--text-secondary);font-size:.875rem}.management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.management-header h2{color:var(--text-primary);margin:0}.group-management{display:flex;flex-direction:column;gap:2rem}.groups-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.groups-list{flex:1 1}.group-cell{align-items:center;display:flex;gap:.75rem}.group-description{color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-count-badge{background:var(--primary-100);border-radius:1rem;color:var(--primary-700);font-size:.875rem;font-weight:500;padding:.25rem .75rem}.action-buttons{display:flex;gap:.5rem}.group-details{position:-webkit-sticky;position:sticky;top:2rem}.group-details-content{padding:1.5rem}.group-details-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.group-title{align-items:center;display:flex;gap:1rem}.group-title h3{color:var(--text-primary);margin:0}.group-edit-form{display:flex;flex-direction:column;gap:1rem}.color-input{border:none;border-radius:.375rem;cursor:pointer;height:2.5rem;width:3rem}.group-info p{color:var(--text-secondary);margin:.5rem 0}.group-info strong,.group-users h4{color:var(--text-primary)}.group-users h4{margin:1rem 0 .5rem}.user-list{gap:.5rem}.user-item,.user-list{display:flex;flex-direction:column}.user-item{background:var(--surface-secondary);border-radius:.375rem;gap:.25rem;padding:.75rem}.user-item span{color:var(--text-primary);font-weight:500}.user-item small{color:var(--text-secondary);font-size:.8125rem}.user-management{display:flex;flex-direction:column;gap:2rem}.users-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.user-cell{gap:.75rem}.user-avatar,.user-cell{align-items:center;display:flex}.user-avatar{background:var(--primary-500);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:2.5rem;justify-content:center;width:2.5rem}.user-avatar.large{font-size:1.25rem;height:4rem;width:4rem}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{color:var(--text-primary);font-weight:500}.user-identifiant{color:var(--text-secondary);font-size:.875rem}.user-groups{display:flex;flex-wrap:wrap;gap:.375rem}.group-badge{color:#fff}.group-badge,.group-badge-more{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.group-badge-more{background:var(--surface-secondary);color:var(--text-secondary)}.status-badge{border-radius:1rem;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status-badge.active{background:var(--success-100);color:var(--success-700)}.status-badge.inactive{background:var(--danger-100);color:var(--danger-700)}.user-details{position:-webkit-sticky;position:sticky;top:2rem}.user-details-content{padding:1.5rem}.user-details-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.user-title h3{color:var(--text-primary);margin:0}.user-title p{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}.user-info-sections{display:flex;flex-direction:column;gap:1.5rem}.info-section h4{color:var(--text-primary);font-size:1.125rem;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.info-item span{color:var(--text-primary)}.groups-list{display:flex;flex-direction:column;gap:.75rem}.group-item{align-items:center;background:var(--surface-secondary);border-radius:.5rem;display:flex;gap:.75rem;padding:.75rem}.group-details{display:flex;flex-direction:column;gap:.25rem}.group-assigned{color:var(--text-secondary);font-size:.8125rem}.permissions-grid-small{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.permission-badge{background:var(--primary-100);border-radius:.375rem;color:var(--primary-700);font-size:.75rem;font-weight:500;padding:.375rem .75rem;text-align:center}.no-data{color:var(--text-secondary);font-style:italic;padding:2rem;text-align:center}.modal-content{background:var(--card-bg);border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;color:var(--text-primary);max-height:90vh;max-width:500px;overflow-y:auto;width:90vw}.modal-content.large{max-width:800px}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 0}.modal-header h3{color:var(--text-primary);margin:0}.modal-close{background:none;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:.25rem}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-content form{padding:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.permissions-grid{gap:1.5rem;max-height:400px}.groups-selection,.permissions-grid{display:flex;flex-direction:column;overflow-y:auto;padding:.5rem}.groups-selection{gap:.75rem;max-height:300px}.group-selection-item{align-items:center;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.group-selection-item:hover{background:var(--primary-50);border-color:var(--primary-300)}.group-selection-item input[type=checkbox]{margin:0}.group-selection-details{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.group-selection-header{align-items:center;display:flex;gap:.5rem}.database-admin{display:flex;flex-direction:column;gap:2rem}.admin-section{margin-bottom:1.5rem}.admin-section h3{color:var(--text-primary);margin:0 0 .5rem}.section-description{color:var(--text-secondary);font-size:.9375rem;margin:0}.admin-warning{background:var(--warning-50);border:1px solid var(--warning-200);border-radius:.5rem;padding:1rem}.warning-content{align-items:flex-start;display:flex;gap:.75rem}.warning-icon{flex-shrink:0;font-size:1.25rem}.warning-content h4{color:var(--warning-800);margin:0 0 .5rem}.warning-content p{color:var(--warning-700);font-size:.875rem;margin:0}.config-sections{display:flex;flex-direction:column;gap:1.5rem}.config-section{padding:1.5rem}.section-header{gap:1rem;margin-bottom:1.5rem}.section-header,.section-icon{align-items:center;display:flex}.section-icon{background:var(--primary-100);border-radius:.5rem;font-size:1.5rem;height:3rem;justify-content:center;width:3rem}.section-header h3{color:var(--text-primary);margin:0}.section-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.profile-info{gap:1rem}.profile-avatar,.profile-info{align-items:center;display:flex}.profile-avatar{background:var(--primary-500);border-radius:50%;color:#fff;font-size:1.25rem;font-weight:600;height:4rem;justify-content:center;width:4rem}.profile-details{display:flex;flex-direction:column;gap:.25rem}.profile-name{color:var(--text-primary);font-size:1.125rem;font-weight:600}.profile-email,.profile-username{color:var(--text-secondary)}.profile-username{font-size:.875rem}.config-form{display:flex;flex-direction:column;gap:1.5rem}.radio-group{display:flex;gap:1rem}.radio-option{align-items:center;cursor:pointer;display:flex;gap:.5rem}.radio-option input[type=radio]{margin:0}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.75rem}.checkbox-label input[type=checkbox]{margin:0}.config-actions{align-items:center;background:var(--surface-secondary);border-radius:.5rem;display:flex;gap:1rem;padding:1.5rem}.success-message{color:var(--success-700);font-weight:500}@media (max-width:768px){.groups-grid,.users-grid{grid-template-columns:1fr}.group-details,.user-details{position:static}.stats-grid{grid-template-columns:1fr}.modal-content{width:95vw}.admin-tabs{flex-wrap:wrap}}[data-theme=dark] .modal-content{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .modal-header h3{color:var(--text-primary)!important}[data-theme=dark] .modal-content form input,[data-theme=dark] .modal-content form select,[data-theme=dark] .modal-content form textarea{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .modal-content form label{color:var(--text-primary)!important}
/*# sourceMappingURL=main.420f4af4.css.map*/