:root{--background:#f8f9fc;--foreground:#1a1b2e;--card:#fff;--card-foreground:#1a1b2e;--primary:#5c5fdb;--primary-foreground:#fff;--primary-subtle:#5c5fdb1a;--secondary:#f0f0f7;--secondary-foreground:#1a1b2e;--muted:#f0f0f7;--muted-foreground:#70708a;--border:#e4e4ef;--input-bg:#f0f0f7;--ring:#5c5fdb38;--success:#16a34a;--success-foreground:#fff;--success-subtle:#16a34a1a;--destructive:#dc2626;--destructive-foreground:#fff;--destructive-subtle:#dc26261a;--warning:#d97706;--warning-subtle:#d977061a;--sidebar:#fdfdfe;--sidebar-foreground:#1a1b2e;--sidebar-border:#eaeaf3;--sidebar-muted:#70708a;--sidebar-accent:#f0f0f7;--sidebar-primary:#5c5fdb;--sidebar-primary-fg:#fff;--radius:.75rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 4px 16px #0000000a;--shadow-md:0 4px 12px #00000014, 0 8px 24px #0000000d;--shadow-lg:0 8px 32px #0000001f;--sidebar-width:76px;--sidebar-width-expanded:220px;--transition-fast:.15s ease;--transition-base:.2s ease;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;--font-mono:var(--font-geist-mono), monospace;--cat1:#6ec1e4;--cat2:#9b8aff;--cat3:#69d1c5;--cat4:#ff9b71;--cat5:#efcb68;--cat6:#a7b1b8;--cat7:#e9a8b0;--categoryAccent1:var(--cat1);--categoryAccent2:var(--cat2);--categoryAccent3:var(--cat3);--categoryAccent4:var(--cat4);--categoryAccent5:var(--cat5);--categoryAccent6:var(--cat6);--categoryAccent7:var(--cat7);--acc-num-width:140px;--bs-body-bg:var(--background);--bs-body-color:var(--foreground);--bs-body-font-family:var(--font-sans);--bs-border-color:var(--border);--bs-border-radius:var(--radius-sm);--bs-border-radius-lg:var(--radius-lg);--bs-border-radius-sm:var(--radius-sm);--bs-card-border-radius:var(--radius-lg);--bs-card-bg:var(--card);--bs-card-cap-bg:var(--secondary);--bs-primary-rgb:92, 95, 219;--bs-success-rgb:22, 163, 74;--bs-danger-rgb:220, 38, 38;--bs-warning-rgb:217, 119, 6;--bs-info-rgb:14, 165, 233;--bs-modal-border-radius:var(--radius-lg);--bs-accordion-border-radius:var(--radius-lg);--bs-accordion-inner-border-radius:calc(var(--radius-lg) - 1px);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:var(--card);--bs-accordion-active-color:var(--foreground);--bs-link-color-rgb:92, 95, 219;--bs-link-hover-color-rgb:72, 75, 190}[data-bs-theme=dark]{--background:#12121f;--foreground:#f0f0f8;--card:#1a1a2e;--card-foreground:#f0f0f8;--primary:#7c85f5;--primary-foreground:#0e0e1a;--primary-subtle:#7c85f526;--secondary:#1e1e32;--secondary-foreground:#e0e0f0;--muted:#1e1e32;--muted-foreground:#88889a;--border:#2a2a3d;--input-bg:#1e1e32;--ring:#7c85f547;--success:#4ade80;--success-foreground:#0e1a13;--success-subtle:#4ade801f;--destructive:#f87171;--destructive-foreground:#1a0e0e;--destructive-subtle:#f871711f;--warning:#fbbf24;--warning-subtle:#fbbf241f;--sidebar:#16162a;--sidebar-foreground:#f0f0f8;--sidebar-border:#2a2a3d;--sidebar-muted:#88889a;--sidebar-accent:#1e1e32;--sidebar-primary:#7c85f5;--sidebar-primary-fg:#0e0e1a;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 3px #00000040, 0 4px 16px #0003;--shadow-md:0 4px 12px #0000004d, 0 8px 24px #0003;--shadow-lg:0 8px 32px #0006;--bs-body-bg:var(--background);--bs-body-color:var(--foreground);--bs-border-color:var(--border);--bs-card-bg:var(--card);--bs-card-cap-bg:var(--secondary);--bs-accordion-active-bg:var(--card);--bs-accordion-active-color:var(--foreground)}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga" 1, "kern" 1;transition:background-color var(--transition-base), color var(--transition-base)}.app-shell{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--sidebar-border);z-index:200;transition:width var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.app-sidebar.is-expanded{width:var(--sidebar-width-expanded)}.app-content{margin-left:var(--sidebar-width);background:var(--background);min-height:100vh;transition:margin-left var(--transition-base);flex:1;padding-top:72px}.app-sidebar.is-expanded~.app-content{margin-left:var(--sidebar-width-expanded)}.app-theme-corner{z-index:260;align-items:center;gap:8px;display:flex;position:fixed;top:16px;right:16px}.app-theme-corner .theme-toggle-btn{width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:12px}.language-toggle-btn{border:1px solid var(--border);background:var(--card);min-width:48px;height:40px;color:var(--foreground);box-shadow:var(--shadow-sm);letter-spacing:.04em;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:12px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.language-toggle-btn:hover,.language-toggle-btn:focus{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary)}@media (max-width:991.98px){.app-theme-corner{top:12px;right:12px}.app-sidebar{z-index:240}.app-content{padding-top:64px}}.sidebar-topbar{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.sidebar-brand{color:var(--sidebar-foreground);letter-spacing:-.3px;align-items:center;gap:10px;padding:0;font-size:16px;font-weight:700;text-decoration:none;display:flex}.sidebar-brand:hover{color:var(--sidebar-foreground);text-decoration:none}.sidebar-brand-text{white-space:nowrap}.sidebar-toggle-btn{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle-btn:hover,.sidebar-toggle-btn:focus{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary)}.sidebar-brand-icon{background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);letter-spacing:-.5px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.sidebar-nav{flex:1;padding:16px 12px}.sidebar-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);margin-top:4px;margin-bottom:6px;padding:0 8px;font-size:10px;font-weight:600}.sidebar-nav-item{border-radius:var(--radius-sm);color:var(--sidebar-muted);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-text{white-space:nowrap}.sidebar-nav-item.is-compact{justify-content:center;padding:12px}.sidebar-nav-item.is-compact .sidebar-nav-text,.app-sidebar.is-collapsed .sidebar-section-label,.app-sidebar.is-collapsed .sidebar-user-info,.app-sidebar.is-collapsed .sidebar-signout span{display:none}.app-sidebar.is-collapsed .sidebar-brand{justify-content:center}.app-sidebar.is-collapsed .sidebar-topbar{flex-direction:column;justify-content:flex-start}.app-sidebar.is-collapsed .sidebar-footer{padding-left:10px;padding-right:10px}.sidebar-nav-item:hover{background:var(--sidebar-accent);color:var(--sidebar-foreground);text-decoration:none}.sidebar-nav-item.active,.sidebar-nav-item.active:hover{background:var(--primary);color:var(--primary-foreground)}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:4px;margin-top:auto;padding:12px;display:flex}.sidebar-user-row{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:4px;padding:8px;display:flex}.sidebar-footer.is-compact .sidebar-user-row{justify-content:center;padding-left:0;padding-right:0}.sidebar-avatar{background:var(--primary-subtle);width:34px;height:34px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-email{color:var(--sidebar-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar-signout{border-radius:var(--radius-sm);color:var(--sidebar-muted);cursor:pointer;width:100%;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.sidebar-signout.is-compact{justify-content:center;padding-left:0;padding-right:0}.sidebar-signout:hover{background:var(--destructive-subtle);color:var(--destructive)}.theme-toggle-btn{border-radius:var(--radius-sm);background:var(--secondary);border:1px solid var(--border);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle-btn:hover{background:var(--primary-subtle);color:var(--primary);border-color:var(--primary)}.page-title{color:var(--foreground);letter-spacing:-.3px;margin-bottom:0;font-size:22px;font-weight:700}.page-subtitle{color:var(--muted-foreground);margin-top:4px;margin-bottom:0;font-size:14px}:root{--blob-primary:#5c5fdb21;--blob-primary2:#5c5fdb12;--blob-primary3:#5c5fdb0d}[data-bs-theme=dark]{--blob-primary:#7c85f51c;--blob-primary2:#7c85f50f;--blob-primary3:#7c85f50a}.blob{pointer-events:none;background:var(--blob-primary);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;position:absolute}.blob-sm{width:220px;height:220px}.blob-md{width:340px;height:340px}.blob-lg{width:480px;height:480px}.blob-xl{width:600px;height:600px}.blob-a{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}.blob-b{border-radius:40% 60% 70% 30%/40% 50% 60%}.blob-c{border-radius:70% 30% 50% 50%/30% 60% 40% 70%}.blob-d{border-radius:30% 70% 60% 40%/50% 40% 60% 50%}@keyframes blobDrift1{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:translate(0)rotate(0)}33%{border-radius:40% 60% 55% 45%/45% 55%;transform:translate(6px,-8px)rotate(3deg)}66%{border-radius:50% 50% 40% 60%/60% 40%;transform:translate(-4px,5px)rotate(-2deg)}}@keyframes blobDrift2{0%,to{border-radius:40% 60% 70% 30%/40% 50% 60%;transform:translate(0)rotate(0)}33%{border-radius:60% 40% 45% 55%/55% 45%;transform:translate(-6px,8px)rotate(-3deg)}66%{border-radius:50% 50% 60% 40%/40% 60%;transform:translate(4px,-4px)rotate(2deg)}}@keyframes blobDrift3{0%,to{border-radius:70% 30% 50% 50%/30% 60% 40% 70%;transform:translate(0)}50%{border-radius:30% 70% 40% 60%/60% 40% 70% 30%;transform:translate(5px,-5px)}}.blob-anim-1{animation:12s ease-in-out infinite blobDrift1}.blob-anim-2{animation:15s ease-in-out infinite blobDrift2}.blob-anim-3{animation:10s ease-in-out infinite blobDrift3}.blob-dim{opacity:.7}.blob-faint{background:var(--blob-primary2)}.blob-ghost{background:var(--blob-primary3)}.app-shell{position:relative}.app-shell:before,.app-shell:after{content:"";pointer-events:none;z-index:0;background:var(--blob-primary3);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:18s ease-in-out infinite blobDrift1;position:fixed}.app-shell:before{width:500px;height:500px;top:-180px;right:-160px}.app-shell:after{border-radius:40% 60% 70% 30%/40% 50% 60%;width:420px;height:420px;animation:22s ease-in-out infinite blobDrift2;bottom:-160px;left:-140px}.app-content{z-index:1;position:relative}:root{--auth-grad-from:#eef0ff;--auth-grad-mid:#dde0ff;--auth-grad-to:#c4c8ff;--auth-text-on-left:#1a1b2e}[data-bs-theme=dark]{--auth-grad-from:#0d0d1a;--auth-grad-mid:#111128;--auth-grad-to:#181838;--auth-text-on-left:#f0f0f8}.auth-split{background:var(--background);min-height:100vh;display:flex}.auth-split-left{background:linear-gradient(145deg, var(--auth-grad-from) 0%, var(--auth-grad-mid) 50%, var(--auth-grad-to) 100%);color:var(--auth-text-on-left);flex:1;justify-content:center;align-items:center;padding:3rem 2rem;display:none;position:relative;overflow:hidden}@media (min-width:900px){.auth-split-left{display:flex}}.auth-blob{pointer-events:none;position:absolute}.auth-blob-1{background:var(--blob-primary);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:420px;height:420px;animation:14s ease-in-out infinite blobDrift1;top:-120px;right:-100px}.auth-blob-2{background:var(--blob-primary);border-radius:40% 60% 70% 30%/40% 50% 60%;width:460px;height:460px;animation:17s ease-in-out infinite blobDrift2;bottom:-140px;left:-120px}.auth-blob-3{background:var(--blob-primary2);border-radius:70% 30% 50% 50%/30% 60% 40% 70%;width:200px;height:200px;animation:11s ease-in-out infinite blobDrift3;top:50%;left:50%;transform:translate(-20%,-50%)}.auth-left-content{z-index:1;flex-direction:column;width:100%;max-width:460px;height:100%;padding:1rem 0;display:flex;position:relative}.auth-brand{align-items:center;gap:12px;margin-bottom:auto;display:flex}.auth-brand-name{letter-spacing:-.4px;color:var(--auth-text-on-left);font-size:20px;font-weight:700}.auth-hero{margin:auto 0;padding:2.5rem 0}.auth-hero-title{letter-spacing:-1.5px;color:var(--auth-text-on-left);margin-bottom:18px;font-size:clamp(30px,3.2vw,44px);font-weight:800;line-height:1.18}.auth-hero-accent{color:var(--primary)}.auth-hero-sub{opacity:.65;max-width:380px;color:var(--auth-text-on-left);margin:0;font-size:16px;line-height:1.65}.auth-features{flex-direction:column;gap:16px;padding:2rem 0;display:flex}.auth-feature-item{align-items:center;gap:16px;display:flex}.auth-feature-icon{width:40px;height:40px;color:var(--primary);background:#5c5fdb29;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}[data-bs-theme=dark] .auth-feature-icon{background:#7c85f529}.auth-feature-title{color:var(--auth-text-on-left);margin:0;font-size:14px;font-weight:600}.auth-feature-desc{opacity:.58;color:var(--auth-text-on-left);margin:0;font-size:12px}.auth-left-footer{align-items:center;gap:8px;margin-top:auto;padding-top:1rem;display:flex}.auth-split-right{background:var(--card);flex-direction:column;justify-content:center;align-items:center;width:100%;padding:2.5rem 2rem;display:flex;position:relative;overflow-y:auto}@media (min-width:900px){.auth-split-right{border-left:1px solid var(--border);max-width:500px}}.auth-form-wrapper{width:100%;max-width:420px}.auth-form-inner{width:100%}.auth-form-header{margin-bottom:2rem}.auth-form-title{letter-spacing:-.6px;margin-bottom:5px;font-size:26px;font-weight:800}.auth-form-subtitle{color:var(--muted-foreground);margin:0;font-size:14px}.auth-submit-btn{width:100%;padding:13px;font-size:15px;font-weight:600;border-radius:var(--radius-sm)!important}.auth-tab-toggle{background:var(--secondary);border-radius:var(--radius-sm)}.auth-tab-btn{color:var(--muted-foreground);border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition-fast);background:0 0;border:none;padding:8px 0;font-weight:400}.auth-tab-btn--active{background:var(--card);color:var(--foreground);font-weight:600;box-shadow:0 1px 3px #0000001a}.auth-mobile-brand{align-items:center;gap:10px;margin-bottom:2.5rem;font-size:17px;font-weight:700;display:flex}@media (min-width:900px){.auth-mobile-brand{display:none}}.auth-mobile-footer{gap:8px;margin-top:2.5rem;display:flex}@media (min-width:900px){.auth-mobile-footer{display:none}}.auth-page-bg{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{width:100%;max-width:420px}.notification-bell-wrapper{position:relative}.notification-bell-btn{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--foreground);box-shadow:var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-bell-btn:hover,.notification-bell-btn:focus{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary);outline:none}.notification-bell-btn.has-unread{border-color:var(--primary)}.notification-badge{background:var(--destructive);min-width:17px;height:17px;color:var(--destructive-foreground);border:2px solid var(--background);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.notification-dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:320px;box-shadow:var(--shadow-md);z-index:400;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notification-dropdown-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.notification-dropdown-footer{border-top:1px solid var(--border);text-align:center;padding:10px 16px}.notification-item{border-bottom:1px solid var(--border);transition:background var(--transition-fast);padding:12px 16px}.notification-item:last-child{border-bottom:none}.notification-item.is-unread{background:var(--primary-subtle)}.notification-item-email{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:13px;font-weight:500;overflow:hidden}.notification-item-meta{color:var(--muted-foreground);margin:0 0 8px;font-size:11px}.notification-item-actions{gap:6px;display:flex}.notification-empty{text-align:center;color:var(--muted-foreground);padding:28px 16px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.pending-page{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.pending-card{width:100%;max-width:460px;box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)!important;border:1px solid var(--border)!important;background:var(--card)!important}.card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--card-foreground)}.card-body{padding:1.25rem}.card-header,.card-footer{background-color:var(--secondary);border-color:var(--border);color:var(--foreground)}.btn{border-radius:var(--radius-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);font-size:14px;font-weight:500}.btn-primary,[data-bs-theme] .btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-color:var(--primary-foreground);--bs-btn-hover-bg:color-mix(in srgb, var(--primary) 82%, black);--bs-btn-hover-border-color:color-mix(in srgb, var(--primary) 82%, black);--bs-btn-hover-color:var(--primary-foreground);--bs-btn-active-bg:color-mix(in srgb, var(--primary) 72%, black);--bs-btn-active-border-color:color-mix(in srgb, var(--primary) 72%, black);--bs-btn-active-color:var(--primary-foreground);--bs-btn-disabled-bg:var(--primary);--bs-btn-disabled-border-color:var(--primary);--bs-btn-disabled-color:var(--primary-foreground);--bs-btn-focus-shadow-rgb:92, 95, 219}.btn-outline-primary,[data-bs-theme] .btn-outline-primary{--bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary);--bs-btn-hover-color:var(--primary-foreground);--bs-btn-active-bg:var(--primary);--bs-btn-active-border-color:var(--primary);--bs-btn-active-color:var(--primary-foreground);--bs-btn-focus-shadow-rgb:92, 95, 219}.btn-secondary,[data-bs-theme] .btn-secondary{--bs-btn-bg:var(--secondary);--bs-btn-border-color:var(--border);--bs-btn-color:var(--foreground);--bs-btn-hover-bg:color-mix(in srgb, var(--secondary) 80%, var(--foreground));--bs-btn-hover-border-color:var(--border);--bs-btn-hover-color:var(--foreground);--bs-btn-active-bg:color-mix(in srgb, var(--secondary) 70%, var(--foreground));--bs-btn-active-color:var(--foreground);--bs-btn-focus-shadow-rgb:120, 120, 160}.btn-outline-secondary,[data-bs-theme] .btn-outline-secondary{--bs-btn-color:var(--muted-foreground);--bs-btn-border-color:var(--border);--bs-btn-hover-bg:var(--secondary);--bs-btn-hover-border-color:var(--border);--bs-btn-hover-color:var(--foreground);--bs-btn-active-bg:var(--secondary);--bs-btn-active-color:var(--foreground);--bs-btn-focus-shadow-rgb:120, 120, 160}.btn-success,[data-bs-theme] .btn-success{--bs-btn-bg:var(--success);--bs-btn-border-color:var(--success);--bs-btn-color:var(--success-foreground);--bs-btn-hover-bg:color-mix(in srgb, var(--success) 82%, black);--bs-btn-hover-border-color:color-mix(in srgb, var(--success) 82%, black);--bs-btn-hover-color:var(--success-foreground);--bs-btn-active-bg:color-mix(in srgb, var(--success) 72%, black);--bs-btn-active-color:var(--success-foreground);--bs-btn-disabled-bg:var(--success);--bs-btn-disabled-color:var(--success-foreground);--bs-btn-focus-shadow-rgb:22, 163, 74}.btn-outline-success,[data-bs-theme] .btn-outline-success{--bs-btn-color:var(--success);--bs-btn-border-color:var(--success);--bs-btn-hover-bg:var(--success);--bs-btn-hover-color:var(--success-foreground);--bs-btn-active-bg:var(--success);--bs-btn-active-color:var(--success-foreground);--bs-btn-focus-shadow-rgb:22, 163, 74}.btn-danger,[data-bs-theme] .btn-danger{--bs-btn-bg:var(--destructive);--bs-btn-border-color:var(--destructive);--bs-btn-color:var(--destructive-foreground);--bs-btn-hover-bg:color-mix(in srgb, var(--destructive) 82%, black);--bs-btn-hover-border-color:color-mix(in srgb, var(--destructive) 82%, black);--bs-btn-hover-color:var(--destructive-foreground);--bs-btn-active-bg:color-mix(in srgb, var(--destructive) 72%, black);--bs-btn-active-color:var(--destructive-foreground);--bs-btn-disabled-bg:var(--destructive);--bs-btn-disabled-color:var(--destructive-foreground);--bs-btn-focus-shadow-rgb:220, 38, 38}.btn-outline-danger,[data-bs-theme] .btn-outline-danger{--bs-btn-color:var(--destructive);--bs-btn-border-color:var(--destructive);--bs-btn-hover-bg:var(--destructive);--bs-btn-hover-color:var(--destructive-foreground);--bs-btn-active-bg:var(--destructive);--bs-btn-active-color:var(--destructive-foreground);--bs-btn-focus-shadow-rgb:220, 38, 38}.btn-dark,[data-bs-theme] .btn-dark{--bs-btn-bg:var(--foreground);--bs-btn-border-color:var(--foreground);--bs-btn-color:var(--background);--bs-btn-hover-bg:color-mix(in srgb, var(--foreground) 82%, transparent);--bs-btn-hover-border-color:color-mix(in srgb, var(--foreground) 82%, transparent);--bs-btn-hover-color:var(--background);--bs-btn-active-color:var(--background);--bs-btn-focus-shadow-rgb:26, 27, 46}.btn-link,[data-bs-theme] .btn-link{--bs-btn-color:var(--primary);--bs-btn-hover-color:color-mix(in srgb, var(--primary) 80%, black)}.form-control,.form-select{background-color:var(--input-bg);border-color:var(--border);color:var(--foreground);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:14px}.form-control::placeholder{color:var(--muted-foreground);opacity:1}.form-select option{background-color:var(--card);color:var(--foreground)}.form-control:focus,.form-select:focus{background-color:var(--input-bg);color:var(--foreground);border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.form-label{color:var(--muted-foreground);font-size:13px;font-weight:500}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-check-input:focus{box-shadow:0 0 0 3px var(--ring);border-color:var(--primary)}.input-group .btn{border-color:var(--border)}.input-group .form-control:not(:first-child){border-left-color:var(--border)}.accordion-item{background-color:var(--card);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important}.accordion-button{background-color:var(--card);color:var(--foreground);font-size:15px;font-weight:600}.accordion-button:not(.collapsed){background-color:var(--card);color:var(--foreground);box-shadow:inset 0 -1px 0 var(--border)}.accordion-button:focus{box-shadow:none}.accordion-button:after{filter:none;opacity:.5}[data-bs-theme=dark] .accordion-button:after{filter:invert()}.accordion-body{background-color:var(--card);color:var(--foreground)}.accordion-current-month .accordion-button,.accordion-current-month .accordion-button:not(.collapsed){background:var(--primary-subtle);border-left:3px solid var(--primary);color:var(--foreground)}.accordion-future-month .accordion-button,.accordion-future-month .accordion-button:not(.collapsed){background:var(--card);border-left:3px solid var(--border);color:var(--foreground)}.modal-content{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header{background-color:var(--card);border-bottom:1px solid var(--border);padding:1rem 1.25rem}.modal-footer{background-color:var(--card);border-top:1px solid var(--border);padding:.75rem 1.25rem}.modal-title{font-size:16px;font-weight:600}.btn-close{filter:none;opacity:.5}[data-bs-theme=dark] .btn-close{filter:invert();opacity:.6}.table{--bs-table-bg:transparent;--bs-table-color:var(--foreground);--bs-table-border-color:var(--border);--bs-table-striped-bg:color-mix(in srgb, var(--secondary) 60%, transparent);--bs-table-hover-bg:var(--secondary);--bs-table-hover-color:var(--foreground);--bs-table-striped-color:var(--foreground);font-size:14px}.table>:not(caption)>*>*{padding:.65rem .75rem}.table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);border-bottom:1px solid var(--border);background-color:var(--secondary);font-size:11px;font-weight:600}.table>tbody>tr:hover>*{--bs-table-color-state:var(--foreground);--bs-table-bg-state:var(--secondary)}.alert{border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500}.alert-primary{background:var(--primary-subtle);color:var(--primary)}.alert-success{background:var(--success-subtle);color:var(--success)}.alert-danger{background:var(--destructive-subtle);color:var(--destructive)}.alert-warning{background:var(--warning-subtle);color:var(--warning)}.alert-secondary{background:var(--secondary);color:var(--muted-foreground)}.alert-info{color:#0284c7;background:#0ea5e91a}[data-bs-theme=dark] .alert-info{color:#38bdf8}.badge{border-radius:calc(var(--radius-sm) - 2px);font-size:11px;font-weight:500}.badge.bg-primary{color:var(--primary-foreground);background-color:var(--primary)!important}.badge.bg-success{color:var(--success-foreground);background-color:var(--success)!important}.badge.bg-danger{color:var(--destructive-foreground);background-color:var(--destructive)!important}.badge.bg-secondary{color:var(--muted-foreground);border:1px solid var(--border);background-color:var(--secondary)!important}.badge.text-bg-primary{background-color:var(--primary-subtle)!important;color:var(--primary)!important}.badge.text-bg-success{background-color:var(--success-subtle)!important;color:var(--success)!important}.badge.text-bg-danger{background-color:var(--destructive-subtle)!important;color:var(--destructive)!important}.progress{background-color:var(--secondary);border-radius:var(--radius-xl);overflow:hidden}.progress-bar{background-color:var(--primary);border-radius:var(--radius-xl)}.progress-bar.bg-success{background-color:var(--success)!important}.progress-bar.bg-danger{background-color:var(--destructive)!important}.spinner-border.text-primary{color:var(--primary)!important}.spinner-border-sm{border-width:2px;width:1rem;height:1rem}.list-group-item{background-color:var(--card);border-color:var(--border);color:var(--foreground);font-size:14px}.list-group-item:first-child{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.list-group-item:last-child{border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.list-group-item-action:hover,.list-group-item-action:focus{background-color:var(--secondary);color:var(--foreground)}.list-group-item.active{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.offcanvas{--bs-offcanvas-bg:var(--sidebar);background-color:var(--sidebar)!important;border-right:1px solid var(--sidebar-border)!important}.dropdown-menu{--bs-dropdown-bg:var(--card);--bs-dropdown-border-color:var(--border);--bs-dropdown-color:var(--foreground);--bs-dropdown-link-color:var(--foreground);--bs-dropdown-link-hover-bg:var(--secondary);--bs-dropdown-link-hover-color:var(--foreground);--bs-dropdown-divider-bg:var(--border);background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:14px}.dropdown-item{color:var(--foreground);font-size:14px}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--secondary);color:var(--foreground)}.dropdown-divider{border-color:var(--border)}.text-primary{color:var(--primary)!important}.text-success{color:var(--success)!important}.text-danger{color:var(--destructive)!important}.text-warning{color:var(--warning)!important}.text-muted,.text-body-secondary{color:var(--muted-foreground)!important}.bg-primary{color:var(--primary-foreground);background-color:var(--primary)!important}.bg-success{color:var(--success-foreground);background-color:var(--success)!important}.bg-danger{color:var(--destructive-foreground);background-color:var(--destructive)!important}.bg-light,.bg-secondary{color:var(--foreground);background-color:var(--secondary)!important}.acc-row{grid-template-columns:1fr var(--acc-num-width) var(--acc-num-width) var(--acc-num-width);align-items:center;column-gap:12px;width:100%;display:grid}.acc-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.acc-amount{font-variant-numeric:tabular-nums;justify-self:end}.budget-section-header{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);background:var(--secondary);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.budget-year-card{background:color-mix(in srgb, var(--secondary) 55%, transparent);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:calc(var(--radius-lg) + 4px);padding:10px 12px 12px}.budget-month-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;background:0 0;overflow:hidden}.budget-year-toggle,.budget-month-toggle{background:var(--card);width:100%;color:var(--foreground);text-align:left;transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.budget-year-toggle{background:0 0;padding:8px 6px 10px}.budget-year-toggle:hover,.budget-year-toggle:focus,.budget-month-toggle:hover,.budget-month-toggle:focus{background:color-mix(in srgb, var(--card) 70%, var(--secondary))}.budget-year-toggle:hover,.budget-year-toggle:focus{background:0 0}.budget-year-label,.budget-month-label{letter-spacing:-.02em;font-weight:700}.budget-year-label{letter-spacing:-.04em;font-size:16px}.budget-month-label{font-size:15px}.budget-year-meta,.budget-month-meta{flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.budget-year-total,.budget-month-total{font-variant-numeric:tabular-nums;font-weight:700}.budget-chevron{background:var(--secondary);width:32px;height:32px;color:var(--muted-foreground);transition:transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.budget-chevron.is-open{background:var(--primary-subtle);color:var(--primary);transform:rotate(180deg)}.budget-year-body,.budget-month-body{padding:12px 0 0}.budget-year-body{border-top:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:0 0;padding-top:14px}.budget-month-body{background:var(--card);border-top:1px solid var(--border);padding:12px 18px 18px}.budget-month-card.is-current .budget-month-toggle{background:var(--primary-subtle)}.current-month-background{background-color:var(--primary)!important;color:var(--primary-foreground)!important}.future_month-background{background-color:var(--primary-subtle)!important;color:var(--primary)!important}.current-month-background:after{filter:invert()}
