@charset "UTF-8";:root{--color-primary: #16A34A;--color-primary-dark: #15803D;--color-muted: #6B7280;--color-border: #E5E7EB;--color-bg: #FAFAFA;--color-card: #FFFFFF;--color-text: #1A1A1A;--color-success: #16A34A;--color-danger: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--color-purple: #8B5CF6;--color-orange: #F97316;--bg-success-light: #E8F5E9;--text-success-dark: #1B5E20;--bg-info-light: #E3F2FD;--text-info-dark: #0D47A1;--bg-purple-light: #F3E5F5;--text-purple-dark: #4A148C;--bg-warning-light: #FFF8E1;--text-warning-dark: #F57F17;--bg-hover-light: #F9FAFB;--bg-active-light: #F0FDF4;--scrollbar-thumb: #9CA3AF;--avatar-bg: #D1FAE5;--sidebar-width: 220px;--max-width: 1280px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-sticky: 100;--z-dropdown: 200;--z-slideover: 400;--z-modal-backdrop: 300;--z-modal: 500;--z-toast: 600;--z-tooltip: 700}.interactive-press,.zt-cat-card,.tx-card-item,.widget-card,.stat-card,.tab-item,.avatar,.topbar-icon-btn{transition:transform var(--transition-fast)}.interactive-press:active,.zt-cat-card:active,.tx-card-item:active,.widget-card:active,.stat-card:active,.tab-item:active,.avatar:active,.topbar-icon-btn:active{transform:scale(.975)}[data-theme=dark]{--color-muted: #9CA3AF;--color-border: #374151;--color-bg: #111827;--color-card: #1F2937;--color-hover: #4B5563;--color-text: #E5E7EB;--bg-hover-light: #1F2937;--bg-active-light: rgba(22, 163, 74, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .5)}[data-theme=dark] .badge,[data-theme=dark] [class*=badge-],[data-theme=dark] [class*=bs-badge-],[data-theme=dark] .exp-chip,[data-theme=dark] .exp-chip-more,[data-theme=dark] .tag,[data-theme=dark] .status-badge,[data-theme=dark] .source-badge{color:var(--color-text)!important}[data-theme=dark] .tx-icon-wrap,[data-theme=dark] .stat-icon,[data-theme=dark] .deadline-period,[data-theme=dark] .icon-bg,[data-theme=dark] .avatar-circle,[data-theme=dark] .icon-wrapper,[data-theme=dark] .lucide-wrap,[data-theme=dark] [class*=bs-icon-],[data-theme=dark] .bs-bank-icon,[data-theme=dark] .bs-connect-icon-wrap,[data-theme=dark] [class*=bs-badge-]{background:var(--color-bg)!important}[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .form-control,[data-theme=dark] .setting-input,[data-theme=dark] .setting-select,[data-theme=dark] .header-select{background:var(--color-bg)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus,[data-theme=dark] .form-control:focus,[data-theme=dark] .setting-input:focus,[data-theme=dark] .setting-select:focus,[data-theme=dark] .header-select:focus{background:var(--color-card)!important}[data-theme=dark] .card,[data-theme=dark] [class*=-card],[data-theme=dark] .panel-content,[data-theme=dark] .dropdown-menu,[data-theme=dark] .modal-content,[data-theme=dark] .table-card{background:var(--color-card)!important}[data-theme=dark] .notification-item.unread{background:#16a34a0d!important}[data-theme=dark] .notification-item.unread:hover{background:#16a34a1a!important}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-fast),color var(--transition-fast)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.sidebar::-webkit-scrollbar{width:0}.sidebar:hover::-webkit-scrollbar{width:6px}.app-shell{display:flex;min-height:100vh}.main-area{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;min-width:0}.page-content{padding:var(--spacing-6);flex:1;overflow-x:hidden;min-width:0;max-width:var(--max-width);margin:0 auto;width:100%}.page-title{font-size:15px;font-weight:600;color:inherit}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-slideover)}.sidebar-overlay.active{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--color-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto;z-index:var(--z-sticky);transition:transform var(--transition-base)}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);border-bottom:1px solid var(--color-border)}.sidebar-logo-text{font-size:15px;font-weight:700;color:var(--color-primary);letter-spacing:-.01em}.sidebar-logo-icon{width:28px;height:28px;background:var(--bg-active-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-icon i{width:16px;height:16px;color:var(--color-primary)}.sidebar-nav{padding:var(--spacing-3) var(--spacing-2);flex:1}.nav-section-label{font-size:9.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);padding:0 12px;margin-top:12px;margin-bottom:2px;display:block}.nav-section-label:first-of-type{margin-top:var(--spacing-2)}.nav-item{display:flex;align-items:center;gap:8px;height:32px!important;padding:0 12px;border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;font-size:13px;font-weight:400;margin-bottom:1px;transition:transform .1s ease,background-color .15s ease,color .15s ease,font-weight .15s ease;transform-origin:center;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;box-sizing:border-box;position:relative;outline:none;-webkit-tap-highlight-color:transparent;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.nav-item svg{width:15px;height:15px;flex-shrink:0;color:var(--color-muted);transition:color var(--transition-fast);stroke-width:1.5}.nav-item:active{transform:scale(.98)}.nav-item:hover{background-color:var(--color-hover)}.nav-item:hover svg{color:var(--color-text)}.nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-item.active{background-color:var(--bg-active-light);color:var(--color-primary);font-weight:500}.nav-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-primary);display:none}.nav-item.active svg{color:var(--color-primary)}.nav-item.nav-item-disabled{color:#ef4444!important;cursor:not-allowed;pointer-events:none;opacity:.8}.nav-item.nav-item-disabled svg{color:#ef4444!important}.nav-item.nav-item-disabled .badge-v2{font-size:9px;font-weight:700;background:#ef44441a;color:#ef4444;padding:1px 4px;border-radius:4px;margin-left:auto;text-transform:uppercase}.sidebar-footer{position:relative;padding:var(--spacing-3) var(--spacing-2);border-top:1px solid var(--color-border)}.sidebar-user-row{height:auto!important;min-height:48px;padding:10px 12px;gap:12px;margin-bottom:0}.sidebar-user-row:hover{background-color:#00000008}[data-theme=dark] .sidebar-user-row:hover{background-color:#ffffff0d!important}.sidebar-user-avatar{width:32px;height:32px;background:var(--avatar-bg);color:var(--color-primary-dark);font-size:13px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-chevron{width:14px;height:14px;color:var(--color-muted)}[data-theme=dark] .sidebar-nav .nav-item.active{background-color:#16a34a26;color:#4ade80}[data-theme=dark] .sidebar-nav .nav-item.active svg{color:#4ade80}.topbar{position:sticky;top:0;background:var(--color-card);border-bottom:1px solid var(--color-border);height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-6);z-index:var(--z-sticky)}.topbar-title{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.01em;margin:0}.topbar-right{display:flex;align-items:center;gap:var(--spacing-3)}.topbar-icon-btn{width:36px;height:36px;border-radius:var(--radius-lg);border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.topbar-icon-btn i{width:18px;height:18px}.topbar-icon-btn:hover{background-color:var(--color-hover);color:var(--color-text)}.topbar-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--avatar-bg);color:var(--color-primary);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:var(--transition-base);border:2px solid transparent}.avatar:hover{box-shadow:0 0 0 2px var(--color-primary)}.bottom-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--color-card);border-top:1px solid var(--color-border);z-index:var(--z-toast);align-items:center;justify-content:space-around;padding:0 var(--spacing-2);padding-bottom:env(safe-area-inset-bottom,0)}.tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-muted);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;transition:color var(--transition-fast);cursor:pointer;background:transparent;border:none}.tab-item i{width:20px;height:20px}.tab-item.active{color:var(--color-primary)}.tab-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stat-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-3);transition:var(--transition-base);position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.stat-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.stat-card-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.stat-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-icon i{width:20px;height:20px;color:var(--color-muted)}.stat-card-value{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.stat-card-value.value-income{color:var(--color-success)}.stat-card-value.value-expense{color:var(--color-danger)}.stat-card-value.value-warning{color:var(--color-warning)}.stat-card-meta{display:flex;align-items:center;gap:var(--spacing-1);font-size:12px;color:var(--color-muted)}.stat-card-meta i{width:12px;height:12px}.stat-card-meta .up{color:var(--color-success)}.stat-card-meta .down{color:var(--color-danger)}.widget-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-md);margin-bottom:0;transition:var(--transition-base)}.widget-card:hover{box-shadow:var(--shadow-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-4)}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-5)}.widget-title{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.widget-subtitle{font-size:12px;color:var(--color-muted);margin-top:2px}.widget-link,.widget-link--row{font-size:11px;font-weight:600;color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast)}.widget-link:hover,.widget-link--row:hover{color:var(--color-primary-dark);text-decoration:underline}.widget-link--row{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1}.widget-link--row i{width:12px;height:12px;stroke-width:2px;display:inline-block;vertical-align:middle}.widget-link--row span{display:inline-block;vertical-align:middle}.category-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.category-dot-label{display:flex;align-items:center;gap:var(--spacing-1);font-size:12px;font-weight:500;color:var(--color-muted)}.category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.category-amount{font-size:16px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.category-percent{font-size:11px;color:var(--color-muted)}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border);background:var(--bg-hover-light)}.card-footer-count{font-size:13px;color:var(--color-muted)}.card-footer-actions{display:flex;align-items:center;gap:var(--spacing-2)}.btn-page{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text)}.btn-page:hover{background:var(--bg-hover-light);border-color:var(--color-primary)}.btn-page--muted{color:var(--color-muted);opacity:.5;cursor:not-allowed}.btn-page--text{color:var(--color-primary);font-weight:600}.btn-page--text:hover{background:var(--bg-active-light);border-color:var(--color-primary)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table.data-table{width:100%;border-collapse:collapse}.data-table thead th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:var(--bg-hover-light);padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast);height:52px}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:var(--color-hover)}.data-table td{padding:0 var(--spacing-4);font-size:14px;color:var(--color-text);vertical-align:middle}.td-date{white-space:nowrap;color:var(--color-muted);font-size:13px}.td-desc{display:flex;align-items:center;gap:var(--spacing-3)}.tx-icon-wrap{width:32px;height:32px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tx-icon-wrap i{width:15px;height:15px}.tx-name{font-weight:500;font-size:14px}.tx-note{font-size:12px;color:var(--color-muted)}.td-amount{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.tx-category-cell{display:inline-flex;align-items:center;gap:var(--spacing-2);white-space:nowrap}.tx-card-list{display:none}.tx-card-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-4);border-bottom:1px solid var(--color-border);min-height:64px;background:var(--color-card);transition:var(--transition-fast)}.tx-card-item:hover{background:var(--color-hover)}.tx-card-item:last-child{border-bottom:none}.tx-card-left{display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0;flex:1}.tx-card-name{font-size:14px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-card-meta{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.tx-card-right{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;text-align:right}.table-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--spacing-6)}.table-card table th:first-child,.table-card table td:first-child{border-left:none}.table-card table th:last-child,.table-card table td:last-child{border-right:none}[data-theme=dark] .data-table thead th{color:#d1d5db;background:var(--bg-hover-light)}[data-theme=dark] .tx-icon-wrap{background:var(--color-bg)!important}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-lg);font-size:11px;font-weight:500;white-space:nowrap}.badge-fiverr{background:var(--bg-success-light);color:var(--text-success-dark)}.badge-upwork{background:var(--bg-info-light);color:var(--text-info-dark)}.badge-direct{background:var(--bg-purple-light);color:var(--text-purple-dark)}.badge-info{background:var(--bg-info-light);color:var(--text-info-dark)}.badge-personal{background:var(--bg-warning-light);color:var(--text-warning-dark)}.badge-success{background:#ecfdf5;color:#047857}.badge-warning{background:#fffbeb;color:#b45309}.badge-critical{background:#fef2f2;color:#b91c1c}.badge-over{background:#dc2626;color:#fff}.badge-neutral,.badge-draft{background:#f3f4f6;color:#4b5563}.badge-unpaid{background:#fef2f2;color:#b91c1c}.badge-overdue{background:#dc2626;color:#fff}.badge-due{background:var(--bg-hover-light);color:var(--color-text)}.amount-income{color:var(--color-success)}.amount-expense{color:var(--color-danger)}[data-theme=dark] .badge-fiverr,[data-theme=dark] .badge-success{background:var(--color-bg)!important;color:#4ade80!important}[data-theme=dark] .badge-upwork,[data-theme=dark] .badge-info{background:var(--color-bg)!important;color:#60a5fa!important}[data-theme=dark] .badge-direct,[data-theme=dark] .badge-purple{background:var(--color-bg)!important;color:#a78bfa!important}[data-theme=dark] .badge-personal,[data-theme=dark] .badge-warning{background:var(--color-bg)!important;color:#fbbf24!important}[data-theme=dark] .badge-critical,[data-theme=dark] .badge-unpaid{background:var(--color-bg)!important;color:#f87171!important}[data-theme=dark] .badge-overdue,[data-theme=dark] .badge-over{background:#ef444426!important;color:#f87171!important}[data-theme=dark] .badge-neutral,[data-theme=dark] .badge-draft{background:var(--color-bg)!important;color:#d1d5db!important}[data-theme=dark] .badge-due{background:var(--color-bg)!important;color:#e5e7eb!important}.dashboard-content{display:flex;flex-direction:column;gap:var(--spacing-6)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:0}.progress-bar-track{height:12px;border-radius:6px;background:var(--color-border);display:flex;overflow:hidden;gap:2px;margin-bottom:24px;width:100%;max-width:100%}.progress-segment{height:100%;border-radius:0;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-segment:first-child{border-radius:6px 0 0 6px}.progress-segment:last-child{border-radius:0 6px 6px 0}.category-list{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.zt-divider{height:1px;background:var(--color-border);margin:16px 0;width:100%}.zt-month-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:-16px}.zt-month-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.zt-pills{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:1}.zt-pill{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.zt-pill:hover{border-color:var(--color-primary);background:var(--color-card);transform:translateY(-1px)}.zt-pill-label{font-size:11px;font-weight:500;color:var(--color-muted)}.zt-pill-value{font-size:13px;font-weight:700;color:var(--color-text)}.zt-pill-value--warning{color:var(--color-warning)!important}.zt-pill-value--danger{color:var(--color-danger)!important}[class^=icon-],[class*=" icon-"]{width:14px;height:14px;vertical-align:middle}.icon-md{width:14px!important;height:14px!important}.icon-sm{width:12px!important;height:12px!important}.icon-income{color:var(--color-success)!important}.icon-expense{color:var(--color-danger)!important}.icon-warning{color:var(--color-warning)!important}.icon-purple{color:var(--color-purple)!important}.icon-blue{color:var(--color-info)!important}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.category-list{grid-template-columns:repeat(2,1fr)}.zt-month-row{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:0}.zt-pills{justify-content:flex-start}.stats-grid{grid-template-columns:1fr}}.zt-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:0;flex-wrap:wrap}.zt-hero-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-4)}.zt-hero-earned{display:flex;align-items:baseline;gap:var(--spacing-3);margin-bottom:var(--spacing-5);flex-wrap:wrap}.zt-hero-amount{font-size:48px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-text);line-height:1}.zt-hero-label{font-size:16px;color:var(--color-muted);font-weight:400}.zt-progress-track{height:14px;border-radius:var(--radius-sm);background:var(--color-border);display:flex;overflow:hidden;gap:2px;margin-bottom:var(--spacing-5);width:100%}.zt-progress-segment{height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.zt-progress-segment:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.zt-progress-segment:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.zt-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-3)}.zt-cat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);transition:var(--transition-base)}.zt-cat-card:hover{border-color:var(--color-primary);background:var(--color-card);box-shadow:var(--shadow-md)}.zt-cat-header{display:flex;align-items:center;gap:var(--spacing-2)}.zt-cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.zt-cat-name{font-size:12px;font-weight:500;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zt-cat-amount{font-size:18px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.zt-cat-percent{font-size:11px;color:var(--color-muted)}.zt-cat-mini-bar{height:4px;border-radius:var(--radius-sm);background:var(--color-border);overflow:hidden}.zt-cat-mini-fill{height:100%;border-radius:var(--radius-sm);transition:width .6s cubic-bezier(.4,0,.2,1)}.zt-breakdown-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-4);overflow:hidden}.zt-breakdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border)}.zt-breakdown-title{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.01em;margin:0}.zt-breakdown-meta{font-size:12px;color:var(--color-muted)}.zt-col-balance{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500;white-space:nowrap}.zt-row-remaining{background:var(--bg-active-light)}.zt-row-remaining td{font-weight:600;color:var(--color-primary)}.zt-mobile-tx-list{display:none}.zt-mobile-tx-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-4);border-bottom:1px solid var(--color-border);gap:var(--spacing-3)}.zt-mobile-tx-item:last-child{border-bottom:none}.zt-mobile-tx-item--remaining{background:var(--bg-active-light)}.zt-mobile-tx-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.zt-mobile-tx-desc{font-size:14px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zt-mobile-tx-meta{font-size:12px;color:var(--color-muted)}.zt-mobile-tx-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.zt-mobile-tx-amount{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.zt-mobile-tx-balance{font-size:11px;color:var(--color-muted);font-variant-numeric:tabular-nums}.zt-chart-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.zt-chart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border)}.zt-chart-title{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.01em;margin:0}.zt-chart-legend{display:flex;align-items:center;gap:var(--spacing-4)}.zt-legend-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:12px;color:var(--color-muted);font-weight:500}.zt-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.zt-legend-dot--income{background:var(--color-success)}.zt-legend-dot--expense{background:var(--color-danger)}.zt-chart-body{padding:var(--spacing-6)}.zt-chart-bars{display:flex;align-items:flex-end;gap:var(--spacing-6);height:180px;position:relative}.zt-chart-bars:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,var(--color-border) 1px,transparent 1px);background-size:0 25%;pointer-events:none}.zt-month-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);flex:1}.zt-bars-row{display:flex;align-items:flex-end;gap:4px;height:150px;width:100%;justify-content:center}.zt-bar{flex:1;max-width:24px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:opacity var(--transition-fast);cursor:default;min-height:4px}.zt-bar:hover{opacity:.8}.zt-bar--income{background:var(--color-success)}.zt-bar--expense{background:var(--color-danger)}.zt-month-label{font-size:11px;font-weight:500;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;white-space:nowrap}.zt-chart-yaxis{display:flex;flex-direction:column;justify-content:space-between;height:150px;padding-right:var(--spacing-3);flex-shrink:0}.zt-y-label{font-size:11px;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right}.zt-chart-wrapper{display:flex;gap:0;padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border)}.zt-chart-inner{flex:1;display:flex;flex-direction:column}.zt-chart-grid{flex:1;position:relative;height:150px;border-left:1px solid var(--color-border)}.zt-chart-grid .zt-gridlines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.zt-chart-grid .zt-gridline{border-top:1px dashed var(--color-border);width:100%}.zt-chart-summary{display:flex;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);gap:var(--spacing-4);flex-wrap:wrap}.zt-summary-stat{display:flex;flex-direction:column;gap:2px}.zt-summary-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.zt-summary-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text)}.zt-summary-value--income{color:var(--color-success)}.zt-summary-value--expense{color:var(--color-danger)}[data-theme=dark] .zt-summary-value,[data-theme=dark] .zt-cat-amount{color:#f9fafb}@media(max-width:1024px){.zt-category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.zt-page-header{flex-direction:column;align-items:flex-start;margin-bottom:var(--spacing-4)}.zt-hero-amount{font-size:36px}.zt-category-grid{grid-template-columns:repeat(2,1fr)}.zt-breakdown-card .table-wrapper{display:none}.zt-mobile-tx-list{display:block}.zt-chart-bars,.zt-chart-summary,.zt-chart-legend{gap:var(--spacing-3)}}@media(max-width:390px){.zt-category-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-2)}.zt-hero-amount{font-size:28px}.zt-hero-label{font-size:13px}.zt-cat-amount{font-size:16px}}.income-stats-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}@media(min-width:768px){.income-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.income-stats-grid{grid-template-columns:repeat(4,1fr)}}.target-progress-wrapper{margin-top:var(--spacing-3)}.target-progress-label{display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-2)}.target-progress-track{width:100%;height:8px;background:var(--bg-active-light);border-radius:var(--radius-full);overflow:hidden}.target-progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full)}.income-sources-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm)}.income-sources-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-5)}.income-sources-header h3{font-size:15px;font-weight:600;color:var(--color-text)}.income-sources-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.source-item{display:flex;align-items:center;gap:var(--spacing-4)}.source-label{width:120px;font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-bar-wrapper{flex:1;display:flex;align-items:center;gap:var(--spacing-3)}.source-bar-track{flex:1;height:12px;background:var(--bg-hover-light);border-radius:var(--radius-full);overflow:hidden}.source-bar-fill{height:100%;border-radius:var(--radius-full)}.source-bar-fill.fiverr{background:#10b981}.source-bar-fill.upwork{background:#3b82f6}.source-bar-fill.direct{background:#8b5cf6}.source-amount{width:70px;text-align:right;font-size:13px;font-weight:600;color:var(--color-text)}.source-percentage{width:40px;text-align:right;font-size:13px;color:var(--color-muted)}.source-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;white-space:nowrap}.source-badge.badge-fiverr{background:#ecfdf5;color:#047857}.source-badge.badge-upwork{background:#eff6ff;color:#1d4ed8}.source-badge.badge-direct{background:#f5f3ff;color:#6d28d9}.data-table td.amount-positive{color:var(--color-primary);font-weight:600}.add-income-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:440px;background:var(--color-card);box-shadow:var(--shadow-xl);z-index:var(--z-modal);transform:translate(100%);transition:transform var(--transition-slow);display:flex;flex-direction:column}.add-income-panel.open{transform:translate(0)}.panel-overlay{position:fixed;inset:0;background-color:#00000040;z-index:var(--z-modal-backdrop);opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.panel-overlay.active{opacity:1;pointer-events:auto}.panel-header{padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.panel-header h2{font-size:18px;font-weight:600;color:var(--color-text)}.panel-body{flex:1;overflow-y:auto;padding:var(--spacing-6)}.panel-body .form-group{margin-bottom:var(--spacing-5)}.panel-body .form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-2)}.amount-input-group{position:relative;display:flex;align-items:center}.amount-input-group .currency-symbol{position:absolute;left:var(--spacing-4);font-size:24px;font-weight:600;color:var(--color-muted)}.amount-input-group input{width:100%;height:64px;padding-left:40px;font-size:32px;font-weight:600;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.amount-input-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--bg-active-light);background:var(--color-card)}.standard-input{width:100%;height:40px;padding:0 var(--spacing-3);font-size:14px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.standard-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--bg-active-light);background:var(--color-card)}.panel-footer{padding:var(--spacing-5) var(--spacing-6);border-top:1px solid var(--color-border);background:var(--color-bg);display:flex;justify-content:flex-end;gap:var(--spacing-3)}.btn-ghost{display:inline-flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-4);font-size:14px;font-weight:500;color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.btn-ghost:hover{background-color:var(--bg-hover-light);border-color:var(--color-border)}.btn-ghost svg{flex-shrink:0}.income-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.income-target-wrapper{margin-top:12px}.income-target-wrapper .target-progress-label{font-size:13px;font-weight:500;margin-bottom:8px;display:flex;justify-content:space-between}.income-target-wrapper .target-progress-track{height:8px;background:var(--bg-hover-light)}.income-target-wrapper .target-progress-fill{background:var(--color-purple)}.exp-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-4);flex-wrap:wrap}.exp-page-subtitle{font-size:14px;color:var(--color-muted);margin:0}.btn-primary{display:inline-flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:transform .1s ease,background-color .15s ease,box-shadow var(--transition-fast);transform-origin:center;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary svg{flex-shrink:0}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary{display:inline-flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-4);background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:transform .1s ease,background-color .15s ease,border-color .15s ease;transform-origin:center;will-change:transform;backface-visibility:hidden;-webkit-tap-highlight-color:transparent}.btn-secondary:hover{background:var(--color-hover);border-color:var(--color-muted)}.btn-secondary:active{transform:scale(.98)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.exp-filter-bar{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-5);flex-wrap:wrap}.exp-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.exp-search-wrap svg{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-muted);pointer-events:none;flex-shrink:0}.exp-search-input{width:100%;height:38px;padding:0 var(--spacing-3) 0 36px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);font-size:14px;font-family:Inter,sans-serif;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exp-search-input::placeholder{color:var(--color-muted)}.exp-search-input:hover{border-color:var(--color-muted)}.exp-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.exp-filter-select,.exp-filter-date{height:38px;padding:0 var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;-webkit-appearance:none}.exp-filter-select:hover,.exp-filter-date:hover{border-color:var(--color-muted)}.exp-filter-select:focus,.exp-filter-date:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.exp-filter-select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.exp-filter-spacer{flex:1}.exp-filter-count{font-size:13px;color:var(--color-muted);white-space:nowrap}.exp-table-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.exp-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border)}.exp-table-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0}.exp-table-meta{font-size:12px;color:var(--color-muted)}.cat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:6px;vertical-align:middle}.receipt-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);opacity:.5}.receipt-icon svg{width:14px;height:14px}.receipt-icon.has-receipt{color:var(--color-primary);opacity:1}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;transform-origin:center}.row-action-btn svg{width:16px;height:16px}.row-action-btn:hover{background:var(--color-hover);color:var(--color-text)}.row-action-btn:active{transform:scale(.92)}.exp-mobile-list{display:none}.exp-mobile-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.exp-mobile-item:last-child{border-bottom:none}.exp-mobile-item:hover{background:var(--bg-hover-light)}.exp-mobile-cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.exp-mobile-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.exp-mobile-desc{font-size:14px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-mobile-meta{font-size:12px;color:var(--color-muted)}.exp-mobile-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.exp-mobile-amount{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.slideover-backdrop{position:fixed;inset:0;background:#00000040;z-index:var(--z-modal-backdrop);opacity:0;pointer-events:none;transition:opacity .2s ease}.slideover-backdrop.is-open{opacity:1;pointer-events:auto}.slideover-panel{position:fixed;top:0;right:0;bottom:0;width:420px;background:var(--color-card);box-shadow:var(--shadow-xl);z-index:var(--z-slideover);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-slow)}.slideover-panel.is-open{transform:translate(0)}.slideover-head{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.slideover-title{font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.02em;margin:0}.slideover-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;transform-origin:center}.slideover-close-btn svg{width:18px;height:18px}.slideover-close-btn:hover{background:var(--color-hover);color:var(--color-text)}.slideover-close-btn:active{transform:scale(.92)}.slideover-body{flex:1;overflow-y:auto;padding:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-5)}.exp-type-toggle{display:flex;background:var(--bg-hover-light);border-radius:var(--radius-lg);padding:var(--spacing-1)}.type-btn{flex:1;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.type-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.type-btn:not(.active):hover{color:var(--color-text);background:#0000000a}.add-account-link{font-size:13px;font-weight:500;color:var(--color-primary);text-decoration:none;align-self:flex-start;padding-top:var(--spacing-1);transition:opacity .15s ease}.add-account-link:hover{opacity:.8}.slideover-amount-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.slideover-amount-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.slideover-amount-input{width:100%;height:64px;font-size:40px;font-weight:700;letter-spacing:-.03em;color:var(--color-text);border:none;border-bottom:2px solid var(--color-border);background:transparent;padding:0;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;transition:border-color var(--transition-fast)}.slideover-amount-input::placeholder{color:var(--color-border)}.slideover-amount-input:focus{outline:none;border-bottom-color:var(--color-primary)}.exp-form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.exp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.exp-form-label{font-size:12px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.exp-form-input,.exp-form-select,.exp-form-textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-size:14px;font-family:Inter,sans-serif;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exp-form-input::placeholder,.exp-form-select::placeholder,.exp-form-textarea::placeholder{color:var(--color-muted)}.exp-form-input:hover,.exp-form-select:hover,.exp-form-textarea:hover{border-color:var(--color-muted)}.exp-form-input:focus,.exp-form-select:focus,.exp-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.exp-form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.exp-form-textarea{resize:vertical;min-height:80px}.exp-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;text-align:center}.exp-dropzone:hover{border-color:var(--color-primary);background:var(--bg-active-light)}.exp-dropzone-icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-active-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.exp-dropzone-icon svg{width:20px;height:20px}.exp-dropzone-text{font-size:13px;font-weight:500;color:var(--color-text)}.exp-dropzone-hint{font-size:11px;color:var(--color-muted)}.exp-toggle-wrap{display:flex;align-items:center;gap:var(--spacing-3);flex-shrink:0}.exp-toggle-text{display:flex;flex-direction:column;gap:2px}.exp-toggle-label{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.2}.exp-toggle-subtext{font-size:11px;color:var(--color-muted);line-height:1.2}.exp-toggle{position:relative;display:inline-block;width:40px;height:22px}.exp-toggle input{opacity:0;width:0;height:0;position:absolute}.exp-toggle-slider{position:absolute;inset:0;background:var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background-color .2s ease}.exp-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #00000026}input:checked+.exp-toggle-slider{background:var(--color-primary)}input:checked+.exp-toggle-slider:before{transform:translate(18px)}.slideover-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border);flex-shrink:0}@media(max-width:640px){.exp-filter-bar{gap:var(--spacing-2)}.exp-search-wrap{max-width:100%;width:100%}.exp-filter-select,.exp-filter-date{font-size:13px}.exp-table-card .table-wrapper{display:none}.exp-mobile-list{display:block}.slideover-panel{width:100%}}@media(max-width:390px){.exp-page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}}.exp-tag-input-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);min-height:40px;padding:var(--spacing-1) var(--spacing-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background-color .2s ease,border-color .2s ease}.exp-tag-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.exp-tag-input{flex:1;min-width:140px;border:none;background:transparent;height:28px;padding:0;font-size:13px;color:var(--color-text);outline:none;box-shadow:none}.exp-tag-input::placeholder{color:var(--color-muted)}.exp-tag-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-1)}.exp-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);background:#f0fdf4;color:#16a34a;font-size:12px;font-weight:500;padding:2px 8px;border-radius:9999px;line-height:1.5;white-space:nowrap}.exp-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:transparent;color:inherit;border:none;cursor:pointer;padding:0;font-size:14px;line-height:1;opacity:.7;margin-right:-2px;outline:none}.exp-chip-remove:hover{opacity:1;background:#16a34a1a}.exp-chip-more{display:inline-flex;align-items:center;background:#f3f4f6;color:var(--color-muted);font-size:12px;font-weight:500;padding:2px 8px;border-radius:9999px;line-height:1.5;white-space:nowrap}.data-table th.col-tags .exp-tag-chips,.data-table td .exp-tag-chips{margin-bottom:0;margin-top:0}[data-theme=dark] .exp-chip{background:var(--color-bg)!important;color:#4ade80!important;border:1px solid var(--color-border)}[data-theme=dark] .exp-chip-more{background:var(--color-bg)!important;color:var(--color-muted)!important;border:1px solid var(--color-border)}.recurring-header{margin-bottom:var(--spacing-6)}.recurring-table-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.recurring-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border)}.recurring-table-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0}.recurring-table-meta{font-size:12px;color:var(--color-muted)}@media(max-width:768px){.recurring-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.recurring-header .header-actions{width:100%}.recurring-header .header-actions button{width:100%;justify-content:center}.recurring-table-container{overflow-x:auto}.data-table th:nth-child(4),.data-table td:nth-child(4),.data-table th:nth-child(5),.data-table td:nth-child(5){display:none}}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.page-subtitle{font-size:14px;color:var(--color-muted);margin:0}.header-actions{display:flex;align-items:center;gap:var(--spacing-3)}.budget-overview-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm)}.os-value.os-value-spent{color:var(--color-warning)}.os-value.os-value-remaining{color:var(--color-primary)}.category-limits-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm)}.category-limits-list{display:flex;flex-direction:column}.category-budget-row{display:grid;grid-template-columns:170px 200px 1fr 100px 64px;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-border)}.category-budget-row:last-child{border-bottom:none;padding-bottom:0}.cat-info{display:flex;align-items:center;gap:var(--spacing-3)}.category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cat-name{font-size:14px;font-weight:500;color:var(--color-text)}.cat-amounts{display:flex;align-items:center;gap:var(--spacing-1);font-size:14px;white-space:nowrap}.cat-amounts .spent{font-weight:600;color:var(--color-text)}.cat-amounts .divider,.cat-amounts .budget{color:var(--color-muted)}.cat-progress-container{padding-right:var(--spacing-4)}.cat-progress-track{width:100%;height:8px;background:var(--bg-hover-light);border-radius:var(--radius-full);overflow:hidden}.cat-progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.cat-status{text-align:right}.upcoming-bills-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm)}.bills-list{display:flex;flex-direction:column}.bill-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-border)}.bill-item:last-child{border-bottom:none;padding-bottom:0}.bill-left{display:flex;align-items:center;gap:var(--spacing-4)}.bill-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--bg-hover-light);color:var(--color-muted);display:flex;align-items:center;justify-content:center}.bill-icon svg{width:20px;height:20px}.bill-details{display:flex;flex-direction:column;gap:2px}.bill-name{font-size:14px;font-weight:500;color:var(--color-text)}.bill-date{font-size:13px}.bill-right{display:flex;align-items:center;gap:var(--spacing-4)}.bill-amount{font-size:15px;font-weight:600;color:var(--color-text)}.status-good{background:var(--color-primary)}.status-warning{background:var(--color-warning)}.status-critical,.status-over{background:var(--color-danger)}@media(max-width:768px){.budget-grid{grid-template-columns:1fr}.budget-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.budget-header .header-actions{width:100%}.budget-header .header-actions button{width:100%;justify-content:center}}.inv-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-4);flex-wrap:wrap}.inv-page-subtitle{font-size:14px;color:var(--color-muted);margin:0}.inv-tabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-5)}.inv-tab{display:inline-flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-4);font-size:14px;font-weight:500;font-family:Inter,sans-serif;color:var(--color-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s ease,border-color .15s ease;white-space:nowrap;text-decoration:none;-webkit-tap-highlight-color:transparent}.inv-tab:hover{color:var(--color-text)}.inv-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.inv-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-hover);border-radius:var(--radius-full);font-size:11px;font-weight:600;color:var(--color-muted);line-height:1}.active .inv-tab-badge{background:#16a34a1f;color:var(--color-primary)}.inv-table-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.inv-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border)}.inv-table-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0}.inv-table-meta{font-size:12px;color:var(--color-muted)}.inv-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;transform-origin:center}.inv-action-btn svg{width:16px;height:16px;flex-shrink:0}.inv-action-btn:hover{background:var(--color-hover);color:var(--color-text)}.inv-action-btn:active{transform:scale(.92)}.inv-line-items{display:flex;flex-direction:column;gap:var(--spacing-2)}.inv-line-item-head{display:grid;grid-template-columns:1fr 52px 80px 80px;gap:var(--spacing-2);padding:0 var(--spacing-1)}.inv-line-item-head-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted)}.inv-line-item-row{display:grid;grid-template-columns:1fr 52px 80px 80px;gap:var(--spacing-2);align-items:center;padding:var(--spacing-2) var(--spacing-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color .15s ease,box-shadow .15s ease}.inv-line-item-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a14}.inv-line-item-input{border:none;background:transparent;color:var(--color-text);font-size:13px;font-family:Inter,sans-serif;padding:2px var(--spacing-1);width:100%;min-width:0}.inv-line-item-input::placeholder{color:var(--color-muted)}.inv-line-item-input:focus{outline:none}.inv-line-item-input.align-right{text-align:right;font-variant-numeric:tabular-nums}.inv-add-item-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);height:36px;padding:0 var(--spacing-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-muted);font-size:13px;font-family:Inter,sans-serif;cursor:pointer;width:100%;justify-content:center;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.inv-add-item-btn svg{width:14px;height:14px;flex-shrink:0}.inv-add-item-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-active-light)}.inv-reminder-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.inv-reminder-label{display:flex;flex-direction:column;gap:2px}.inv-reminder-title{font-size:13px;font-weight:600;color:var(--color-text)}.inv-reminder-sub{font-size:11px;color:var(--color-muted)}.inv-toggle-wrap{display:flex;align-items:center;gap:var(--spacing-3);flex-shrink:0}.inv-toggle{position:relative;display:inline-block;width:40px;height:22px}.inv-toggle input{opacity:0;width:0;height:0;position:absolute}.inv-toggle-slider{position:absolute;inset:0;background:var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background-color .2s ease}.inv-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #00000026}input:checked+.inv-toggle-slider{background:var(--color-primary)}input:checked+.inv-toggle-slider:before{transform:translate(18px)}.inv-reminder-days{display:flex;gap:var(--spacing-1)}.inv-day-pill{height:24px;padding:0 var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-muted);font-size:11px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.inv-day-pill.active,.inv-day-pill:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-active-light)}.inv-slideover-body{flex:1;overflow-y:auto;padding:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-5)}.inv-total-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--bg-active-light);border-radius:var(--radius-md);border:1px solid rgba(22,163,74,.15)}.inv-total-label{font-size:13px;font-weight:600;color:var(--color-muted)}.inv-total-amount{font-size:20px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}@media(max-width:768px){.inv-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.inv-tabs::-webkit-scrollbar{display:none}.inv-table-card .table-wrapper{display:none}}@media(max-width:640px){.inv-page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.inv-line-item-head,.inv-line-item-row{grid-template-columns:1fr 44px 64px}.inv-line-item-head .col-rate,.inv-line-item-row .col-rate{display:none}}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.projects-stats-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}@media(min-width:768px){.projects-stats-grid{grid-template-columns:repeat(3,1fr)}}.projects-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-6)}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.projects-grid{margin-bottom:var(--spacing-8)}.project-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-5);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3)}.project-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.project-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.project-client{font-size:13px;color:var(--color-muted)}.project-financials{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);padding:var(--spacing-4);background:var(--bg-hover-light);border-radius:var(--radius-lg)}.fin-col{display:flex;flex-direction:column;gap:var(--spacing-1)}.fin-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--color-muted)}.fin-value{font-size:14px;font-variant-numeric:tabular-nums}.w-full{width:100%;justify-content:center}.project-progress{display:flex;flex-direction:column;gap:var(--spacing-2)}.progress-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:var(--color-text)}.progress-track{width:100%;height:6px;background:var(--bg-hover-light);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-fill.status-completed{background:var(--color-success)}.progress-fill.status-warning{background:var(--color-warning)}.project-actions{margin-top:auto}.project-details-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}.project-tables-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-8)}@media(min-width:1024px){.project-tables-grid{grid-template-columns:repeat(2,1fr)}}.project-head-row{display:flex;align-items:center;gap:var(--spacing-4)}.milestone-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--surface-2)}.milestone-title-row{margin:0 0 var(--spacing-1) 0;font-size:16px;display:flex;align-items:center;gap:var(--spacing-2)}.milestone-meta{font-size:14px;color:var(--color-muted);display:flex;gap:var(--spacing-4)}.milestone-form-row{display:flex;gap:var(--spacing-4);align-items:flex-end;flex-wrap:wrap}.card-header-flex{padding:var(--spacing-6);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.card-title-lg{margin:0;font-size:18px}.tax-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.card-header{margin-bottom:var(--spacing-4)}.tax-settings-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5);margin-bottom:var(--spacing-6);display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-6);box-shadow:var(--shadow-sm)}.settings-group{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1;min-width:200px}.setting-label{font-size:13px;font-weight:500;color:var(--color-text)}.input-with-suffix{position:relative;display:flex;align-items:center}.input-with-suffix .setting-input{width:100%;height:40px;padding:0 var(--spacing-3);padding-right:var(--spacing-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);font-family:inherit;font-size:14px;font-variant-numeric:tabular-nums;transition:var(--transition-base)}.input-with-suffix .setting-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #10b9811a}.input-with-suffix .input-suffix{position:absolute;right:var(--spacing-3);color:var(--color-muted);font-size:14px;pointer-events:none}.setting-select{width:100%}.tax-stats-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}@media(min-width:640px){.tax-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.tax-stats-grid{grid-template-columns:repeat(4,1fr)}}.tax-stats-grid .highlight-danger{background:#fef2f2;border-color:#fecaca}.tax-stats-grid .highlight-danger .stat-card-label{color:var(--color-danger);font-weight:600}.tax-bottom-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-8)}@media(min-width:1024px){.tax-bottom-grid{grid-template-columns:350px 1fr}}.deadlines-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm)}.deadlines-list{display:flex;flex-direction:column}.deadline-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-border)}.deadline-item:first-child{padding-top:0}.deadline-item:last-child{border-bottom:none;padding-bottom:0}.deadline-left{display:flex;align-items:center;gap:var(--spacing-4)}.deadline-period{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--bg-hover-light);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:var(--color-text)}.deadline-date-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.deadline-date-info .deadline-date{font-size:13px;font-weight:500}.deadline-amount{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}.breakdown-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.table-container{flex:1;overflow-x:auto}.table-cell-with-icon{display:flex;align-items:center;gap:var(--spacing-3);font-weight:500}.fw-medium{font-weight:500}[data-theme=dark] .tax-stats-grid .highlight-danger{background:#ef444426;border-color:#ef444433}[data-theme=dark] .setting-input,[data-theme=dark] .setting-select{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .setting-input:focus,[data-theme=dark] .setting-select:focus{background:var(--color-card)}[data-theme=dark] .breakdown-card .table-cell-with-icon .badge{background:var(--color-bg)!important;border:1px solid var(--color-border)}.savings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.savings-overview-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm)}.overview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.overview-stat{display:flex;flex-direction:column;gap:var(--spacing-1)}.overview-stat.text-right{text-align:right}.overview-stat.text-center{text-align:center}.os-label{font-size:13px;font-weight:500;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.os-value{font-size:28px;font-weight:600;color:var(--color-text)}.os-value.os-value-saved{color:var(--color-success)}.os-value.os-value-completed{color:var(--color-primary)}.master-progress-wrapper{display:flex;flex-direction:column;gap:var(--spacing-2)}.master-progress-track{width:100%;height:12px;background:var(--bg-hover-light);border-radius:var(--radius-full);overflow:hidden}.master-progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.master-progress-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:500;color:var(--color-muted)}.savings-empty-hint{display:flex;align-items:center;gap:var(--spacing-2);font-size:13px;color:var(--color-muted);padding:var(--spacing-4);background:var(--bg-hover-light);border-radius:var(--radius-lg)}.goals-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-6);margin-bottom:var(--spacing-8)}@media(min-width:768px){.goals-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.goals-grid{grid-template-columns:repeat(3,1fr)}}.goal-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-5);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.goal-card.shadow-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover);transform:translateY(-2px)}.goal-header{display:flex;align-items:center;gap:var(--spacing-3);position:relative}.goal-status-badge{position:absolute;top:0;right:0}.goal-icon-bg{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.goal-info{display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0;padding-right:80px}.goal-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-date{font-size:13px;color:var(--color-muted)}.goal-amounts{display:flex;justify-content:space-between;padding:var(--spacing-4);background:var(--bg-hover-light);border-radius:var(--radius-lg)}.amount-col{display:flex;flex-direction:column;gap:var(--spacing-1)}.amount-label{font-size:12px;font-weight:500;color:var(--color-muted)}.amount-value{font-size:16px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text)}.goal-progress{display:flex;flex-direction:column;gap:var(--spacing-2)}.progress-labels{display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:var(--color-text)}.progress-track{width:100%;height:8px;background:var(--bg-hover-light);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.goal-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3);margin-top:auto;padding-top:var(--spacing-2)}.add-funds-form{flex:1}.add-funds-merged{display:flex;align-items:center;background:var(--surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-base);height:36px}.add-funds-merged:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.merged-prefix{padding-left:var(--spacing-3);color:var(--color-muted);font-size:14px;font-weight:500;background:var(--surface-2);height:100%;display:flex;align-items:center;border-right:1px solid var(--color-border);padding-right:var(--spacing-2)}.merged-input{flex:1;min-width:50px;border:none;background:transparent;padding:0 var(--spacing-2);color:var(--color-text);font-size:14px;outline:none;height:100%}.merged-input::-webkit-inner-spin-button,.merged-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.merged-btn{background:var(--color-primary);color:#fff;border:none;padding:0 var(--spacing-4);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition-fast);height:100%}.merged-btn:hover{background:var(--color-primary-hover)}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;transition:var(--transition-fast)}.btn-icon:hover{background:var(--color-danger-light);color:var(--color-danger)}.goal-completed-msg{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-success);font-weight:500;font-size:14px;height:36px}.fw-bold{font-weight:700}.text-right{text-align:right}.bg-success-light{background-color:var(--color-success-light)}.bg-danger-light{background-color:var(--color-danger-light)}.list-unstyled{list-style:none;margin:0;padding:0}.empty-state-wrapper{text-align:center;padding:var(--spacing-12) var(--spacing-4);background:var(--surface-1);border-radius:var(--radius-xl);border:1px dashed var(--color-border);margin-top:var(--spacing-6)}.empty-state-icon{color:var(--color-muted-light);margin:0 auto var(--spacing-4)}.empty-state-title{margin-bottom:var(--spacing-2);color:var(--color-foreground);font-size:1.25rem}.empty-state-text{color:var(--color-muted);margin-bottom:var(--spacing-6);max-width:400px;margin-inline:auto}.alert-success-toast{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--bg-active-light);border:1px solid rgba(22,163,74,.25);border-radius:var(--radius-lg);font-size:13px;font-weight:500;color:var(--color-primary);margin-bottom:var(--spacing-4);animation:toastIn .3s ease;transition:opacity .4s ease}.reports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.header-actions{display:flex;gap:var(--spacing-3)}.reports-filter-bar{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.reports-stats-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}@media(min-width:640px){.reports-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.reports-stats-grid{grid-template-columns:repeat(4,1fr)}}.reports-layout-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-8)}@media(min-width:1024px){.reports-layout-grid{grid-template-columns:1fr 1fr}}.card-header{margin-bottom:var(--spacing-5)}.card-header .card-title{font-size:16px;font-weight:600;margin:0;color:var(--color-text)}.pnl-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm)}.pnl-section{margin-bottom:var(--spacing-6)}.pnl-section-title{font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:var(--spacing-3)}.pnl-row{display:flex;justify-content:space-between;padding:var(--spacing-2) 0;font-size:14px;border-bottom:1px solid var(--color-border)}.pnl-row:last-child{border-bottom:none}.pnl-subtotal{margin-top:var(--spacing-2);padding-top:var(--spacing-3);border-top:1px dashed var(--color-border);border-bottom:none}.pnl-net-profit{margin-top:var(--spacing-4);background:#ecfdf5;border-radius:var(--radius-lg);padding:var(--spacing-4);font-size:16px;font-weight:700;color:#047857;border-bottom:none}.trend-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.trend-chart-container{display:flex;height:240px;margin-bottom:var(--spacing-6);gap:var(--spacing-4)}.trend-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:12px;color:var(--color-muted);padding-bottom:24px;flex-shrink:0;width:32px}.trend-bars{display:flex;flex:1;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-2)}.trend-column{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);height:100%;flex:1}.trend-bar-group{display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%;height:100%}.trend-bar{width:12px;border-radius:4px 4px 0 0;transition:height var(--transition-slow)}@media(min-width:640px){.trend-bar{width:16px}}.trend-bar.bar-income{background:var(--color-success)}.trend-bar.bar-expense{background:var(--color-danger)}.trend-x-label{font-size:12px;color:var(--color-muted)}.trend-legend{display:flex;justify-content:center;gap:var(--spacing-6);margin-top:auto}.legend-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:13px;color:var(--color-muted)}.legend-color{width:10px;height:10px;border-radius:2px}.legend-color.bg-success{background:var(--color-success)}.legend-color.bg-danger{background:var(--color-danger)}.text-success{color:var(--color-success)!important}.text-danger{color:var(--color-danger)!important}.text-amber{color:#d97706}.fw-bold{font-weight:700;color:var(--color-text)}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.notifications-tabs{display:flex;gap:var(--spacing-6);margin-bottom:var(--spacing-6);border-bottom:1px solid var(--color-border)}.tab-btn{background:none;border:none;padding:var(--spacing-3) 0;font-size:14px;font-weight:500;color:var(--color-muted);cursor:pointer;position:relative;transition:var(--transition-base)}.tab-btn:hover,.tab-btn.active{color:var(--color-text)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-primary);border-radius:2px 2px 0 0}.notifications-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--spacing-8)}.notification-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border);transition:var(--transition-base);background:var(--color-card);border-left:3px solid transparent}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-hover-light)}.notification-item.unread{background:#f0fdf4;border-left-color:var(--color-success)}.notification-item.unread:hover{background:#dcfce7}.notification-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon.bg-success-light{background:#dcfce7}.notification-icon.bg-danger-light{background:#fee2e2}.notification-icon.bg-warning-light{background:#fef3c7}.notification-icon.bg-info-light{background:#dbeafe}.notification-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--color-text)}.notification-desc{font-size:13px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:13px;color:var(--color-muted);white-space:nowrap;flex-shrink:0;margin-left:var(--spacing-4)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:#d97706}.text-info-dark{color:#1d4ed8}@media(max-width:768px){.notifications-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.notifications-header .header-actions{width:100%}.notifications-header .header-actions button{width:100%;justify-content:center}.notif-tabs{overflow-x:auto;padding-bottom:var(--spacing-2)}.notif-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.notif-item .notif-time{margin-left:0;margin-top:var(--spacing-1)}}.auth-shell{display:flex;min-height:100vh;background:var(--color-bg)}.auth-form-col{flex:0 0 50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-10) var(--spacing-8);background:var(--color-bg);min-height:100vh}.auth-quote-col{flex:0 0 50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-10) var(--spacing-8);background:#f0fdf4;min-height:100vh;position:relative;overflow:hidden}.auth-quote-col:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:#16a34a0f;top:-120px;right:-120px;pointer-events:none}.auth-quote-col:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#16a34a14;bottom:-80px;left:-80px;pointer-events:none}[data-theme=dark] .auth-quote-col{background:#0f1f14}.auth-form-container{width:100%;max-width:400px}.auth-logo{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-8);text-decoration:none}.auth-logo span{font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.02em;font-family:Inter,sans-serif}.auth-heading{font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--color-text);margin:0 0 var(--spacing-1) 0;line-height:1.2}.auth-subtext{font-size:14px;color:var(--color-muted);margin:0 0 var(--spacing-8) 0;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-4);width:100%}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-1)}.auth-label{font-size:13px;font-weight:600;color:var(--color-text);font-family:Inter,sans-serif}.auth-input{height:40px;padding:0 var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font-size:14px;font-family:Inter,sans-serif;width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none}.auth-input::placeholder{color:var(--color-muted)}.auth-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.auth-password-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.auth-forgot-link{font-size:12px;font-weight:500;color:var(--color-primary);text-decoration:none;white-space:nowrap;transition:color .15s ease}.auth-forgot-link:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;height:40px;padding:0 var(--spacing-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background-color .15s ease,box-shadow .2s ease,transform .1s ease;transform-origin:center;will-change:transform;margin-top:var(--spacing-2)}.auth-btn:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #16a34a40}.auth-btn:active{transform:scale(.98);box-shadow:none}.auth-btn svg{width:16px;height:16px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:var(--spacing-3);margin:var(--spacing-2) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.auth-footer-text{text-align:center;font-size:13px;color:var(--color-muted);margin-top:var(--spacing-6);line-height:1.5}.auth-footer-text a{color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .15s ease}.auth-footer-text a:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-quote-wrap{position:relative;z-index:1;max-width:440px;text-align:left}.auth-quote-mark{font-size:64px;line-height:1;color:var(--color-primary);font-family:Georgia,serif;margin-bottom:var(--spacing-3);opacity:.5;display:block}.auth-quote-text{font-size:22px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--color-text);margin:0 0 var(--spacing-6) 0}.auth-quote-user{display:flex;align-items:center;gap:var(--spacing-3)}.auth-quote-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#16a34a,#4ade80);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;font-family:Inter,sans-serif}.auth-quote-name{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.3}.auth-quote-role{font-size:12px;color:var(--color-muted);line-height:1.4}.auth-stat-strip{display:flex;gap:var(--spacing-6);margin-top:var(--spacing-10);padding-top:var(--spacing-6);border-top:1px solid rgba(22,163,74,.15)}.auth-stat{display:flex;flex-direction:column;gap:2px}.auth-stat-value{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--color-primary);line-height:1.1}.auth-stat-label{font-size:11px;font-weight:500;color:var(--color-muted)}@media(max-width:768px){.auth-quote-col{display:none}.auth-form-col{flex:0 0 100%;padding:var(--spacing-8) var(--spacing-5)}}@media(max-width:480px){.auth-heading{font-size:24px}.auth-form-col{padding:var(--spacing-6) var(--spacing-4);justify-content:flex-start;padding-top:15vh}}.bs-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4);gap:var(--spacing-6)}.bs-title-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.bs-page-subtitle{font-size:14px;color:var(--color-muted);margin:0;line-height:1.5;max-width:500px}.bs-trust-badge{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:13px;font-weight:500;color:var(--color-muted);white-space:nowrap}.bs-trust-badge svg{width:14px;height:14px;color:var(--color-primary)}.bs-accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-5);margin-bottom:var(--spacing-5)}.bs-account-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4);transition:border-color .15s ease,box-shadow .15s ease}.bs-account-card:hover{border-color:#16a34a4d;box-shadow:0 4px 12px #00000008}.bs-card-header{display:flex;align-items:center;justify-content:space-between}.bs-bank-info{display:flex;align-items:center;gap:var(--spacing-3)}.bs-bank-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f0f9ff;color:#0ea5e9}.bs-bank-icon svg{width:18px;height:18px}.bs-icon-chase{background:#eff6ff;color:#1d4ed8}.bs-icon-amex{background:#f0fdf4;color:#16a34a}.bs-account-details{display:flex;flex-direction:column}.bs-account-name{font-size:15px;font-weight:600;color:var(--color-text)}.bs-account-mask{font-size:13px;color:var(--color-muted)}.bs-card-action-menu{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--color-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.bs-card-action-menu:hover{background:var(--bg-hover-light);border-color:var(--color-border)}.bs-card-action-menu svg{width:16px;height:16px}.bs-card-balance-row{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-1)}.bs-balance-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.bs-balance-amount{font-size:28px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.bs-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-4);border-top:1px solid var(--color-border)}.bs-sync-status{display:flex;align-items:center;gap:var(--spacing-2);font-size:12px;color:var(--color-muted)}.bs-sync-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-success)}.bs-sync-btn{display:flex;align-items:center;gap:var(--spacing-1);font-size:12px;font-weight:600;color:var(--color-primary);background:transparent;border:none;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.bs-sync-btn:hover{background:var(--bg-active-light)}.bs-sync-btn svg{width:14px;height:14px}.bs-connect-card{background:transparent;border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-8) var(--spacing-6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-4);min-height:220px;transition:border-color .15s ease,background .15s ease}.bs-connect-card:hover{border-color:var(--color-primary);background:var(--bg-active-light)}.bs-connect-icon-wrap{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-card);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text);box-shadow:0 2px 8px #0000000a}.bs-connect-icon-wrap svg{width:20px;height:20px}.bs-connect-text{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.bs-connect-footer{font-size:12px;color:var(--color-muted);margin-top:var(--spacing-2)}.bs-csv-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.bs-csv-header{display:flex;flex-direction:column;margin-bottom:var(--spacing-2)}.bs-csv-title{font-size:15px;font-weight:600;color:var(--color-text)}.bs-csv-subtitle{font-size:13px;color:var(--color-muted)}.bs-csv-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6) var(--spacing-4);text-align:center;gap:var(--spacing-2);min-height:120px;transition:background-color .15s ease,border-color .15s ease;cursor:pointer}.bs-csv-dropzone:hover{background:var(--bg-hover-light);border-color:var(--color-primary)}.bs-csv-icon{color:var(--color-muted);margin-bottom:var(--spacing-1)}.bs-csv-drop-text{font-size:14px;font-weight:500;color:var(--color-text);margin:0}.bs-csv-supported{font-size:12px;color:var(--color-muted)}.bs-csv-footer{margin-top:auto;display:flex;justify-content:center}.bs-csv-footer .btn-primary.w-full{width:100%;justify-content:center}.bs-recent-section{margin-top:var(--spacing-6)}.bs-section-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-4) 0}.bs-table-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;width:100%;overflow-x:auto}.bs-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.bs-table th,.bs-table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border)}.bs-table th{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:var(--bg-hover-light)}.bs-table tbody tr{transition:background-color .15s ease}.bs-table tbody tr:hover{background-color:var(--bg-hover-light)}.bs-table tbody tr:last-child td{border-bottom:none}.bs-table td{font-size:14px;color:var(--color-text)}.bs-col-date{width:140px}.bs-col-desc{width:auto}.bs-col-account{width:180px}.bs-col-amount{width:120px;text-align:right}.bs-cell-amount{font-weight:600;text-align:right}.bs-text-income{color:var(--color-primary)}.bs-text-expense{color:var(--color-text)}.bs-badge-chase,.bs-badge-amex{display:inline-block;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);font-size:12px;font-weight:500}.bs-badge-chase{background:#eff6ff;color:#1d4ed8}.bs-badge-amex{background:#f0fdf4;color:#16a34a}@media(max-width:640px){.bs-page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.bs-accounts-grid{grid-template-columns:1fr}}.tf-page{max-width:720px;margin:0 auto;padding-bottom:var(--spacing-16)}.tf-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-5);flex-wrap:wrap}.tf-type-selector{display:flex;gap:var(--spacing-2);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-1);box-shadow:var(--shadow-sm)}.tf-type-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);height:36px;padding:0 var(--spacing-4);border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);color:var(--color-muted);background:transparent}.tf-type-btn svg{flex-shrink:0}.tf-type-btn:hover{background:var(--bg-hover-light);color:var(--color-text)}.tf-type-btn.active.tf-type-expense{background:#fef2f2;color:#dc2626;font-weight:600;box-shadow:var(--shadow-sm)}[data-theme=dark] .tf-type-btn.active.tf-type-expense{background:#dc262626;color:#fca5a5}.tf-type-btn.active.tf-type-income{background:var(--bg-active-light);color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-sm)}.tf-type-btn.active.tf-type-settlement{background:var(--bg-warning-light);color:#b45309;font-weight:600;box-shadow:var(--shadow-sm)}[data-theme=dark] .tf-type-btn.active.tf-type-settlement{background:#b4530926;color:#fcd34d}.tf-type-btn.active.tf-type-transfer{background:var(--bg-info-light);color:#1d4ed8;font-weight:600;box-shadow:var(--shadow-sm)}[data-theme=dark] .tf-type-btn.active.tf-type-transfer{background:#1d4ed826;color:#93c5fd}.tf-cancel-top{white-space:nowrap}.tf-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-5)}.tf-error-bag{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4);font-size:13px;color:#dc2626}.tf-error-bag p{margin:0;line-height:1.6}[data-theme=dark] .tf-error-bag{background:#dc26261a;border-color:#dc26264d;color:#fca5a5}.tf-field-error{font-size:12px;color:var(--color-danger);margin-top:2px}.tf-amount-row{display:flex;align-items:stretch;border:2px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tf-amount-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px #16a34a1a}.tf-currency-prefix{display:flex;align-items:center;border-right:1px solid var(--color-border)}.tf-currency-select{height:100%;padding:0 var(--spacing-3);border:none;background:var(--bg-hover-light);color:var(--color-muted);font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;appearance:none;-webkit-appearance:none;min-width:64px}.tf-currency-select:focus{outline:none}.tf-amount-input{flex:1;border:none;background:transparent;font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--color-text);padding:var(--spacing-4) var(--spacing-5);line-height:1}.tf-amount-input::placeholder{color:var(--color-border);font-weight:400}.tf-amount-input:focus{outline:none}.tf-amount-input.tf-amount-expense{color:#dc2626}.tf-amount-input.tf-amount-income{color:var(--color-primary)}.tf-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}@media(max-width:580px){.tf-core-grid{grid-template-columns:1fr}}.tf-optional-toggle{border-top:1px solid var(--color-border);padding-top:var(--spacing-4);text-align:center}.tf-more-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);border:none;background:none;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;font-family:Inter,sans-serif;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);transition:color var(--transition-fast),background var(--transition-fast)}.tf-more-btn:hover{background:var(--bg-hover-light);color:var(--color-text)}.tf-more-btn .tf-chevron-open{transform:rotate(180deg);transition:transform var(--transition-fast)}.tf-optional-section{display:flex;flex-direction:column;gap:var(--spacing-4);border-top:1px solid var(--color-border);padding-top:var(--spacing-4)}.tf-optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}@media(max-width:580px){.tf-optional-grid{grid-template-columns:1fr}}.tf-tag-wrap{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);min-height:42px;align-items:center;transition:border-color var(--transition-fast)}.tf-tag-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.tf-tag-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:3px var(--spacing-2);background:var(--bg-active-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:12px;font-weight:500;white-space:nowrap}.tf-tag-remove{border:none;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;border-radius:var(--radius-full);opacity:.7}.tf-tag-remove:hover{opacity:1}.tf-tag-input{flex:1;min-width:120px;border:none;background:transparent;font-size:14px;font-family:Inter,sans-serif;color:var(--color-text)}.tf-tag-input:focus{outline:none}.tf-tag-input::placeholder{color:var(--color-muted)}.tf-toggles-row{display:flex;gap:var(--spacing-6);flex-wrap:wrap}.tf-toggle-label{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;font-size:14px;color:var(--color-text);-webkit-user-select:none;user-select:none}.tf-toggle{position:relative;width:40px;height:22px;border-radius:var(--radius-full);background:var(--color-border);transition:background var(--transition-fast);flex-shrink:0}.tf-toggle.active{background:var(--color-primary)}.tf-toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:var(--radius-full);background:#fff;transition:left var(--transition-fast);box-shadow:var(--shadow-sm)}.tf-toggle.active .tf-toggle-knob{left:21px}.tf-recurring-freq{max-width:240px}.tf-file-hidden{display:none}.tf-dropzone-text{font-size:14px;color:var(--color-text);margin:0}.tf-dropzone-sub{font-size:12px;color:var(--color-muted)}.tf-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);border-top:1px solid var(--color-border);padding-top:var(--spacing-5)}.tf-save-btn{min-width:160px;justify-content:center}.tf-btn-inner{display:flex;align-items:center;gap:var(--spacing-2)}.tf-saving{opacity:.7;cursor:wait}@keyframes tf-rotate{to{transform:rotate(360deg)}}.tf-spin{animation:tf-rotate .8s linear infinite}.tf-quick-add{display:inline-flex;align-items:center;gap:var(--spacing-1);height:32px;padding:0 var(--spacing-3);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),transform .1s ease}.tf-quick-add:hover{background:var(--color-primary-dark)}.tf-quick-add:active{transform:scale(.97)}.tf-tag-container{display:flex;flex-direction:column;width:100%}.tf-tag-wrap--main{min-height:42px;flex:1;position:relative}.tf-tag-wrap--main.tf-tag-wrap--open{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-primary)}.tf-tag-suggestions{position:absolute;top:100%;left:-1px;right:-1px;background:var(--color-bg);border:1px solid var(--color-primary);border-top:none;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);z-index:50;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;animation:tfSlideDown .2s ease-out}@keyframes tfSlideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.tf-suggestion-item{width:100%;padding:var(--spacing-2) var(--spacing-3);display:flex;align-items:center;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);font-size:13px;font-family:Inter,sans-serif;transition:background var(--transition-fast)}.tf-suggestion-item:hover{background:var(--bg-hover-light);color:var(--color-primary)}.tf-suggestion-item:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.tf-quick-add-row{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2);animation:tfFadeIn .15s ease}@keyframes tfFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tf-quick-add-input{flex:1;height:36px;padding:0 var(--spacing-3);background:var(--color-bg);border:1.5px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-text);font-size:13px;font-family:Inter,sans-serif;outline:none;box-shadow:0 0 0 3px #16a34a1a}.tf-quick-add-input::placeholder{color:var(--color-muted)}.tf-quick-add-actions{display:flex;gap:var(--spacing-1)}.tf-quick-add-btn{width:32px;height:32px;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),transform .1s ease}.tf-quick-add-btn:active{transform:scale(.92)}.tf-quick-add-btn--confirm{background:var(--color-primary);color:#fff}.tf-quick-add-btn--confirm:hover{background:var(--color-primary-dark)}.tf-quick-add-btn--cancel{background:var(--bg-hover-light);color:var(--color-muted)}.tf-quick-add-btn--cancel:hover{background:var(--color-border);color:var(--color-text)}.tf-add-tag-link{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:500;color:var(--color-muted);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);font-family:Inter,sans-serif;transition:color var(--transition-fast),background var(--transition-fast)}.tf-add-tag-link:hover{color:var(--color-primary);background:var(--bg-active-light)}.set-page-header{margin-bottom:var(--spacing-4)}.set-page-subtitle{font-size:14px;color:var(--color-muted);margin:0;line-height:1.5}.set-layout{display:flex;align-items:flex-start;gap:var(--spacing-10);max-width:900px}.set-sidebar{flex:0 0 200px;position:sticky;top:var(--spacing-8);display:flex;flex-direction:column;gap:var(--spacing-1)}.set-nav-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);font-size:14px;font-weight:500;color:var(--color-muted);border-radius:var(--radius-md);text-decoration:none;transition:background-color .15s ease,color .15s ease}.set-nav-link svg{width:16px;height:16px;opacity:.7}.set-nav-link:hover{background:var(--bg-hover-light);color:var(--color-text)}.set-nav-link:hover svg{opacity:1}.set-nav-link.active{background:var(--bg-active-light);color:var(--color-primary);font-weight:600}.set-nav-link.active svg{color:var(--color-primary);opacity:1}.set-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-8);padding-bottom:var(--spacing-20)}.set-section{display:flex;flex-direction:column;gap:var(--spacing-5);padding-top:var(--spacing-6);border-top:1px solid var(--color-border)}.set-section:first-child{padding-top:0;border-top:none}.set-section-header{display:flex;flex-direction:column;gap:var(--spacing-1)}.set-section-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.set-section-desc{font-size:13px;color:var(--color-muted);margin:0;line-height:1.5}.set-form-group{display:flex;flex-direction:column;gap:var(--spacing-2);max-width:480px}.set-label{font-size:13px;font-weight:600;color:var(--color-text)}.set-input,.set-select{height:40px;padding:0 var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font-size:14px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.set-input:focus,.set-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.set-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.set-subsection{display:flex;flex-direction:column;gap:var(--spacing-3);max-width:480px}.set-subsection .set-subsection-header{margin-bottom:var(--spacing-1)}.set-subsection .set-subsection-header .set-label{margin-bottom:2px;display:block}.set-checkbox-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.set-checkbox-item{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;transition:opacity .15s ease}.set-checkbox-item:hover{opacity:.8}.set-checkbox{width:16px;height:16px;border:1px solid var(--color-border);border-radius:4px;appearance:none;-webkit-appearance:none;background-color:var(--color-card);cursor:pointer;position:relative;transition:all .15s ease;flex-shrink:0}.set-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.set-checkbox:checked:after{content:"";position:absolute;left:4px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.set-checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px #16a34a33}.set-checkbox-label{font-size:14px;color:var(--color-text)}.set-note-muted{font-size:12px;color:var(--color-muted);margin:var(--spacing-2) 0 0 0}.set-avatar-row{display:flex;align-items:center;gap:var(--spacing-4)}.set-avatar-drop{position:relative;width:64px;height:64px;border-radius:50%;background:var(--color-card);border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.set-avatar-drop:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-active-light)}.set-avatar-drop svg{width:20px;height:20px}.set-avatar-info{font-size:12px;color:var(--color-muted)}.set-avatar-info .set-avatar-btn{display:block;font-weight:500;color:var(--color-text);margin-bottom:2px}.set-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);max-width:480px}.set-theme-card{position:relative;cursor:pointer}.set-theme-card input[type=radio]{position:absolute;opacity:0}.set-theme-card .set-theme-box{border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4) var(--spacing-2);gap:var(--spacing-2);background:var(--color-card);color:var(--color-muted);transition:border-color .15s ease,background .15s ease,color .15s ease}.set-theme-card .set-theme-box svg{width:20px;height:20px}.set-theme-card .set-theme-box .set-theme-label{font-size:13px;font-weight:500}.set-theme-card input[type=radio]:checked+.set-theme-box{border-color:var(--color-primary);background:var(--bg-active-light);color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset,0 4px 6px -1px #16a34a0d}.set-toggle-row{display:flex;align-items:center;justify-content:space-between;max-width:480px;padding:var(--spacing-3) 0}.set-toggle-info{display:flex;flex-direction:column;gap:2px}.set-toggle-title{font-size:14px;font-weight:500;color:var(--color-text)}.set-toggle-desc{font-size:12px;color:var(--color-muted)}.set-switch{position:relative;display:inline-block;width:44px;height:24px}.set-switch input{opacity:0;width:0;height:0}.set-switch .set-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:.2s ease;border-radius:24px}.set-switch .set-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:transform .2s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 1px 2px #0000001a}.set-switch input:checked+.set-slider{background-color:var(--color-primary)}.set-switch input:checked+.set-slider:before{transform:translate(20px)}.set-switch input:focus+.set-slider{box-shadow:0 0 0 2px var(--color-card),0 0 0 4px #16a34a33}.set-action-footer{position:fixed;bottom:var(--spacing-6);right:var(--spacing-8);left:calc(var(--sidebar-width) + 200px + var(--spacing-10) + var(--spacing-8));background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4) var(--spacing-6);display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003;z-index:10;max-width:610px}.set-footer-text{font-size:13px;color:var(--color-muted)}.set-cat-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-width:480px}.set-cat-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);background:transparent;transition:background .15s ease}.set-cat-row:hover{background:var(--bg-hover-light)}.set-cat-row:hover .set-btn-icon-danger{opacity:1}.set-cat-info{display:flex;align-items:center;gap:var(--spacing-3)}.set-cat-color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:none;border-radius:50%;cursor:pointer;background-color:transparent;padding:0}.set-cat-color::-webkit-color-swatch{border-radius:50%;border:1px solid rgba(0,0,0,.1)}.set-cat-color::-moz-color-swatch{border-radius:50%;border:1px solid rgba(0,0,0,.1)}.set-cat-color:disabled{cursor:not-allowed}.set-cat-name{font-size:14px;color:var(--color-text);font-weight:500}.set-cat-input-inline{background:transparent;border:none;font-size:14px;font-weight:500;color:var(--color-text);padding:2px;font-family:inherit;border-radius:2px}.set-cat-input-inline:focus{outline:none;background:var(--color-card);box-shadow:0 0 0 2px #16a34a33}.set-cat-actions{display:flex;align-items:center;justify-content:center}.set-icon-lock{width:14px;height:14px;color:var(--color-muted)}.set-btn-icon-danger{background:transparent;border:none;padding:var(--spacing-1);border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.set-btn-icon-danger:hover{color:var(--color-danger);background:#ef44441a}.set-btn-icon-danger svg{width:14px;height:14px}.set-cat-add-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px dashed var(--color-border)}.set-cat-add-row .btn-ghost{white-space:nowrap;flex-shrink:0}.set-cat-new-input{flex:1;min-width:0;max-width:none}.set-cat-counter{font-size:12px;color:var(--color-muted);text-align:right;margin-top:var(--spacing-2)}.set-danger-zone{max-width:480px;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);padding:var(--spacing-5);background:#ef444405;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-3);margin-top:var(--spacing-2)}.set-danger-title{font-size:14px;font-weight:600;color:var(--color-danger);margin:0}.set-danger-desc{font-size:13px;color:var(--color-muted);margin:0;line-height:1.4}.set-btn-danger{background:var(--color-danger);color:#fff;border:none;font-size:13px;font-weight:600;padding:0 var(--spacing-4);height:36px;border-radius:var(--radius-md);cursor:pointer;transition:transform .1s cubic-bezier(.4,0,.2,1),background-color .15s ease,box-shadow .15s ease}.set-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444433}.set-btn-danger:active{transform:scale(.98)}@media(max-width:900px){.set-layout{flex-direction:column;gap:var(--spacing-6)}.set-sidebar{flex:none;width:100%;position:static;flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border)}.set-nav-link{white-space:nowrap}.set-action-footer{left:var(--spacing-4);right:var(--spacing-4);max-width:none}}:root{--admin-sidebar-bg: #0F172A;--admin-sidebar-text: #94A3B8;--admin-sidebar-text-active: #F1F5F9;--admin-sidebar-active-bg: rgba(255, 255, 255, .08);--admin-sidebar-hover-bg: rgba(255, 255, 255, .05);--admin-sidebar-border: rgba(255, 255, 255, .06);--admin-sidebar-label: #475569;--admin-sidebar-logo-text: #F1F5F9;--admin-sidebar-logo-icon-bg: #1E40AF}.admin-shell{display:flex;min-height:100vh}.admin-main{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;min-width:0;background:var(--color-bg)}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--admin-sidebar-bg);border-right:1px solid var(--admin-sidebar-border);display:flex;flex-direction:column;overflow-y:auto;z-index:var(--z-sticky);transition:transform var(--transition-base)}.admin-sidebar::-webkit-scrollbar{width:0}.admin-sidebar:hover::-webkit-scrollbar{width:4px}.admin-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--radius-sm)}.admin-logo{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-6) var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--admin-sidebar-border);text-decoration:none}.admin-logo-icon{width:28px;height:28px;background:var(--admin-sidebar-logo-icon-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-logo-icon svg{width:14px;height:14px;color:#fff}.admin-logo-text{font-size:14px;font-weight:700;color:var(--admin-sidebar-logo-text);letter-spacing:-.01em;line-height:1.2}.admin-logo-badge{font-size:9px;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em;display:block;font-weight:500;margin-top:1px}.admin-nav{padding:var(--spacing-3) var(--spacing-2);flex:1}.admin-nav-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--admin-sidebar-label);padding:0 12px;margin-top:20px;margin-bottom:2px;display:block}.admin-nav-label:first-of-type{margin-top:var(--spacing-2)}.admin-nav-item{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--radius-md);color:var(--admin-sidebar-text);text-decoration:none;font-size:13px;font-weight:400;margin-bottom:1px;transition:background-color var(--transition-fast),color var(--transition-fast);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;box-sizing:border-box}.admin-nav-item svg{width:15px;height:15px;flex-shrink:0;color:var(--admin-sidebar-label);transition:color var(--transition-fast);stroke-width:1.8}.admin-nav-item:hover{background-color:var(--admin-sidebar-hover-bg);color:var(--admin-sidebar-text-active)}.admin-nav-item:hover svg{color:var(--admin-sidebar-text-active)}.admin-nav-item:focus-visible{outline:2px solid #3B82F6;outline-offset:-2px}.admin-nav-item.active{background-color:var(--admin-sidebar-active-bg);color:var(--admin-sidebar-text-active);font-weight:500}.admin-nav-item.active svg{color:#60a5fa}.admin-footer{padding:var(--spacing-3) var(--spacing-2);border-top:1px solid var(--admin-sidebar-border)}.admin-footer-user{display:flex;align-items:center;gap:var(--spacing-2);padding:8px 12px;border-radius:var(--radius-md);cursor:pointer}.admin-footer-user:hover{background:var(--admin-sidebar-hover-bg)}.admin-footer-avatar{width:28px;height:28px;background:#1e40af;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#bfdbfe;flex-shrink:0}.admin-footer-info{flex:1;min-width:0}.admin-footer-name{font-size:13px;font-weight:500;color:var(--admin-sidebar-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-footer-role{font-size:11px;color:var(--admin-sidebar-label)}.admin-topbar{position:sticky;top:0;z-index:calc(var(--z-sticky) - 1);display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--spacing-6);background:var(--color-card);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.admin-topbar-left{display:flex;align-items:center;gap:var(--spacing-3)}.admin-topbar-title{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.admin-topbar-right{display:flex;align-items:center;gap:var(--spacing-2)}.admin-badge-admin{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#eff6ff;color:#1d4ed8;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.02em}[data-theme=dark] .admin-badge-admin{background:#3b82f626;color:#60a5fa}.admin-icon-btn{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.admin-icon-btn svg{width:18px;height:18px}.admin-icon-btn:hover{background:var(--color-hover);color:var(--color-text)}.admin-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.admin-page{padding:var(--spacing-6);max-width:var(--max-width);margin:0 auto;width:100%}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.admin-page-title{font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.02em;margin-bottom:4px}.admin-page-sub{font-size:13px;color:var(--color-muted)}.admin-chart{display:flex;align-items:flex-end;gap:var(--spacing-2);height:120px;padding:var(--spacing-2) 0}.admin-chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.admin-chart-bar{width:100%;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;opacity:.85;transition:opacity var(--transition-fast)}.admin-chart-bar:hover{opacity:1}.admin-chart-label{font-size:11px;color:var(--color-muted);text-align:center;font-weight:500}.admin-plan-stat{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-border)}.admin-plan-stat:last-child{border-bottom:none}.admin-plan-name{font-size:14px;font-weight:500;color:var(--color-text)}.admin-plan-count{font-size:12px;color:var(--color-muted);margin-top:2px}.admin-plan-mrr{font-size:15px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right}.admin-plan-mrr-label{font-size:11px;color:var(--color-muted);text-align:right}.admin-filter-bar{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4);flex-wrap:wrap}.admin-search{position:relative;flex:1;min-width:200px;max-width:320px}.admin-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px!important;height:15px!important;max-width:15px;max-height:15px;color:var(--color-muted);pointer-events:none;flex-shrink:0}.admin-search-input{width:100%;height:36px;padding:0 12px 0 36px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;color:var(--color-text);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-search-input::placeholder{color:var(--color-muted)}.admin-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.admin-select{height:36px;padding:0 32px 0 12px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;color:var(--color-text);outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color var(--transition-fast)}.admin-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f}.admin-action-wrap{position:relative;display:inline-block}.admin-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:160px;z-index:var(--z-dropdown);overflow:hidden;display:none}.admin-dropdown.open{display:block}.admin-dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);padding:9px 14px;font-size:13px;color:var(--color-text);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:Inter,sans-serif;transition:background var(--transition-fast)}.admin-dropdown-item svg{width:13px!important;height:13px!important;max-width:13px;max-height:13px;flex-shrink:0;color:var(--color-muted)}.admin-dropdown-item:hover{background:var(--color-hover)}.admin-dropdown-item.danger{color:var(--color-danger)}.admin-dropdown-item.danger svg{color:var(--color-danger)}.admin-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.admin-profile-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);display:flex;align-items:flex-start;gap:var(--spacing-5);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-6)}.admin-profile-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0;background:var(--bg-active-light);color:var(--color-primary)}.admin-profile-name{font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.01em;margin-bottom:4px}.admin-profile-email{font-size:13px;color:var(--color-muted);margin-bottom:var(--spacing-3)}.admin-profile-meta{display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.admin-profile-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--color-muted)}.admin-profile-meta-item svg{width:13px;height:13px}.admin-danger-zone{background:var(--color-card);border:1px solid #FECACA;border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);margin-top:var(--spacing-6)}.admin-danger-title{font-size:15px;font-weight:600;color:var(--color-danger);margin-bottom:4px}.admin-danger-sub{font-size:13px;color:var(--color-muted);margin-bottom:var(--spacing-5)}.admin-danger-actions{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}[data-theme=dark] .admin-danger-zone{border-color:#ef444433;background:#ef444408}.admin-tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-5)}.admin-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;font-family:Inter,sans-serif;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.admin-tab:hover{color:var(--color-text)}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.admin-toggle-wrap{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);box-shadow:var(--shadow-sm)}.admin-toggle-info{flex:1}.admin-toggle-label{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:2px}.admin-toggle-desc{font-size:12px;color:var(--color-muted)}.admin-toggle{position:relative;width:44px;height:24px;flex-shrink:0}.admin-toggle input{opacity:0;width:0;height:0;position:absolute}.admin-toggle-track{position:absolute;inset:0;border-radius:12px;background:var(--color-border);cursor:pointer;transition:background var(--transition-base)}.admin-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--transition-base);box-shadow:0 1px 3px #0003}.admin-toggle input:checked+.admin-toggle-track{background:var(--color-primary)}.admin-toggle input:checked+.admin-toggle-track:after{transform:translate(20px)}.admin-toggle input.danger:checked+.admin-toggle-track{background:var(--color-danger)}.admin-toggle input:focus-visible+.admin-toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.admin-ff-name{font-size:13px;font-weight:600;color:var(--color-text)}.admin-ff-desc{font-size:12px;color:var(--color-muted)}.admin-rollout-bar{width:80px;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}.admin-rollout-fill{height:100%;background:var(--color-primary);border-radius:3px}.admin-form-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6)}.admin-form-title{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-5)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.admin-input,.admin-textarea{width:100%;padding:9px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;color:var(--color-text);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-input::placeholder,.admin-textarea::placeholder{color:var(--color-muted)}.admin-input:focus,.admin-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1f;background:var(--color-card)}.admin-textarea{resize:vertical;min-height:96px;line-height:1.5}.btn-admin-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.btn-admin-primary:hover{background:var(--color-primary-dark);box-shadow:0 2px 8px #16a34a4d}.btn-admin-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-admin-primary svg{width:14px;height:14px}.btn-admin-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:background var(--transition-fast)}.btn-admin-ghost:hover{background:var(--color-hover)}.btn-admin-ghost:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-admin-ghost svg{width:14px;height:14px}.btn-admin-danger{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--color-danger);color:#fff;border:1px solid var(--color-danger);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:background var(--transition-fast)}.btn-admin-danger:hover{background:#dc2626}.btn-admin-danger:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.btn-admin-danger svg{width:14px;height:14px}.btn-admin-warning{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--color-warning);color:#fff;border:1px solid var(--color-warning);border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:background var(--transition-fast)}.btn-admin-warning:hover{background:#d97706}.btn-admin-warning:focus-visible{outline:2px solid var(--color-warning);outline-offset:2px}.btn-admin-warning svg{width:14px;height:14px}.badge-active{background:#ecfdf5;color:#047857}.badge-trial{background:#eff6ff;color:#1d4ed8}.badge-suspended{background:#fef2f2;color:#b91c1c}.badge-cancelled{background:#f3f4f6;color:#4b5563}[data-theme=dark] .badge-active{background:#04785726;color:#34d399}[data-theme=dark] .badge-trial{background:#1d4ed826;color:#60a5fa}[data-theme=dark] .badge-suspended{background:#b91c1c26;color:#f87171}[data-theme=dark] .badge-cancelled{background:#4b556326;color:#9ca3af}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-5);margin-bottom:var(--spacing-6)}.admin-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.admin-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.admin-change-plan{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}@media(max-width:1024px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.mobile-open{transform:translate(0)}.admin-main{margin-left:0}.admin-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.admin-page{padding:var(--spacing-4)}.admin-grid-2,.admin-grid-3,.admin-grid-4,.admin-form-grid{grid-template-columns:1fr}.admin-page-header{flex-direction:column;gap:var(--spacing-3)}.admin-profile-card{flex-direction:column}}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-area{margin-left:0}.bottom-tab-bar{display:flex}.page-content{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.stats-grid{grid-template-columns:repeat(2,1fr)}.category-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.page-content{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card-value{font-size:22px}.category-list{grid-template-columns:repeat(2,1fr);gap:12px}.widget-card{padding:16px}.topbar-title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.table-wrapper{display:none}.tx-card-list{display:block}}@media(max-width:390px){.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-card-value{font-size:20px}.widget-card{padding:12px}.category-list{grid-template-columns:repeat(2,1fr);gap:8px}.topbar-title{max-width:120px}}@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@source "../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php";@source "../storage/framework/views/*.php";@source "./../../resources/**/*.blade.php";@source "./../../resources/**/*.js";@theme{ --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }.topbar-user-container{position:relative;display:flex;align-items:center}.dropdown-menu{position:absolute;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:200px;z-index:100;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.topbar-dropdown{top:calc(100% + 12px);right:0}.sidebar-dropdown{bottom:calc(100% - 4px);left:var(--spacing-2);width:calc(100% - var(--spacing-4));z-index:1000}.dropdown-header{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.dropdown-name{font-size:14px;font-weight:600;color:var(--color-text)}.dropdown-email{font-size:12px;color:var(--color-muted)}.dropdown-group{padding:var(--spacing-1) 0;border-bottom:1px solid var(--color-border)}.dropdown-group:last-child{border-bottom:none}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:13px;font-weight:500;color:var(--color-text);text-decoration:none;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.dropdown-item i{width:16px;height:16px;color:var(--color-muted)}.dropdown-item:hover{background-color:var(--color-hover);color:var(--color-text)}.dropdown-item:hover i{color:var(--color-text)}.dropdown-item.text-danger,.dropdown-item.text-danger i{color:var(--color-danger)}.dropdown-item.text-danger:hover{background-color:#ef44441a;color:var(--color-danger)}.dropdown-item.text-danger:hover i{color:var(--color-danger)}[data-theme=dark] .dropdown-menu{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d}.bg-green{background-color:#16a34a!important}.bg-amber{background-color:#f59e0b!important}.bg-red{background-color:#ef4444!important}.bg-purple{background-color:#8b5cf6!important}.bg-blue{background-color:#3b82f6!important}.bg-orange{background-color:#f97316!important}.bg-gray{background-color:#9ca3af!important}.bg-gray-light{background-color:#e5e7eb!important}.bg-green-light{background-color:#f0fdf4!important}.bg-amber-light{background-color:#fef3c7!important}.bg-red-light{background-color:#fef2f2!important}.bg-purple-light{background-color:#f5f3ff!important}.bg-purple-light-alt{background-color:#fdf4ff!important}.bg-green-light-alt{background-color:#dcfce7!important}.text-green{color:#16a34a!important}.text-amber{color:#f59e0b!important}.text-red{color:#ef4444!important}.text-purple{color:#8b5cf6!important}.text-blue{color:#3b82f6!important}[data-theme=dark] .bg-green-light{background-color:#16a34a26!important}[data-theme=dark] .bg-amber-light{background-color:#f59e0b26!important}[data-theme=dark] .bg-red-light{background-color:#ef444426!important}[data-theme=dark] .bg-purple-light,[data-theme=dark] .bg-purple-light-alt{background-color:#8b5cf626!important}[data-theme=dark] .bg-green-light-alt{background-color:#16a34a33!important}[data-theme=dark] .bg-gray-light{background-color:#374151!important}.alert{padding:12px;border-radius:var(--radius-md);font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:24px}.alert i{width:18px;height:18px}.alert-success{background-color:#def7ec;color:#03543f}.alert-info{background-color:#e1effe;color:#1e429f}[data-theme=dark] .alert-success{background-color:#03543f33;color:#31c48d}[data-theme=dark] .alert-info{background-color:#1e429f33;color:#6875f5}
