.sidebar{width:240px;min-width:240px;height:100vh;background-color:#1e3a5f;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;overflow-y:auto}.sidebar-brand{padding:24px 20px;display:flex;align-items:center;gap:12px}.sidebar-logo{height:32px;width:auto;object-fit:contain}.sidebar-brand-text{font-size:20px;font-weight:600;color:#fff;letter-spacing:-.02em}.brand-dot{color:#ff6b35;font-weight:600}.sidebar-nav{flex:1;padding:12px 8px}.sidebar-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sidebar-nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#fffc;text-decoration:none;font-size:14px;font-weight:500;border-radius:8px;border:1px solid transparent;transition:all .2s ease;position:relative}.sidebar-nav-link:hover{background-color:#ffffff1a;color:#fff}.sidebar-nav-link.active{background-color:#fff;color:#1f2429;font-weight:600;border-color:#d4a574}.sidebar-nav-link.active .sidebar-nav-icon{color:#1f2429}.sidebar-nav-link.active .sidebar-nav-icon svg{stroke:#1f2429}.sidebar-nav-link.disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.sidebar-nav-link.disabled:hover{background-color:transparent;color:#ffffff80}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-nav-icon svg{width:100%;height:100%}.sidebar-nav-label{flex:1}.sidebar-nav-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:#dc3545;color:#fff;border-radius:10px;font-size:11px;font-weight:700;line-height:1;margin-left:auto}.sidebar-nav-link.active .sidebar-nav-badge{background-color:#dc3545;color:#fff}.sidebar-nav-link-switch-user{background-color:#dc262633!important;border-color:#dc262666!important;color:#ff6b6b!important;font-weight:600!important;cursor:pointer;width:100%;text-align:left}.sidebar-nav-link-switch-user:hover{background-color:#dc26264d!important;border-color:#dc262699!important;color:#ff5252!important}.sidebar-nav-link-switch-user .sidebar-nav-icon{color:#ff6b6b!important}.sidebar-nav-link-switch-user .sidebar-nav-icon svg{stroke:#ff6b6b!important}.sidebar-nav-link-switch-user:hover .sidebar-nav-icon{color:#ff5252!important}.sidebar-nav-link-switch-user:hover .sidebar-nav-icon svg{stroke:#ff5252!important}.sidebar-recent{margin-top:20px;padding:0 12px 20px}.sidebar-recent-title{font-size:12px;font-weight:600;text-transform:uppercase;color:#fff9;margin-bottom:8px}.sidebar-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sidebar-recent-link{display:block;font-size:13px;color:#ffffffe6;text-decoration:none;padding:8px 10px;border-radius:6px;background:#ffffff1a;border:1px solid transparent;transition:all .2s ease}.sidebar-recent-link:hover{background:#fff3;color:#fff}.sidebar-recent-error{margin-top:8px;padding:8px 12px;font-size:12px;color:var(--color-error)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.app-layout{display:flex;min-height:100vh;background-color:var(--color-bg-subtle)}.app-main{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}.app-main.presentation-mode{margin-left:0}.app-layout.presentation-mode{background-color:var(--color-bg-base)}.app-header{background-color:#1e3a5f;border-bottom:1px solid rgba(255,255,255,.1);padding:0;position:sticky;top:0;z-index:50}.header-content{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:100%}.page-title{font-size:28px;font-weight:600;color:#fff;margin:0;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:16px}.header-icon-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;color:#fffc;cursor:pointer;border-radius:8px;transition:all .2s ease;position:relative}.header-icon-button:hover{background-color:#ffffff1a;color:#fff}.header-icon-button.active{background-color:#ffffff26;color:#fff}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:#ff6b35;border-radius:50%;border:2px solid #1e3a5f}.header-search{display:flex;align-items:center;gap:10px;padding:10px 16px;background-color:var(--color-bg-base);border:1px solid var(--color-divider-subtle);border-radius:10px;min-width:300px;color:var(--color-text-tertiary);box-shadow:0 1px 3px #00000014}.header-search svg{flex-shrink:0}.header-search-input{border:none;background:transparent;outline:none;font-size:14px;color:var(--color-text-primary);flex:1;min-width:0}.header-search-input::placeholder{color:var(--color-text-tertiary)}.header-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--color-text-primary);color:var(--color-bg-base);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.header-button:hover{opacity:.9;transform:translateY(-1px)}.header-button svg{flex-shrink:0}.header-settings-wrapper{position:relative}.header-settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg-base);border:1px solid var(--color-divider-subtle);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:100;overflow:hidden}.header-dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:background-color .2s ease}.header-dropdown-item:hover{background-color:var(--color-bg-subtle)}.header-dropdown-item:not(:last-child){border-bottom:1px solid var(--color-divider-subtle)}.header-user{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:8px;transition:all .2s ease}.header-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #006699;flex-shrink:0;display:block}.header-user-info{display:flex;flex-direction:column;gap:2px}.header-user-name{font-size:14px;font-weight:500;color:#fff;line-height:1.3}.header-user-role{font-size:13px;font-weight:400;color:#fffc;line-height:1.3}.app-content{flex:1;padding:24px;background:linear-gradient(to top left,var(--color-divider-subtle),var(--color-text-disabled));overflow-y:auto}.app-layout.presentation-mode .app-content{padding:32px 40px}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.app-main{margin-left:0}.header-content{padding:12px 16px}.header-search{min-width:180px}.page-title{font-size:20px}.app-content{padding:16px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);padding:20px}.login-box{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);padding:40px;width:100%;max-width:400px;border:1px solid var(--color-card-border);display:flex;flex-direction:column;align-items:center}.login-logo{height:64px;width:auto;object-fit:contain;margin-bottom:20px}.login-box h1{margin:0 0 10px;color:var(--color-text-primary);font-size:32px;text-align:center}.login-box h2{margin:0 0 30px;color:var(--color-text-secondary);font-size:24px;font-weight:400;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--color-text-primary);font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:16px;transition:border-color .3s;box-sizing:border-box;background-color:var(--color-input-bg);color:var(--color-input-text)}.form-group input::placeholder{color:var(--color-input-placeholder)}.form-group input:hover{border-color:var(--color-input-border-hover)}.form-group input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-group input:disabled{background-color:var(--color-input-disabled-bg);border-color:var(--color-input-disabled-border);color:var(--color-text-disabled);cursor:not-allowed}.login-button{width:100%;padding:12px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:10px}.login-button:hover:not(:disabled){background:var(--color-btn-primary-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.note{margin-top:20px;font-size:12px;color:var(--color-text-tertiary);text-align:center;font-style:italic}.dashboard-container{width:100%}.dashboard-header{background:var(--color-surface);box-shadow:var(--color-card-shadow);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-divider-subtle);gap:20px}.header-left h1{margin:0;color:var(--color-primary);font-size:28px;font-weight:700}.header-subtitle{font-size:12px;color:var(--color-text-tertiary);margin-top:4px;display:block}.user-info{display:flex;align-items:center;gap:20px}.user-details-header{display:flex;align-items:center;gap:10px}.user-name{color:var(--color-text-primary);font-size:14px;font-weight:500}.admin-badge{background:var(--color-primary);color:var(--color-on-primary);padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.logout-button{padding:10px 20px;background:var(--color-btn-destructive-bg);color:var(--color-btn-destructive-text);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.logout-button:hover{background:var(--color-btn-destructive-hover);transform:translateY(-1px);box-shadow:0 4px 8px #a53b3b33}.dashboard-content{width:100%}.welcome-banner{background:var(--color-primary);border-radius:12px;padding:30px 40px;color:var(--color-on-primary);margin-bottom:30px;box-shadow:var(--color-card-shadow)}.welcome-banner h2{margin:0 0 8px;font-size:28px;font-weight:600}.welcome-banner p{margin:0;font-size:16px;opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--color-bg-subtle);border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;border:1px solid var(--color-divider-subtle);transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #10182814}.stat-icon{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--color-primary);color:var(--color-on-primary)}.stat-content h3{margin:0 0 4px;font-size:24px;font-weight:700;color:var(--color-text-primary)}.stat-content p{margin:0;font-size:14px;color:var(--color-text-secondary)}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:30px}.content-card{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);border:1px solid var(--color-card-border);overflow:hidden}.card-header{padding:20px 24px;border-bottom:1px solid var(--color-divider-subtle);display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-section-header-text)}.add-button{width:32px;height:32px;border-radius:8px;border:2px solid var(--color-primary);background:var(--color-btn-secondary-bg);color:var(--color-primary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.add-button:hover{background:var(--color-primary);color:var(--color-on-primary)}.card-body{padding:24px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-divider-subtle)}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:var(--color-text-secondary);font-size:14px}.info-value{color:var(--color-text-primary);font-size:14px;text-align:right}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-tertiary)}.empty-state p{margin-bottom:16px}.primary-button{padding:10px 20px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.primary-button:hover{background:var(--color-btn-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #346b9a33}.income-sources-list{display:flex;flex-direction:column;gap:12px}.income-source-item{padding:16px;background:var(--color-bg-subtle);border-radius:8px;border-left:4px solid var(--color-primary);transition:all .3s}.income-source-item:hover{background:var(--color-primary-subtle);transform:translate(4px)}.income-source-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.income-source-meta{font-size:12px;color:var(--color-text-secondary)}.quick-actions{background:var(--color-card-bg);border-radius:12px;padding:24px;box-shadow:var(--color-card-shadow);border:1px solid var(--color-card-border)}.quick-actions h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-section-header-text)}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.action-button{padding:16px;background:var(--color-btn-secondary-bg);border:2px solid var(--color-btn-secondary-border);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s;font-size:14px;font-weight:500;color:var(--color-btn-secondary-text);text-decoration:none}.action-button:hover{background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--color-card-shadow)}.action-icon{font-size:24px}.admin-action{border:2px solid var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}.admin-action:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}@media (max-width: 768px){.dashboard-header{flex-wrap:wrap;gap:12px;padding:16px 20px}.header-left{flex:1;min-width:0}.user-info{flex-shrink:0}.dashboard-content{padding:20px}.content-grid,.stats-grid{grid-template-columns:1fr}}.data-table-container{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:var(--color-bg-subtle)}.data-table th{padding:10px 14px;text-align:left;font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-divider-subtle)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.data-table th.sortable:hover{background:var(--color-table-header-hover-bg, rgba(0, 0, 0, .05))}.data-table th .th-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.data-table th .sort-icons{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin-left:8px;min-width:14px;vertical-align:middle}.data-table th .sort-arrow{font-size:10px;line-height:.9;opacity:.5;transition:opacity .2s,color .2s;color:var(--color-text-secondary);display:block;font-weight:400;-webkit-user-select:none;user-select:none;transform:scaleX(1.3);transform-origin:center}.data-table th .sort-arrow.active{opacity:1;color:var(--color-primary);font-weight:700}.data-table th.sortable:hover .sort-arrow{opacity:.7}.data-table th.sortable:hover .sort-arrow.active{opacity:1}.data-table tbody tr{border-bottom:1px solid var(--color-divider-subtle);transition:background-color .2s ease}.data-table tbody tr:hover{background-color:var(--color-bg-subtle)}.data-table tbody tr.switched-event-row{background-color:var(--color-primary-subtle)}.data-table tbody tr.switched-event-row:hover{background-color:var(--color-info-tint)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:12px 14px;font-size:14px;color:#000}.data-table-empty{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.data-table-empty p{margin:0;font-size:14px}.data-table th.actions-col,.data-table td.actions-col{text-align:right}.data-table .action-btn{padding:6px 12px;border:1px solid var(--flare-color);background:var(--flare-color);color:#000;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;margin-right:8px}.data-table .action-btn:last-child{margin-right:0}.data-table .action-btn:hover{background:#ffc170;border-color:#ffc170;color:var(--color-text-primary)}.data-table .action-btn.secondary-btn{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.data-table .action-btn.secondary-btn:hover{background:var(--color-primary-hover, #1f7ae0);border-color:var(--color-primary-hover, #1f7ae0);color:#fff}.data-table .action-btn-icon{padding:5px;border:1px solid var(--flare-color);background:var(--flare-color);color:#000;border-radius:6px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:8px}.data-table .action-btn-icon:last-child{margin-right:0}.data-table .action-btn-icon:hover{background:#ffc170;border-color:#ffc170;color:var(--color-text-primary)}.data-table .action-btn-icon.secondary-btn{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.data-table .action-btn-icon.secondary-btn:hover{background:var(--color-primary-hover, #1f7ae0);border-color:var(--color-primary-hover, #1f7ae0);color:#fff}.data-table .table-action-group{display:inline-flex;gap:8px;justify-content:flex-end}.data-table .action-link{color:var(--color-link);text-decoration:none;font-weight:500;transition:color .2s}.data-table .action-link:hover{color:var(--color-link-hover);text-decoration:underline}@media (max-width: 768px){.data-table-container{overflow-x:auto}.data-table{min-width:600px}}.content-page{width:100%;display:flex;flex-direction:column;gap:24px}.content-page-header{display:flex;align-items:center;justify-content:space-between;width:100%;background-color:#fff;padding:16px 24px;border-radius:8px;gap:16px;border:1px solid var(--flare-color)}.content-page-header.intro-mode{border:none}.content-page-header-left{display:flex;align-items:center;gap:16px;flex:1}.content-page-header-right,.content-page-right-actions{display:flex;align-items:center;gap:12px}.content-page-breadcrumbs{display:flex;align-items:center;font-size:14px;color:var(--color-text-secondary);gap:8px}.content-page-breadcrumbs a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.content-page-breadcrumbs a:hover{color:var(--color-primary)}.content-page-breadcrumbs-separator{color:var(--color-text-tertiary);margin:0 8px}.content-page-breadcrumbs-current{color:var(--color-text-primary);font-weight:500;border:none}.content-page-actions{display:flex;align-items:center;gap:12px}.content-page-options-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-divider-subtle);background-color:var(--color-bg-base);border-radius:8px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.content-page-options-button:hover{background-color:var(--color-bg-subtle);border-color:var(--color-divider-strong);color:var(--color-text-primary)}.content-page-search{display:flex;align-items:center;gap:10px;padding:10px 16px;background-color:var(--color-bg-base);border:1px solid var(--color-divider-subtle);border-radius:10px;min-width:300px;color:var(--color-text-tertiary);box-shadow:0 1px 3px #00000014}.content-page-search svg{flex-shrink:0;color:var(--color-text-tertiary)}.content-page-search-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--color-text-primary);width:100%}.content-page-search-input::placeholder{color:var(--color-text-tertiary)}.content-page-title-section{margin-bottom:8px}.content-page-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:-.02em}.content-page-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.content-card{background-color:var(--color-bg-base);border-radius:12px;border:1px solid var(--flare-color);overflow:hidden;box-shadow:0 1px 3px #0000000d}.content-card:has(.tabs-container){border:none;background:transparent}.content-card.intro-mode{border:none}.content-card-header{padding:20px 24px;border-bottom:1px solid var(--color-divider-subtle);display:flex;align-items:center;justify-content:space-between;background-color:var(--color-bg-base)}.content-card-body{padding:24px}.content-card-body:has(>.tabs-container){padding:0}.content-card-body.intro-mode{border:none}.content-table{width:100%;border-collapse:collapse}.content-table thead{background-color:var(--color-bg-subtle)}.content-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-divider-subtle)}.content-table tbody tr{border-bottom:1px solid var(--color-divider-subtle);transition:background-color .2s ease}.content-table tbody tr:hover{background-color:var(--color-bg-subtle)}.content-table tbody tr:last-child{border-bottom:none}.content-table td{padding:16px;font-size:14px;color:var(--color-text-primary)}.content-pagination{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid var(--color-divider-subtle);background-color:var(--color-bg-base)}.content-pagination-info{font-size:14px;color:var(--color-text-secondary);text-align:center}.content-pagination-controls{display:flex;align-items:center;justify-content:center;gap:8px}.content-pagination-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-divider-subtle);background-color:var(--color-bg-base);border-radius:8px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;font-size:14px;font-weight:500}.content-pagination-button:hover:not(:disabled){background-color:var(--color-bg-subtle);border-color:var(--color-divider-strong);color:var(--color-text-primary)}.content-pagination-button:disabled{opacity:.5;cursor:not-allowed}.content-pagination-button.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.content-pagination-button.active:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.content-empty-state{padding:60px 24px;text-align:center;color:var(--color-text-secondary)}.content-empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.content-empty-state-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.content-empty-state-message{font-size:14px;color:var(--color-text-secondary);margin:0}.content-loading-state{padding:60px 24px;text-align:center;color:var(--color-text-secondary);font-size:14px}.content-action-button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;min-height:40px;border:1px solid var(--color-divider-subtle);background-color:var(--color-bg-base);border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;text-decoration:none;box-sizing:border-box}.content-action-button:hover{background-color:var(--color-bg-subtle);border-color:var(--color-divider-strong)}.content-action-button.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.content-action-button.primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.content-action-button:disabled{background-color:var(--color-divider-subtle);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6;border-color:var(--color-divider-subtle)}.content-action-button.primary:disabled{background-color:var(--color-divider-subtle);border-color:var(--color-divider-subtle);color:var(--color-text-tertiary)}.content-action-button.primary:disabled:hover{background-color:var(--color-divider-subtle);border-color:var(--color-divider-subtle)}@media (max-width: 768px){.content-page-header{flex-direction:column;align-items:stretch;gap:12px}.content-page-header-left{flex-direction:column;align-items:flex-start;gap:12px}.content-page-search{min-width:100%;width:100%}.content-pagination{flex-direction:column;gap:16px;align-items:flex-start}.content-table{font-size:12px}.content-table th,.content-table td{padding:10px 12px}}.admin-users-container{min-height:100vh;background:var(--color-bg-subtle)}.admin-users-container .dashboard-header{background:var(--color-surface);box-shadow:var(--color-card-shadow);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-divider-subtle)}.admin-users-content{max-width:1400px;margin:0 auto;padding:40px}.admin-users-header{margin-bottom:32px}.admin-users-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:var(--color-text-primary)}.admin-users-subtitle{margin:0;font-size:16px;color:var(--color-text-secondary)}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-card-border)}.empty-state p{margin:0;font-size:16px}.users-table-container{background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-card-border);overflow:hidden;box-shadow:var(--color-card-shadow)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--color-table-header-bg)}.users-table th{padding:16px;text-align:left;font-size:14px;font-weight:600;color:var(--color-table-header-text);border-bottom:1px solid var(--color-divider-subtle)}.users-table tbody tr{border-bottom:1px solid var(--color-table-gridlines);transition:background-color .2s}.users-table tbody tr:hover{background:var(--color-table-row-selected)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px;font-size:14px;color:var(--color-text-primary)}.action-btn{padding:6px 12px;border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.action-btn:hover{background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border);color:var(--color-primary)}.user-name-link{color:var(--color-link);text-decoration:none;font-weight:500;transition:color .2s}.user-name-link:hover{color:var(--color-link-hover);text-decoration:underline}.admin-users-search-feedback{margin-top:12px;font-size:13px;color:var(--color-warning)}@media (max-width: 768px){.admin-users-content{padding:20px}.users-table-container{overflow-x:auto}.users-table{min-width:600px}}.tabs-container{background:transparent;border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.tabs-header{display:flex;border-bottom:1px solid var(--color-divider-subtle);background:transparent;overflow-x:auto}.tab-button{padding:16px 24px;background:#ececec;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;position:relative}.tab-button:hover{color:var(--color-text-primary);background:#f0f0f0}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-card-bg);font-weight:600}.tab-button:last-child{border-top-right-radius:12px}.tabs-content{padding:24px;position:relative;min-height:200px;background:#fff}.tabs-content-inner{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tabs-header{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:12px 16px;font-size:13px}.tabs-content{padding:16px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container{background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-card-border);box-shadow:var(--color-card-shadow);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-container:has(.edit-income-source-form){border:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-divider-subtle)}.modal-title{margin:0;font-size:20px;font-weight:600;color:var(--color-section-header-text)}.modal-close-button{background:none;border:none;font-size:28px;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close-button:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.modal-content{padding:24px}@media (max-width: 768px){.modal-container{max-width:100%;margin:0;border-radius:0;max-height:100vh}.modal-overlay{padding:0}}.view-user-container{min-height:100vh;background:var(--color-bg-subtle)}.view-user-container .dashboard-header{background:var(--color-surface);box-shadow:var(--color-card-shadow);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-divider-subtle)}.view-user-content{max-width:1400px;margin:0 auto;padding:40px}.view-user-header{margin-bottom:32px}.view-user-title-section{display:flex;justify-content:space-between;align-items:center;gap:16px}.view-user-title-section h1{margin:0;font-size:32px;font-weight:700;color:var(--color-text-primary)}.edit-button{padding:10px 20px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;display:inline-block}.edit-button:hover{background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.user-details-card{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.user-tabs-section{margin-top:24px}.income-sources-header{display:flex;justify-content:flex-end;margin-top:16px;padding-bottom:16px}.add-income-source-button{padding:10px 20px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;display:inline-block}.add-income-source-button:hover{background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.detail-section{padding:24px;border-bottom:1px solid var(--color-divider-subtle)}.detail-section:last-child{border-bottom:none}.detail-section h2{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--color-section-header-text)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.detail-item{display:flex;flex-direction:column;gap:8px;padding-bottom:16px}.detail-value{font-size:16px;color:var(--color-text-primary);font-weight:500}.modal-form{display:flex;flex-direction:column;gap:20px}.edit-income-source-form .form-grid{grid-template-columns:1fr}.modal-form .form-group{display:flex;flex-direction:column;gap:8px}.modal-form label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.modal-form .form-select{padding:10px 12px;border:1px solid var(--color-input-border);border-radius:8px;font-size:14px;color:var(--color-input-text);background:var(--color-input-bg);transition:border-color .2s}.modal-form .form-select:hover{border-color:var(--color-input-border-hover)}.modal-form .form-select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.modal-form .form-input{padding:10px 12px;border:1px solid var(--color-input-border);border-radius:8px;font-size:14px;color:var(--color-input-text);background:var(--color-input-bg);transition:border-color .2s}.modal-form .form-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.modal-form .form-input:focus:not(:disabled){outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.modal-form .form-input::placeholder{color:var(--color-input-placeholder)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.modal-actions .btn-primary,.modal-actions .btn-secondary{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions .btn-primary{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.modal-actions .btn-primary:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-actions .btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border)}.modal-actions .btn-secondary:hover{background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border)}.data-table .action-btn.delete-btn{background:var(--color-btn-destructive-bg);border-color:var(--color-btn-destructive-bg);color:var(--color-btn-destructive-text)}.data-table .action-btn.delete-btn:hover{background:var(--color-btn-destructive-hover);border-color:var(--color-btn-destructive-hover);color:var(--color-btn-destructive-text)}.data-table .action-btn-icon.delete-btn{background:var(--color-btn-destructive-bg);border-color:var(--color-btn-destructive-bg);color:var(--color-btn-destructive-text)}.data-table .action-btn-icon.delete-btn:hover{background:var(--color-btn-destructive-hover);border-color:var(--color-btn-destructive-hover);color:var(--color-btn-destructive-text)}@media (max-width: 768px){.view-user-content{padding:20px}.view-user-title-section{flex-direction:column;align-items:flex-start}.detail-grid{grid-template-columns:1fr}}.edit-user-container{min-height:100vh;background:var(--color-bg-subtle)}.edit-user-container .dashboard-header{background:var(--color-surface);box-shadow:var(--color-card-shadow);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-divider-subtle)}.edit-user-content{max-width:1400px;margin:0 auto;padding:40px}.edit-user-header{margin-bottom:32px}.edit-user-header h1{margin:0;font-size:32px;font-weight:700;color:var(--color-text-primary)}.edit-user-form{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.form-section{padding:24px}.edit-user-form .form-section:not(:last-child){border-bottom:1px solid var(--color-divider-subtle)}.edit-user-form .form-section+.form-actions{border-top:none}.edit-user-form .form-section:has(+.form-actions){border-bottom:none!important}.edit-user-form .form-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.edit-user-form .form-grid{grid-template-columns:repeat(2,1fr)}}.form-actions{padding:24px;display:flex;justify-content:flex-end;gap:12px}@media (max-width: 768px){.edit-user-content{padding:20px}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.edit-income-source-container{min-height:100vh;background:var(--color-bg-subtle)}.edit-income-source-container .dashboard-header{background:var(--color-surface);box-shadow:var(--color-card-shadow);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-divider-subtle)}.edit-income-source-content{max-width:1400px;margin:0 auto;padding:40px}.edit-income-source-header{margin-bottom:32px}.back-link{display:inline-block;color:var(--color-link);text-decoration:none;font-size:14px;margin-bottom:16px;transition:color .2s}.back-link:hover{color:var(--color-link-hover);text-decoration:underline}.edit-income-source-header h1{margin:0;font-size:32px;font-weight:700;color:var(--color-text-primary)}.edit-income-source-form{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.form-group.checkbox-group{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%;padding:0!important;margin:0!important}.form-group.checkbox-group>*{display:block!important;width:auto!important}.checkbox-label-text{font-size:14px;font-weight:500;color:var(--color-text-primary);cursor:pointer;text-align:left!important;margin:0!important;padding:0!important;display:block!important;width:100%!important}.checkbox-input{width:18px!important;height:18px!important;min-width:18px!important;cursor:pointer;accent-color:var(--color-primary);margin:0!important;padding:0!important;flex-shrink:0;align-self:flex-start!important;display:block!important;position:relative;left:0!important}@media (max-width: 768px){.edit-income-source-content{padding:20px}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.savings-chart-container{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #0000000d}.savings-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;flex-wrap:wrap;gap:16px}.savings-chart-title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.savings-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0e9000;border:none;border-radius:8px}.savings-badge-label{font-size:13px;color:#fff}.savings-badge-value{font-size:16px;font-weight:700;color:#fff}.savings-badge-percentage{font-size:13px;color:#fff}.savings-gauge-wrapper{width:100%;margin:0 auto;display:flex;justify-content:center;align-items:center;min-height:300px;flex:1}.savings-gauge-wrapper svg{width:100%;max-width:100%;height:auto;display:block}.savings-gauge-wrapper>div{width:100%;max-width:100%;display:flex;justify-content:center}.savings-gauge-wrapper svg{transform:scale(1.2);transform-origin:center}.savings-gauge-wrapper svg path{stroke-linejoin:round;stroke-linecap:round}.savings-chart-legend{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:0}.savings-legend-item{display:flex;align-items:center;gap:8px}.savings-legend-color{width:16px;height:16px;border-radius:4px;display:inline-block;flex-shrink:0}.savings-legend-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}@media (max-width: 768px){.savings-chart-container{padding:16px}.savings-chart-header{flex-direction:column;align-items:flex-start}.savings-gauge-wrapper{max-width:100%}.savings-chart-legend{flex-direction:column;gap:12px;align-items:flex-start}}.present-button{padding:10px 20px;background-color:#0e9000;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.present-button:hover:not(:disabled){background-color:#0b7000}.present-button:disabled{background-color:var(--color-divider-subtle);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.create-projection-tabs-container{width:100%}.create-projection-card-body{padding:0!important}.loading-state{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-card-border)}.create-projection-form{width:100%}.form-section{padding:0;margin-bottom:24px}.form-section:last-of-type{margin-bottom:0}.form-grid{display:flex;flex-direction:column;gap:20px}.form-input:hover{border-color:var(--color-input-border-hover)}.content-page.presentation-mode{background-color:var(--color-bg-subtle);min-height:100vh;padding:24px 24px 120px;border-radius:12px}.presentation-mode-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;gap:16px}.presentation-page-title{font-size:28px;font-weight:600;color:var(--color-text-primary);margin:0}.presentation-close-button{border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:4px 8px;border-radius:6px;transition:background-color .2s,color .2s;flex-shrink:0}.presentation-close-button:hover{background-color:#0000000d;color:var(--color-text-primary)}.presentation-mode-footer{position:fixed;bottom:0;left:0;right:0;padding:24px;background-color:var(--color-bg-subtle);border-top:1px solid var(--color-divider-subtle);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;z-index:10}.presentation-footer-brand{display:flex;align-items:center;justify-content:center;gap:12px}.presentation-logo{height:40px;width:auto;object-fit:contain}.presentation-firm-name{font-size:20px;font-weight:600;color:var(--color-text-primary)}.presentation-disclaimer{max-width:1200px;text-align:center;color:var(--color-text-secondary);font-size:14px;line-height:1.6;padding:0 24px}.form-actions{padding:0;margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.cancel-button{padding:10px 20px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;display:inline-block}.cancel-button:hover{background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border);color:var(--color-primary)}.save-button{padding:10px 20px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-button:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.save-button:disabled{opacity:.6;cursor:not-allowed}.create-projection-tabs-container{margin-top:0}.projection-tab-content{padding:0}.projection-tab-content h2{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--color-section-header-text)}.projection-tab-content p{margin:0 0 16px;color:var(--color-text-secondary);line-height:1.6}.settings-form{margin-top:24px}.settings-form .form-group{display:flex;flex-direction:column;gap:8px;max-width:400px}.settings-form label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.settings-form .form-input{padding:10px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;background-color:var(--color-input-bg);color:var(--color-input-text);transition:border-color .2s}.settings-form .form-input:hover{border-color:var(--color-input-border-hover)}.settings-form .form-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.projections-three-column-layout{display:grid;grid-template-columns:1fr 5% 1fr;gap:0;margin-top:24px}.projections-two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}.projections-column{display:flex;flex-direction:column}.projections-column h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-section-header-text)}.income-sources-container{display:flex;flex-direction:column;gap:16px}.income-sources-table{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;overflow:hidden}.income-sources-table.wage-sources{margin-top:8px}.income-sources-input-table{width:100%;border-collapse:collapse;table-layout:fixed}.income-sources-input-table thead{background:var(--color-table-header-bg)}.income-sources-input-table th{padding:12px 16px;text-align:right;font-size:14px;font-weight:700;color:var(--color-table-header-text);border-bottom:1px solid var(--color-divider-subtle)}.income-sources-input-table th.align-left{text-align:left!important}.income-sources-input-table th.align-right{text-align:right}.income-sources-input-table th.income-sources-header{text-align:left!important;width:75%!important;min-width:0!important;max-width:75%!important}.income-sources-header.align-left{text-align:left!important}.income-sources-header{display:table-cell!important;text-align:left!important;width:75%!important;min-width:0!important;max-width:75%!important}.income-sources-header-button{text-align:right;width:25%!important;min-width:0!important;max-width:25%!important;padding-right:16px;padding-left:16px;box-sizing:border-box;vertical-align:middle}.income-sources-header-button .add-income-source-button{margin-left:auto;margin-right:0;display:inline-block;float:right}.add-income-source-button{padding:0;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:6px;font-size:18px;font-weight:500;cursor:pointer;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.add-income-source-button:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #346b9a33}.add-income-source-button:disabled{opacity:.6;cursor:not-allowed}.income-sources-input-table td{padding:12px 16px;border-bottom:1px solid var(--color-divider-subtle);vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}.income-sources-input-table tbody tr:last-child td{border-bottom:none}.income-source-name{font-size:14px;color:var(--color-text-primary);font-weight:400;vertical-align:top;padding:12px 16px;text-align:left!important;width:75%!important;min-width:0!important;max-width:75%!important;word-wrap:break-word;overflow-wrap:break-word;position:relative}.income-source-name-text{display:inline-block}.delete-income-source-icon{display:none;background:none;border:none;color:var(--color-error);cursor:pointer;padding:2px 4px;margin-left:10px;vertical-align:middle;opacity:.7;transition:opacity .2s ease;line-height:0;align-items:center;justify-content:center}.delete-income-source-icon:hover{opacity:1}.delete-income-source-icon svg{display:block}.income-source-row:hover .delete-income-source-icon{display:inline-flex}.income-source-amount{width:25%!important;min-width:0!important;max-width:25%!important;text-align:right}.year-to-date-payments-table .income-source-name{width:20%!important;max-width:20%!important;min-width:120px}.year-to-date-payments-table th:first-child{width:20%}.year-to-date-payments-table th:not(:first-child),.year-to-date-payments-table td:not(:first-child){text-align:right}.quarter-input-cell{width:auto!important;min-width:0!important;max-width:none!important}.year-to-date-payments-table .amount-input{text-align:right}.estimates-placeholder-table{min-height:240px;display:flex;align-items:center;justify-content:center}.estimates-placeholder-message{padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:14px}.federal-state-totals-table th:first-child,.federal-state-totals-table td:first-child{width:50%!important;text-align:left!important}.federal-state-totals-table th:not(:first-child),.federal-state-totals-table td:not(:first-child){width:25%!important;text-align:right}.amount-input-wrapper{display:flex;align-items:center;justify-content:flex-end;width:100%}.amount-input{width:100%;padding:4px 0;border:none;border-radius:0;font-size:14px;font-weight:400;background-color:transparent;color:var(--color-input-text);text-align:right;position:relative;z-index:1;cursor:text;pointer-events:auto}.amount-input:focus{outline:none}.income-sources-input-table .empty-message{text-align:center;color:var(--color-text-tertiary);padding:12px 16px;font-size:14px}.separator-row td{height:24px;padding:12px 16px;border-bottom:none}.calculated-row{background-color:var(--color-table-row-alt-bg, rgba(0, 0, 0, .02))}.capital-gains-row{position:relative}.calculated-row .income-source-name{font-weight:400;vertical-align:top;padding:12px 16px;text-align:left;font-size:14px}.calculated-amount{text-align:right;font-weight:400;font-size:14px;color:var(--color-text-primary);padding:4px 0}.totals-table .calculated-amount,.totals-table .amount-input{font-weight:700}.months-select{border:none;border-radius:0;font-size:14px;font-weight:400;background-color:transparent;color:var(--color-text-primary);width:100%;max-width:200px;vertical-align:top;display:block;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none;padding:0;margin:0}.months-select:hover{background-color:transparent}.months-select:focus{outline:none;background-color:transparent}.help-text{margin-top:4px;font-size:12px;line-height:1.4;color:var(--color-text-tertiary)}@media (max-width: 768px){.create-projection-content{padding:20px}.projections-three-column-layout,.projections-two-column-layout{grid-template-columns:1fr;gap:20px}.income-sources-input-table th.income-sources-header,.income-sources-header{text-align:left!important}}.capital-gains-row,.capital-gains-row td:first-child{position:relative}.capital-gains-tooltip{position:fixed;background:var(--color-card-bg);border:1px solid var(--flare-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;min-width:300px;padding:12px;white-space:nowrap;pointer-events:none}.capital-gains-tooltip-table{width:100%;border-collapse:collapse;font-size:13px}.capital-gains-tooltip-table thead{background:var(--color-table-header-bg)}.capital-gains-tooltip-table th{padding:8px 12px;text-align:left;font-size:12px;font-weight:600;color:var(--color-table-header-text);border-bottom:1px solid var(--color-divider-subtle)}.capital-gains-tooltip-table th:last-child{text-align:right}.capital-gains-tooltip-table td{padding:8px 12px;border-bottom:1px solid var(--color-divider-subtle);color:var(--color-text-primary)}.capital-gains-tooltip-table tbody tr:last-child td{border-bottom:none}.capital-gains-tooltip-table td:last-child{text-align:right;font-weight:500}.content-page.presentation-mode .savings-table thead{background-color:#0e9000}.content-page.presentation-mode .savings-table thead th{color:#fff}.content-page.presentation-mode .savings-table tbody tr{background-color:#bffdb9}.content-page.presentation-mode .projections-column:first-child .income-sources-input-table tbody tr:has(.amount-input:not([readonly])):hover,.content-page.presentation-mode .projections-column:last-child .income-sources-input-table tbody tr:has(.amount-input:not([readonly])):hover{background-color:#ffdb9c}.content-page.presentation-mode .projections-column:first-child .income-sources-input-table tbody tr.calculated-row:hover,.content-page.presentation-mode .projections-column:first-child .income-sources-input-table tbody tr:not(:has(.amount-input:not([readonly]))):hover,.content-page.presentation-mode .projections-column:last-child .income-sources-table:not(.savings-table) .income-sources-input-table tbody tr.calculated-row:hover,.content-page.presentation-mode .projections-column:last-child .income-sources-table:not(.savings-table) .income-sources-input-table tbody tr:not(:has(.amount-input:not([readonly]))):hover{background-color:#eceff3}.content-page.presentation-mode .projections-column:last-child .savings-table .income-sources-input-table tbody tr:hover,.content-page.presentation-mode .projections-column:last-child .savings-table .income-sources-input-table tbody tr.calculated-row:hover{background-color:#a4ff9b}.content-page.presentation-mode .compare-current-row{background-color:#ffdede}.calculate-savings-button{width:100%;padding:16px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.calculate-savings-button:hover{background-color:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.savings-fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tax-brackets-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.filter-select{padding:8px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;background-color:var(--color-input-bg);color:var(--color-input-text);min-width:220px;transition:border-color .2s}.filter-select:hover{border-color:var(--color-input-border-hover)}.filter-select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.filter-select:disabled{opacity:.6;cursor:not-allowed}.user-projections-page{display:flex;flex-direction:column;gap:24px}.projections-summary-card{margin-bottom:0}.projections-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.projections-summary-item{background-color:var(--color-card-bg);border:1px solid var(--color-divider-subtle);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.summary-label{font-size:13px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.summary-value{font-size:20px;font-weight:600;color:var(--color-text-primary)}.user-projections-table-wrapper{width:100%;overflow-x:auto}.user-projections-table{width:100%;border-collapse:collapse}.user-projections-table th,.user-projections-table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--color-divider-subtle);font-size:14px;color:var(--color-text-primary)}.user-projections-table th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.projection-period{font-weight:600;color:var(--color-text-primary)}.projection-subtext{font-size:12px;color:var(--color-text-tertiary);margin-top:4px}.user-projections-table tbody tr:hover{background-color:var(--color-bg-subtle)}.projections-error{background-color:var(--color-error-tint);border:1px solid var(--color-error-border);color:var(--color-error);padding:12px 16px;border-radius:8px;margin-bottom:16px}@media (max-width: 768px){.summary-value{font-size:18px}.user-projections-table th,.user-projections-table td{padding:12px 8px}}.personal-information-form{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.avatar-section{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.avatar-preview-wrapper{width:120px;height:120px;border-radius:50%;border:2px solid var(--color-divider-subtle);overflow:hidden;background-color:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center;position:relative}.avatar-preview{width:100%;height:100%;object-fit:cover}.avatar-upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;border-radius:50%}.avatar-upload-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.avatar-details{flex:1;min-width:220px;display:flex;flex-direction:column;gap:12px}.avatar-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.avatar-hint{font-size:13px;color:var(--color-text-tertiary);margin-top:-4px}.avatar-crop-container{display:flex;flex-direction:column;gap:20px}.avatar-crop-wrapper{position:relative;width:100%;height:400px;background:var(--color-bg-subtle);border-radius:8px;overflow:hidden}.avatar-crop-wrapper .reactEasyCrop_Container{border-radius:8px}.avatar-crop-wrapper .reactEasyCrop_CropArea{border:2px solid var(--color-primary);box-shadow:0 0 0 9999em #00000080}.avatar-crop-controls{display:flex;flex-direction:column;gap:16px}.avatar-crop-zoom-control{display:flex;flex-direction:column;gap:8px}.avatar-crop-zoom-control label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.avatar-zoom-slider{width:100%;height:6px;border-radius:3px;background:var(--color-divider-subtle);outline:none;-webkit-appearance:none}.avatar-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer}.avatar-zoom-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--color-divider-subtle)}.avatar-crop-actions .cancel-button,.avatar-crop-actions .save-button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.avatar-crop-actions .cancel-button{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border)}.avatar-crop-actions .cancel-button:hover:not(:disabled){background:var(--color-btn-secondary-hover-bg);border-color:var(--color-btn-secondary-hover-border);color:var(--color-primary)}.avatar-crop-actions .save-button{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none}.avatar-crop-actions .save-button:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.avatar-crop-actions .cancel-button:disabled,.avatar-crop-actions .save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.avatar-messages{display:flex;flex-direction:column;gap:10px}.avatar-message{font-size:14px;padding:10px 12px;border-radius:6px;border:1px solid transparent}.avatar-message.error{background-color:var(--color-error-tint);color:var(--color-error);border-color:var(--color-error-border)}.avatar-message.success{background-color:var(--color-success-tint);color:var(--color-success);border-color:var(--color-success-border)}.form-input-disabled{background-color:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:not-allowed;opacity:.7}.form-label-hint{font-weight:400;color:var(--color-text-tertiary);font-size:13px}@media (max-width: 768px){.form-actions{flex-direction:column-reverse}.avatar-preview-wrapper{width:100px;height:100px}}.firm-information-form{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.form-section.intro-mode{border-bottom:none}.form-field-description{font-size:13px;color:var(--color-text-secondary);margin:2px 0 8px;line-height:1.5}.form-actions.intro-mode{border-top:none}.form-actions.intro-continue{justify-content:center;padding-top:32px}.firm-name-link{color:var(--color-primary);text-decoration:none;font-weight:500}.firm-name-link:hover{text-decoration:underline}.admin-firms-search-feedback{margin-bottom:16px;padding:8px 12px;background-color:var(--color-background-secondary);border-radius:4px;color:var(--color-text-secondary);font-size:14px}.firm-details-card{display:flex;flex-direction:column;gap:32px}.firm-logo-section{display:flex;justify-content:center;align-items:center;padding:24px;background:var(--color-background-secondary);border-radius:8px}.firm-logo-preview{max-width:50px;max-height:50px;object-fit:contain;flex-shrink:0}.detail-section{display:flex;flex-direction:column;gap:16px}.detail-section h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item-with-logo{flex-direction:row;align-items:flex-start;gap:16px}.detail-item-content{display:flex;flex-direction:column;gap:8px;flex:1}.detail-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.detail-value{font-size:16px;color:var(--color-text-primary)}.disclaimer-content{padding:16px;background:var(--color-background-secondary);border-radius:8px;white-space:pre-wrap;line-height:1.6;color:var(--color-text-primary)}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}}.edit-firm-form{background:var(--color-card-bg);border-radius:12px;box-shadow:var(--color-card-shadow);overflow:hidden}.form-section{padding:24px;border-bottom:1px solid var(--color-divider-subtle)}.form-section:last-of-type{border-bottom:none}.form-section h2{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--color-section-header-text)}.form-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,1fr)}}.subdomain-status{font-size:14px;margin-top:4px}.subdomain-status.subdomain-status-available{color:var(--color-success)}.subdomain-status.subdomain-status-unavailable{color:var(--color-error)}.subdomain-status.subdomain-status-checking,.subdomain-status.subdomain-status-idle{color:var(--color-text-secondary)}.subdomain-status.subdomain-status-error{color:var(--color-warning)}.form-group-full-width{grid-column:1 / -1;margin-top:20px}.form-input{padding:10px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;background-color:var(--color-input-bg);color:var(--color-input-text);transition:border-color .2s}.form-input textarea{resize:vertical;min-height:120px;font-family:inherit}.form-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.form-input:focus:not(:disabled){outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-actions{padding:24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--color-divider-subtle)}.logo-upload{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.logo-preview-wrapper{flex-shrink:0}.logo-preview-container{position:relative;width:140px;height:140px}.logo-preview{width:140px;height:140px;border-radius:8px;border:1px solid var(--color-divider-strong);background-color:var(--color-bg-subtle);object-fit:contain;padding:8px}.logo-placeholder{width:140px;height:140px;border-radius:8px;border:1px dashed var(--color-divider-strong);background-color:var(--color-surface);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:14px}.logo-upload-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:10}.logo-upload-spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-upload-actions{display:flex;flex-direction:column;gap:12px;min-width:220px;flex:1}.avatar-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.choose-avatar-button{padding:12px 24px;background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;align-self:flex-start}.choose-avatar-button:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #346b9a33}.choose-avatar-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.logo-feedback{font-size:13px;margin:0}.logo-feedback-error{color:var(--color-error)}.logo-feedback-success{color:var(--color-success)}.logo-hint{font-size:12px;color:var(--color-text-secondary);margin:0}@media (max-width: 768px){.form-actions{flex-direction:column-reverse}}.test-email-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.test-email-card,.test-email-preview{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:16px;padding:24px 28px;box-shadow:0 10px 30px #0f172a0d}.test-email-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.test-email-header h2{margin:0;color:var(--color-section-header-text);font-size:22px}.test-email-header p{margin:6px 0 0;color:var(--color-text-secondary);font-size:15px}.test-email-submit{border:none;background:var(--color-primary);color:var(--color-on-primary);padding:12px 22px;font-size:15px;border-radius:999px;cursor:pointer;transition:background .2s ease,transform .1s ease}.test-email-submit:disabled{opacity:.7;cursor:not-allowed}.test-email-submit:not(:disabled):hover{background:var(--color-primary-hover)}.test-email-status{border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:20px}.test-email-status.success{background:var(--color-success-tint);border:1px solid var(--color-success-border);color:var(--color-success)}.test-email-status.error{background:var(--color-error-tint);border:1px solid var(--color-error-border);color:var(--color-error)}.test-email-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:6px;color:var(--color-text-primary)}.form-group input,.form-group textarea{border:1px solid var(--color-input-border);border-radius:12px;padding:12px 14px;font-size:15px;color:var(--color-input-text);background:var(--color-input-bg);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-input-border-focus);outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-help{margin-top:8px;font-size:13px;color:var(--color-text-tertiary)}.test-email-preview .preview-header h3{margin:0;color:var(--color-section-header-text);font-size:18px}.test-email-preview .preview-header p{margin:6px 0 0;font-size:14px;color:var(--color-text-secondary)}.preview-frame{margin-top:16px;border:1px dashed var(--color-divider-strong);border-radius:12px;background:var(--color-bg-base);padding:16px;min-height:200px;overflow-y:auto}@media (max-width: 1024px){.test-email-page{grid-template-columns:1fr}}.admin-contacts-search-feedback{margin-bottom:16px;padding:12px;background:var(--color-info-tint);color:var(--color-info);border:1px solid var(--color-info-border);border-radius:8px;font-size:14px}.status-filter-select{padding:8px 12px;border:1px solid var(--color-input-border);border-radius:8px;font-size:14px;background:var(--color-input-bg);color:var(--color-input-text);cursor:pointer;transition:all .3s ease}.status-filter-select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.delete-confirmation{display:flex;flex-direction:column;gap:16px}.delete-confirmation p{margin:0;font-size:16px;color:var(--color-text-primary)}.delete-contact-info{padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-card-border);border-radius:8px;font-size:14px;color:var(--color-text-primary)}.delete-contact-info strong{font-weight:600;color:var(--color-text-primary)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-input-border)}.btn-secondary:hover{background:var(--color-bg-tertiary)}.btn-danger{background:var(--color-error);color:var(--color-on-error)}.btn-danger:hover{background:var(--color-error-hover)}.view-contact-container{display:flex;flex-direction:column;gap:24px}.contact-info-section{display:flex;flex-direction:column;gap:20px}.contact-info-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.contact-info-row{display:flex;flex-direction:column;gap:4px}.contact-info-row label{font-weight:600;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.contact-info-row span{font-size:14px;color:var(--color-text-primary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-unread{background:transparent;color:var(--color-text-primary);border:none}.status-read{background:var(--color-info-tint);color:var(--color-info);border:1px solid var(--color-info-border)}.status-replied{background:var(--color-warning-tint);color:var(--color-warning);border:1px solid var(--color-warning-border)}.status-resolved{background:var(--color-success-tint);color:var(--color-success);border:1px solid var(--color-success-border)}.messages-section{display:flex;flex-direction:column;gap:16px}.messages-section-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.messages-list{display:flex;flex-direction:column;gap:16px;max-height:600px;overflow-y:auto;padding-right:8px}.message-item{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:8px;border:1px solid var(--color-card-border)}.message-item.message-from-user{background:var(--color-bg-secondary);border-left:3px solid var(--color-primary)}.message-item.message-from-admin{background:var(--color-primary-tint);border-left:3px solid var(--color-primary)}.message-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.message-sender{font-weight:600;font-size:14px;color:var(--color-text-primary)}.message-date{font-size:12px;color:var(--color-text-tertiary)}.message-content{font-size:14px;color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.no-messages{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);font-size:14px}.reply-section{display:flex;flex-direction:column;gap:16px}.reply-section-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.reply-textarea{width:100%;padding:12px;border:1px solid var(--color-input-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--color-input-text);background:var(--color-input-bg);transition:all .3s ease;resize:vertical;min-height:150px}.reply-textarea:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.reply-textarea::placeholder{color:var(--color-input-placeholder)}.reply-actions{display:flex;justify-content:flex-end;gap:12px}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.contact-info-grid{grid-template-columns:1fr}.message-header{flex-direction:column;align-items:flex-start}}.intro-flow-content{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:2rem}.intro-flow-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-base)}.intro-flow-card{width:100%;max-width:800px;background:var(--color-surface);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.intro-flow-card h1{margin-top:0;margin-bottom:1rem;color:var(--color-text-primary)}.intro-flow-card p{margin-bottom:1rem;color:var(--color-text-secondary);line-height:1.6}.intro-step-header{margin-bottom:2rem}.intro-step-header h2{margin-top:0;margin-bottom:.5rem;color:var(--color-text-primary)}.intro-step-header p{color:var(--color-text-secondary);margin-bottom:0}.intro-step-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.intro-step-progress{margin-bottom:2rem}.intro-step-progress-bar{height:4px;background:var(--color-divider-subtle);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.intro-step-progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.intro-step-progress-text{text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.intro-step-container{width:100%}.intro-step-content{margin-top:2rem}.subscription-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.subscription-plan-card{border:2px solid var(--color-divider-subtle);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s;background:var(--color-surface)}.subscription-plan-card h3{margin-top:0;margin-bottom:1rem;color:var(--color-text-primary)}.plan-price{margin-bottom:1rem}.plan-amount{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.plan-interval{font-size:1rem;color:var(--color-text-secondary)}.payment-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-divider-subtle)}.payment-section h3{margin-top:0;margin-bottom:1rem;color:var(--color-text-primary)}.terms-content{max-height:400px;overflow-y:auto;padding:1rem;background:var(--color-bg-subtle);border-radius:4px;margin-bottom:1.5rem;border:1px solid var(--color-divider-subtle)}.terms-content h3{margin-top:0;color:var(--color-text-primary)}.terms-content h4{margin-top:1.5rem;margin-bottom:.5rem;color:var(--color-text-primary)}.terms-content p{margin-bottom:1rem;color:var(--color-text-secondary);line-height:1.6}.terms-content ul{margin-bottom:1rem;padding-left:1.5rem;color:var(--color-text-secondary)}.terms-content li{margin-bottom:.5rem;line-height:1.6}.terms-checkbox{margin-bottom:1rem}.terms-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--color-text-primary)}.terms-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.primary-button{background:var(--color-primary);color:var(--color-on-primary);border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.welcome-content{margin-top:1.5rem}.welcome-section{margin-bottom:2rem}.welcome-section h3{margin-top:0;margin-bottom:1rem;color:var(--color-text-primary);font-size:1.25rem}.welcome-section p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1rem}.feature-list{list-style:none;padding:0;margin:1.5rem 0}.feature-list li{padding:1rem;margin-bottom:.75rem;background:#f7f7f7;border-radius:6px;border-left:3px solid var(--color-primary);color:var(--color-text-primary);line-height:1.6}.feature-list li strong{color:var(--color-text-primary);display:block;margin-bottom:.25rem}.payment-form{margin-top:1.5rem}.payment-form-group{margin-bottom:1.5rem}.payment-form-group label{display:block;margin-bottom:.5rem;color:var(--color-text-primary);font-weight:500}.card-element-wrapper{padding:1rem;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-input-bg);transition:border-color .2s}.card-element-wrapper:focus-within{border-color:var(--color-primary);outline:2px solid var(--color-primary-subtle);outline-offset:2px}.card-error{margin-top:.5rem;font-size:.875rem}.payment-form-summary{background:var(--color-bg-subtle);padding:1rem;border-radius:4px;margin-bottom:1rem}.payment-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-divider-subtle)}.payment-summary-row:last-child{border-bottom:none}.payment-summary-row span{color:var(--color-text-secondary)}.payment-summary-row span strong{color:var(--color-text-primary)}.invoice-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.invoice-status-paid{background-color:var(--color-success-tint);color:var(--color-success)}.invoice-status-open{background-color:var(--color-warning-tint);color:var(--color-warning)}.invoice-status-draft{background-color:var(--color-bg-subtle);color:var(--color-text-secondary)}.invoice-status-void,.invoice-status-uncollectible{background-color:var(--color-error-tint);color:var(--color-error)}.download-pdf-button{padding:6px 12px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.download-pdf-button:hover{background-color:var(--color-primary-hover)}.year-filter-select{padding:8px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;background-color:var(--color-input-bg);color:var(--color-input-text);cursor:pointer;transition:border-color .2s;min-width:120px}.year-filter-select:hover{border-color:var(--color-input-border-hover)}.year-filter-select:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.current-subscription-section{padding:24px 0}.current-subscription-section h2{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.subscription-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-divider-subtle)}.detail-row.warning{color:var(--color-warning)}.detail-label{font-weight:500;color:var(--color-text-secondary);min-width:150px}.plan-name{font-weight:600;color:var(--color-text-primary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.status-active{background-color:var(--color-success-tint);color:var(--color-success)}.status-canceled,.status-past_due{background-color:var(--color-error-tint);color:var(--color-error)}.status-trialing{background-color:var(--color-info-tint);color:var(--color-info)}.subscription-plans-section{padding:24px 0}.subscription-plans-section h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.subscription-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.subscription-plan-card{border:2px solid var(--color-divider-subtle);border-radius:8px;padding:24px;cursor:pointer;transition:all .2s;background:var(--color-card-bg)}.subscription-plan-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.subscription-plan-card.selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.subscription-plan-card.current-plan{border-color:var(--color-divider);background:var(--color-bg-secondary);opacity:.7}.subscription-plan-card.current-plan:hover{border-color:var(--color-divider);box-shadow:none;cursor:not-allowed}.subscription-plan-card h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.current-plan-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;background-color:var(--color-info-tint);color:var(--color-info)}.current-plan-message{margin:12px 0 0;font-size:13px;color:var(--color-text-tertiary);font-style:italic}.plan-price{margin-bottom:16px}.plan-amount{font-size:32px;font-weight:700;color:var(--color-text-primary)}.plan-interval{font-size:16px;color:var(--color-text-secondary)}.plan-description{color:var(--color-text-secondary);margin:0;line-height:1.5}.payment-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--color-divider-subtle)}.payment-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.payment-options{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.payment-option-button{display:flex;align-items:center;justify-content:space-between;padding:20px;border:2px solid var(--color-divider-subtle);border-radius:8px;background:var(--color-card-bg);cursor:pointer;transition:all .2s;text-align:left;width:100%}.payment-option-button:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.payment-option-button:disabled{opacity:.6;cursor:not-allowed}.payment-option-content{flex:1}.payment-option-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.payment-option-details{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text-secondary)}.payment-option-details .card-brand{font-weight:500;color:var(--color-text-primary)}.payment-option-details .card-number{font-family:monospace}.payment-option-details .card-expiry{color:var(--color-text-tertiary)}.processing-indicator{color:var(--color-primary);font-size:14px;font-weight:500}.new-payment-method-form{margin-top:24px}.back-button{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:8px 0;margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-block}.back-button:hover:not(:disabled){text-decoration:underline}.back-button:disabled{opacity:.6;cursor:not-allowed}.success-message{background-color:var(--color-success-tint);color:var(--color-success);padding:16px;border-radius:8px;margin-bottom:24px;border:1px solid var(--color-success-border)}.billing-section{padding:24px 0}.billing-section h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.section-description{color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6}.loading-message,.empty-message{text-align:center;padding:48px 24px;color:var(--color-text-secondary)}.empty-message p{margin:8px 0}.payment-methods-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.payment-method-card{display:flex;justify-content:space-between;align-items:center;padding:20px;border:2px solid var(--color-divider-subtle);border-radius:8px;background-color:var(--color-card-bg);transition:all .2s}.payment-method-card.default{border-color:var(--color-primary);background-color:var(--color-primary-subtle)}.payment-method-info{flex:1}.payment-method-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.card-brand{font-weight:600;font-size:16px;color:var(--color-text-primary)}.default-badge{display:inline-block;padding:4px 8px;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.card-number{font-size:16px;color:var(--color-text-primary);margin-bottom:4px;font-family:Courier New,monospace}.card-expiry{font-size:14px;color:var(--color-text-secondary)}.set-default-button{padding:8px 16px;background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.set-default-button:hover{background-color:var(--color-btn-secondary-hover-bg);border-color:var(--color-primary)}.add-payment-method-button{padding:12px 24px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-payment-method-button:hover{background-color:var(--color-primary-hover)}.add-payment-method-form{margin-top:32px;padding:24px;border:1px solid var(--color-divider-subtle);border-radius:8px;background-color:var(--color-bg-base)}.add-payment-method-form h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.payment-method-form{margin-bottom:16px}.payment-method-form .form-group{margin-bottom:20px}.payment-method-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.card-element-wrapper{padding:12px;border:1px solid var(--color-input-border);border-radius:6px;background-color:var(--color-input-bg)}.payment-method-form .form-actions{display:flex;gap:12px;margin-top:20px}.primary-button{padding:10px 20px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.primary-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:10px 20px;background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:var(--color-btn-secondary-hover-bg);border-color:var(--color-primary)}.contact-form-wrapper{max-width:800px}.form-intro{color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-input{padding:10px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;background-color:var(--color-input-bg);color:var(--color-input-text);transition:border-color .2s;font-family:inherit}.form-input:focus{outline:none;border-color:var(--color-input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-input::placeholder{color:var(--color-input-placeholder)}.form-group textarea.form-input{resize:vertical;min-height:120px}.form-group.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.form-actions{display:flex;justify-content:flex-end;margin-top:8px}.submit-button{padding:12px 24px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.contact-success-wrapper{text-align:center;padding:48px 24px}.contact-success-icon{width:64px;height:64px;margin:0 auto 24px;background-color:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700}.contact-success-title{margin:0 0 16px;font-size:24px;font-weight:600;color:var(--color-text-primary)}.contact-success-message{margin:0 0 8px;font-size:16px;color:var(--color-text-secondary);line-height:1.6}.contact-success-note{margin:0;font-size:14px;color:var(--color-text-tertiary);line-height:1.6}.confirmation-container{max-width:800px;margin:0 auto;padding:40px 20px;text-align:center}.success-icon{margin:0 auto 24px;width:64px;height:64px;color:var(--color-success)}.success-icon svg{width:100%;height:100%}.success-circle{color:var(--color-success);animation:scaleIn .3s ease-out}.success-check{color:var(--color-success);stroke-dasharray:20;stroke-dashoffset:20;animation:drawCheck .5s ease-out .3s forwards}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drawCheck{to{stroke-dashoffset:0}}.confirmation-title{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px}.confirmation-message{font-size:16px;color:var(--color-text-secondary);margin:0 0 40px;line-height:1.6}.plan-comparison{display:flex;align-items:center;justify-content:center;gap:24px;margin:32px 0;padding:24px;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-divider-subtle)}.plan-change-item{flex:1;display:flex;flex-direction:column;gap:8px}.plan-label{font-size:14px;color:var(--color-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.plan-value{font-size:20px;font-weight:600;color:var(--color-text-primary)}.new-plan-value{color:var(--color-primary)}.plan-arrow{font-size:24px;color:var(--color-text-tertiary);font-weight:300}.subscription-details{margin:40px 0;padding:32px;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-divider-subtle);text-align:left}.details-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--color-divider-subtle)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--color-divider-subtle)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}.confirmation-container .detail-value{font-size:16px;color:var(--color-text-primary);font-weight:600;text-align:right}.confirmation-container .price-value{color:var(--color-primary);font-size:18px}.confirmation-container .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.confirmation-container .status-badge.status-active{background:var(--color-success-light);color:var(--color-success)}.confirmation-container .status-badge.status-trialing{background:var(--color-primary-light);color:var(--color-primary)}.confirmation-container .status-badge.status-past_due,.confirmation-container .status-badge.status-unpaid{background:var(--color-error-light);color:var(--color-error)}.confirmation-container .status-badge.status-canceled,.confirmation-container .status-badge.status-incomplete,.confirmation-container .status-badge.status-incomplete_expired{background:var(--color-text-tertiary);color:var(--color-text-secondary)}.confirmation-actions{display:flex;gap:16px;justify-content:center;margin-top:40px;flex-wrap:wrap}.confirmation-actions .btn{min-width:180px;padding:12px 24px;font-size:16px;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.confirmation-actions .btn-primary{background:var(--color-primary);color:#fff}.confirmation-actions .btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.confirmation-actions .btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:2px solid var(--color-divider-subtle)}.confirmation-actions .btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.loading-message{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:16px}@media (max-width: 768px){.confirmation-container{padding:20px 10px}.plan-comparison{flex-direction:column;gap:16px}.plan-arrow{transform:rotate(90deg)}.detail-row{flex-direction:column;align-items:flex-start;gap:8px}.confirmation-container .detail-value{text-align:left}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-bg-base: #FFFFFF;--color-bg-subtle: #e0e0e0;--color-surface: #FFFFFF;--color-divider-subtle: #E6E8EB;--color-divider-strong: #D5DAE0;--color-text-primary: #1F2429;--color-text-secondary: #4A5561;--color-text-tertiary: #6B7480;--color-text-disabled: #9AA3AD;--color-primary: #346B9A;--color-primary-hover: #2C5B83;--color-primary-subtle: #ECF3FA;--color-on-primary: #FFFFFF;--color-secondary: #2D8C85;--color-secondary-hover: #25756F;--color-secondary-subtle: #E8F5F4;--color-on-secondary: #FFFFFF;--color-accent: #2B6E50;--color-accent-hover: #235A42;--color-accent-subtle: #E9F3EE;--color-on-accent: #FFFFFF;--flare-color: #ffaa3b;--color-info: #346B9A;--color-info-tint: #ECF3FA;--color-info-border: #C7DDF2;--color-success: #2B6E50;--color-success-tint: #E9F3EE;--color-success-border: #BFDACB;--color-warning: #8A6B2A;--color-warning-tint: #FFF6E7;--color-warning-border: #EED9B0;--color-error: #A53B3B;--color-error-tint: #F9ECEC;--color-error-border: #E6BFBF;--color-link: #346B9A;--color-link-hover: #2C5B83;--color-link-visited: #2D5E8C;--color-link-subtle: #4A5561;--color-focus-ring: rgba(52, 107, 154, .4);--color-focus-inner: #FFFFFF;--color-selection: #ECF3FA;--color-btn-primary-bg: #346B9A;--color-btn-primary-hover: #2C5B83;--color-btn-primary-pressed: #234A6A;--color-btn-primary-text: #FFFFFF;--color-btn-secondary-bg: #FFFFFF;--color-btn-secondary-border: #D5DAE0;--color-btn-secondary-text: #2C5B83;--color-btn-secondary-hover-bg: #F3F7FB;--color-btn-secondary-hover-border: #346B9A;--color-btn-tertiary-text: #346B9A;--color-btn-tertiary-hover-bg: #F3F7FB;--color-btn-destructive-bg: #A53B3B;--color-btn-destructive-hover: #8A3131;--color-btn-destructive-text: #FFFFFF;--color-btn-destructive-subtle-text: #8A3131;--color-btn-destructive-subtle-border: #E6BFBF;--color-btn-destructive-subtle-hover-bg: #F9ECEC;--color-input-bg: #f4f4f4;--color-input-border: #D5DAE0;--color-input-border-hover: #B7C0C8;--color-input-border-focus: #346B9A;--color-input-placeholder: #9AA3AD;--color-input-text: #1F2429;--color-input-disabled-bg: #f0f0f0;--color-input-disabled-border: #E6E8EB;--color-card-bg: #FFFFFF;--color-card-border: #E6E8EB;--color-card-shadow: rgba(16, 24, 40, .04);--color-section-header-text: #1F2429;--color-subheader-text: #4A5561;--color-table-header-bg: #f0f0f0;--color-table-header-text: #4A5561;--color-table-row-stripe: #FBFCFD;--color-table-gridlines: #E6E8EB;--color-table-row-selected: #F3F7FB;--color-badge-default-text: #4A5561;--color-badge-default-bg: #f0f0f0;--color-badge-default-border: #E6E8EB;--color-badge-info-text: #2C5B83;--color-badge-info-bg: #ECF3FA;--color-badge-info-border: #C7DDF2;--color-badge-success-text: #235A42;--color-badge-success-bg: #E9F3EE;--color-badge-success-border: #BFDACB;--color-badge-warning-text: #6F571F;--color-badge-warning-bg: #FFF6E7;--color-badge-warning-border: #EED9B0;--color-badge-error-text: #7E2F2F;--color-badge-error-bg: #F9ECEC;--color-badge-error-border: #E6BFBF;--color-chart-series-1: #346B9A;--color-chart-series-2: #2D8C85;--color-chart-series-3: #2B6E50;--color-chart-series-4: #6B7480;--color-chart-series-5: #A5B6C8;--color-chart-gridlines: #E6E8EB;--color-chart-axis-labels: #4A5561;--color-modal-overlay: rgba(17, 24, 39, .36);--color-popover-shadow: rgba(16, 24, 40, .06)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text-primary);background-color:var(--color-bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-base);color:var(--color-text-primary)}#root{width:100%;min-height:100vh}.error-message{background-color:var(--color-error-tint);color:var(--color-error);padding:16px;border-radius:8px;border:1px solid var(--color-error-border);font-size:14px}
