@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap";*{box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}:root{font-family:Instrument Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-app: #F5F6FA;--bg-card: #FFFFFF;--border-color: #E8EBF1;--border-light: #F0F2F7;--text-main: #17212F;--text-secondary: #647082;--text-muted: #8A94A6;--axis-color: #9AA4B5;--color-primary: #2D5BD1;--color-primary-hover: #2448A8;--bg-primary-light: #EEF3FE;--bg-info: #F3F6FE;--border-info: #DCE6FB;--color-yann: #0FA697;--color-carolyn: #E8A33D;--color-positive: #0E9F6E;--bg-positive: #E9F7F1;--color-negative: #D93843;--bg-negative: #FDF1F1;--color-dark: #17212F;--color-dark-hover: #2D3B52;--bg-alert: #FFF8EC;--border-alert: #F2DFB6;--text-alert: #7A5A17;--bg-hover: #F8F9FC;color-scheme:light;color:var(--text-main);background-color:var(--bg-app);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tabular-nums{font-variant-numeric:tabular-nums}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;box-sizing:border-box;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;-webkit-tap-highlight-color:transparent}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#17212f;background-color:#f5f6fa}a:hover{color:#2448a8}button{background-color:#f9f9f9}}@media(max-width:768px){h1{font-size:2.5em}button{padding:.5em 1em;font-size:.95em}}@media(max-width:480px){h1{font-size:2em}button{padding:.4em .8em;font-size:.9em}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{font-size:16px!important}canvas{max-width:100%!important;height:auto!important}.dashboard,.dashboard__charts-col,.dashboard__chart,.patrimoine-history-chart,.contrib-chart-bar-container,.net-worth-chart,.pret-remboursement-chart,.financial-goal-modal{max-width:100vw!important;overflow-x:hidden!important;box-sizing:border-box!important}:root{--primary-color: #2D5BD1;--gradient-primary: linear-gradient(135deg, #2D5BD1 0%, #1E3A8A 100%);--primary-soft: #EEF3FE;--primary-border-soft: #D7E2F8;--positive-color: #0E9F6E;--bg-positive: #E9F7F1;--negative-color: #D93843;--text-main: #17212F;--text-secondary: #647082;--text-muted: #8A94A6;--bg-main: #F5F6FA;--bg-card: #FFFFFF;--bg-surface-secondary: #F8F9FC;--bg-gray-light: #F0F2F7;--bg-info: #EDEFF4;--border-color: #E8EBF1;--border-light: #F0F2F7;--border-hover: #B9C6E4;--font-family-base: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", "Courier New", monospace;--text-xs: 11px;--text-sm: 12.5px;--text-body: 13.5px;--text-card-title: 14px;--text-section-title: 16px;--text-card-val: 21px;--text-h1: 26px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--page-max-width: 1120px;--page-padding: 32px 40px 48px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(23, 33, 47, .08);--shadow-active-card: 0 6px 18px rgba(45, 91, 209, .14);--shadow-md: 0 4px 12px rgba(23, 33, 47, .06);--transition-fast: .15s ease;--transition-normal: .2s ease}body{font-family:var(--font-family-base);color:var(--text-main);background-color:var(--bg-main);margin:0;padding:0}.amounts-blurred{filter:blur(9px)!important;transition:filter .2s ease!important;-webkit-user-select:none!important;user-select:none!important}.page-container,.dashboard-container,.accounts-page,.budget-page,.financial-goals-page,.dettes-page,.milestones-page,.activities-page,.options-page,.tax-comparison-page,.dividend-sim-page,.mortgage-page,.documentation-page,.settings-page,.admin-questrade-page{max-width:var(--page-max-width, 1120px);margin:0 auto;padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.page-header__title{flex:1}.page-header__title h1{font-size:var(--text-h1, 26px);font-weight:700;color:var(--text-main);margin:0 0 4px;letter-spacing:-.02em}.page-header__subtitle{color:var(--text-secondary);margin:0;font-size:var(--text-body, 13.5px);line-height:1.4}.page-header__date{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;height:36px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);white-space:nowrap}.card{background:var(--bg-card);padding:20px 24px;border-radius:var(--radius-xl, 16px);border:1px solid var(--border-color);box-shadow:none;text-align:left;position:relative;overflow:hidden;transition:border-color .2s ease}.card--overflow{overflow:visible}.summary-card{padding:16px 18px;display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg, 14px);box-shadow:none;text-align:left;transition:border-color .2s ease,transform .2s ease}.summary-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.summary-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md, 10px);font-size:1.2rem;flex-shrink:0;background:var(--bg-surface-secondary);border:1px solid var(--border-light)}.summary-card__icon--primary{background:var(--primary-soft);border-color:var(--primary-border-soft);color:var(--primary-color)}.summary-card__icon--success{background:var(--bg-positive);border-color:#0e9f6e33;color:var(--positive-color)}.summary-card__icon--danger{background:#fdf1f1;border-color:#d9384333;color:var(--negative-color)}.summary-card__icon--accent{background:var(--primary-soft);border-color:var(--primary-border-soft);color:var(--primary-color)}.summary-card__content{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px}.summary-card__label{font-size:11px;font-weight:600;margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:left}.summary-card__value{font-size:21px;font-weight:700;margin:0;color:var(--text-main);font-variant-numeric:tabular-nums;line-height:1.2;text-align:left}.summary-card__sublabel{font-size:11px;color:var(--text-muted);margin:0;font-weight:500;text-align:left}.tab-switcher{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-gray-light);border-radius:999px;padding:.25rem;border:1px solid var(--border-light)}.tab-switcher__btn{background:transparent;border:none;color:var(--text-muted);padding:.35rem 1rem;border-radius:999px;cursor:pointer;font-weight:600;font-size:.85rem;letter-spacing:.01em;transition:all var(--transition-fast) ease;flex-shrink:0}.tab-switcher__btn--active{background:#fff;color:var(--text-main);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:1rem;font-family:inherit;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn--primary{background:var(--gradient-primary);color:#fff}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1e3a8a4d}.btn--success{background:var(--gradient-success);color:#fff}.btn--success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn--danger{background:var(--gradient-danger);color:#fff}.btn--danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn--ghost{background:#fff;border:1px solid var(--border-light);color:var(--text-main)}.btn--ghost:hover:not(:disabled){background:var(--bg-gray-light);border-color:var(--border-color)}.btn--link{background:transparent;color:var(--primary-color);padding:.5rem 1rem}.btn--link:hover:not(:disabled){background:#1e3a8a1a}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.btn--lg{padding:1rem 2rem;font-size:1.125rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:500;color:#374151;font-size:.875rem;margin-bottom:var(--spacing-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1e3a8a1a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-gray-light);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:100px}.form-help{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:var(--spacing-xs)}.form-error{display:block;font-size:.75rem;color:var(--negative-color);margin-top:var(--spacing-xs)}.input-prefix-wrapper{position:relative;display:flex;align-items:center}.input-prefix-wrapper__prefix{position:absolute;left:.85rem;color:var(--text-secondary);font-weight:600;font-size:.875rem;pointer-events:none;z-index:2}.input-prefix-wrapper input{padding-left:1.75rem!important}.range-slider{width:100%;accent-color:var(--primary-color);height:6px;background:var(--bg-gray-light);border-radius:999px;cursor:pointer;border:none}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--spacing-lg);line-height:1.5}.alert--success{background:var(--bg-success);border:1px solid var(--border-success);color:#059669}.alert--error{background:var(--bg-error);border:1px solid var(--border-error);color:#dc2626}.alert--info{background:var(--bg-info);border:1px solid var(--border-info);color:#0369a1}.alert--warning{background:#fffbeb;border:1px solid #fde68a;color:#d97706}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-lg);padding:var(--spacing-xl)}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-gray-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--text-secondary);font-size:1rem}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-lg);text-align:center;max-width:500px;margin:0 auto;padding:var(--spacing-xl);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.error-icon{font-size:4rem;margin-bottom:var(--spacing-sm)}.error-container h2{color:var(--negative-color);margin:0;font-size:1.5rem}.error-container p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.empty-state__icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm) 0;color:var(--text-main)}.empty-state p{color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px}.progress{width:100%;height:8px;background:var(--bg-gray-light);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.progress__fill{height:100%;background:var(--gradient-success);transition:width var(--transition-slow);border-radius:4px}.progress__fill--primary{background:var(--gradient-primary)}.progress__fill--danger{background:var(--gradient-danger)}.progress__labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.table thead{background:var(--gradient-blue)}.table th{color:#fff;padding:var(--spacing-md) 1.2rem;text-align:left;font-weight:700;font-size:.875rem;border:none;letter-spacing:.02em;text-transform:uppercase}.table tbody tr{transition:background var(--transition-fast);border-bottom:1px solid var(--border-light)}.table tbody tr:nth-child(2n){background:var(--bg-gray-light)}.table tbody tr:hover{background:#e0e7ef}.table tbody tr:last-child{border-bottom:none}.table td{padding:var(--spacing-md) 1.2rem;color:var(--text-main);font-size:.9rem}.table td.align-right{text-align:right}.table td.align-center{text-align:center}.table__cell--primary{font-weight:700;color:var(--positive-color)}.table__cell--currency{font-weight:700;color:var(--primary-color)}.table__cell--symbol{font-weight:700;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.grid{display:grid;gap:20px}.grid--cols-2{grid-template-columns:repeat(2,1fr)}.grid--cols-3{grid-template-columns:repeat(3,1fr)}.grid--cols-4{grid-template-columns:repeat(4,1fr)}.sim-layout{display:grid;grid-template-columns:340px 1fr;gap:var(--spacing-xl);align-items:start}@media(max-width:1024px){.sim-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-success{color:var(--positive-color)}.text-danger{color:var(--negative-color)}.text-muted{color:var(--text-muted)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.flex-col{flex-direction:column}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.flex-wrap{flex-wrap:wrap}.w-full{width:100%}.flex-1{flex:1}.btn--icon{background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-normal)}.btn--icon:hover{background:var(--bg-gray-light);color:var(--text-main)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge--success{background:#10b9811f;color:#059669}.badge--danger{background:#ef44441f;color:#dc2626}.badge--info{background:#3b82f61f;color:#2563eb}.badge--neutral{background:var(--bg-gray-light);color:var(--text-muted)}.divider{border:none;border-top:1px solid var(--border-light);margin:var(--spacing-lg) 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-main);margin:0;letter-spacing:-.01em}.section-subtitle{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}@media(max-width:1024px){.grid--cols-4,.grid--cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;gap:.75rem;align-items:flex-start;padding:.75rem var(--spacing-md)}.tab-switcher{display:flex;overflow-x:auto;max-width:100%;width:100%;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tab-switcher::-webkit-scrollbar{display:none}.page-header__title h1{font-size:1.5rem}.page-header__subtitle{font-size:.95rem}.page-header__date{text-align:left}.grid--cols-2,.grid--cols-3,.grid--cols-4{grid-template-columns:1fr}.summary-card{padding:var(--spacing-md)}.card{padding:1.25em;margin-left:.25rem;margin-right:.25rem}.btn{padding:.65rem 1.2rem;font-size:.95rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:600px}}@media(max-width:600px){.card{padding:1em;margin-left:.25rem;margin-right:.25rem}}@media(max-width:480px){.page-header{padding:.6rem .85rem;border-radius:.75rem}.page-header__title h1{font-size:1.35rem}.page-header__subtitle{font-size:.9rem}.page-header__date{font-size:.8rem}.summary-card{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.summary-card__icon{width:40px;height:40px;font-size:1.25rem}.summary-card__value{font-size:1.25rem}.card{padding:.85em;border-radius:12px;margin-left:.15rem;margin-right:.15rem}.btn{padding:.6rem 1rem;font-size:.9rem}.loading-container,.error-container{min-height:300px;padding:var(--spacing-lg)}}@media(max-width:414px){.page-header__title h1{font-size:1.25rem}.summary-card__value{font-size:1.125rem}}.app-layout{min-height:100vh;width:100vw;display:flex;background:var(--bg-app, #F5F6FA);font-family:Instrument Sans,system-ui,-apple-system,sans-serif;color:var(--text-main);position:relative}.sidebar-toggle{position:fixed;top:1rem;left:1rem;z-index:1000;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.5rem;cursor:pointer;box-shadow:0 2px 8px #17212f1a;transition:all .3s ease;display:none;align-items:center;justify-content:center;color:var(--text-main)}.sidebar-toggle:hover{background:var(--bg-surface-secondary)}.main-content{flex:1;box-sizing:border-box;min-height:100vh;background:#f5f6fa;margin-left:248px;width:calc(100vw - 248px);max-width:calc(100vw - 248px);padding:0}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#17212f66;z-index:150;display:none}@media(max-width:768px){.app-layout{flex-direction:column}.sidebar-toggle{top:.5rem;left:.5rem;padding:.5rem;display:flex}.sidebar-overlay{display:block}.main-content,.main-content--sidebar-open,.main-content--sidebar-closed{margin-left:0!important;width:100vw!important;max-width:100vw!important}.main-content{padding:4.5rem 1rem 1rem}}@media(max-width:600px){.main-content{padding:4rem .5rem .5rem}}@media(max-width:480px){.main-content{padding:4rem 1rem 1rem}}@media(prefers-color-scheme:dark){.sidebar-toggle{background:#111827;color:#f9fafb}.sidebar-toggle:hover{background:#1f2937}}.dashboard{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.tab-switcher{display:inline-flex;background:var(--bg-info);padding:3px;border-radius:var(--radius-md, 11px);gap:2px}.tab-switcher__btn{background:transparent;border:none;color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius-sm, 8px);cursor:pointer;font-weight:600;font-size:12.5px;transition:all .15s ease}.tab-switcher__btn:hover:not(.tab-switcher__btn--active){color:var(--text-main)}.tab-switcher__btn--active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 1px 2px #17212f14}.budget-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.budget-chart-title{margin:0;font-size:var(--text-section-title, 16px);font-weight:700;color:var(--text-main)}.budget-chart-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.budget-chart-type-toggle,.budget-chart-tabs{display:flex;background:var(--bg-info);border-radius:var(--radius-md, 11px);padding:3px;gap:2px}.budget-chart-type-btn,.budget-chart-tab{background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm, 8px);cursor:pointer;font-weight:600;font-size:12.5px;transition:all .15s ease}.budget-chart-type-btn--active{background:var(--bg-card);color:var(--text-main);font-weight:600;box-shadow:0 1px 2px #17212f14}.budget-chart-tab--active{background:var(--bg-card);font-weight:600;box-shadow:0 1px 2px #17212f14}.budget-chart-tab--active.budget-chart-tab--expense{color:var(--negative-color)}.budget-chart-tab--active.budget-chart-tab--income{color:var(--positive-color)}.budget-chart-tab--active.budget-chart-tab--combined{color:var(--primary-color)}@media(max-width:768px){.dashboard{padding:16px;gap:16px}.budget-chart-header{flex-direction:column;align-items:flex-start}.budget-chart-controls{width:100%;flex-direction:column}.budget-chart-type-toggle,.budget-chart-tabs{width:100%}.budget-chart-type-btn,.budget-chart-tab{flex:1;text-align:center}.table-wrapper{border:none;background:transparent;padding:0}.table-wrapper .table thead{display:none}.table-wrapper .table,.table-wrapper .table tbody,.table-wrapper .table tr,.table-wrapper .table td{display:block;width:100%;min-width:0!important;box-sizing:border-box}.table-wrapper .table tr{margin-bottom:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);overflow:hidden}.table-wrapper .table td{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;text-align:right!important;border-bottom:1px solid var(--border-light)}.table-wrapper .table td:last-child{border-bottom:none}.table-wrapper .table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:11.5px;text-transform:uppercase;text-align:left;margin-right:12px}.table-wrapper .table td[colspan="5"]{justify-content:center;text-align:center!important}.table-wrapper .table td[colspan="5"]:before{display:none}}.dettes-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.dettes-legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 16px;background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md, 11px)}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-name{font-size:12.5px;color:var(--text-main);font-weight:600}.debt-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 1px 3px #17212f0d;transition:border-color .2s ease}.debt-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.debt-card__title-box{display:flex;align-items:center;gap:10px}.debt-card__icon-badge{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface-secondary);border:1px solid var(--border-color);flex-shrink:0}.debt-card__title{font-size:16px;font-weight:700;color:var(--text-main);margin:0}.debt-card__subtitle{font-size:11px;color:var(--text-secondary);margin-top:2px}.debt-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-item{display:flex;flex-direction:column;justify-content:center;padding:10px 14px;background:var(--bg-surface-secondary);border-radius:var(--radius-md, 10px);border:1px solid var(--border-light);gap:4px}.detail-label{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.detail-value{font-size:13.5px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.detail-value.highlight,.detail-value.total{color:var(--negative-color);font-size:14px}.detail-value.payment{color:var(--primary-color);font-size:14px}.debt-summary-card{background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;display:flex;flex-direction:column;gap:16px}.debt-summary-card__title{font-size:15px;font-weight:700;color:var(--text-main);text-align:center;margin:0}.debt-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.debt-summary-tile{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md, 11px);padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.debt-summary-tile__label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.debt-summary-tile__value{font-size:14px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}@media(max-width:1024px){.dettes-page{padding:24px 20px}.debt-details-grid,.debt-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dettes-page{padding:16px;gap:16px}.debt-details-grid,.debt-summary-grid{grid-template-columns:1fr}}.heatmap-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;padding:2rem 3rem}.heatmap-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.heatmap-fx-rate{font-size:.75rem;color:#94a3b8;margin-top:.15rem}.heatmap-refresh-btn{padding:.5rem!important;min-width:2.5rem;height:2.5rem}.heatmap-spin{animation:heatmap-spin .85s linear infinite}@keyframes heatmap-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.heatmap-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;background:#ffffffe6;border:1px solid #e8edf3;border-radius:1rem;padding:.875rem 1.15rem;box-shadow:0 1px 4px #00000008}.heatmap-toolbar__group{display:flex;flex-direction:column;gap:.35rem;min-width:0}.heatmap-toolbar__group--grow{flex:1 1 auto}.heatmap-toolbar__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.heatmap-account-switcher{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.heatmap-kpi-grid{margin:0}.heatmap-kpi-grid .summary-card{min-height:100%}.heatmap-breadth{font-size:1.25rem!important;letter-spacing:-.01em}.heatmap-container{border-radius:1.25rem!important;border:1px solid #e8edf3!important;box-shadow:0 1px 4px #0000000a,0 4px 16px #0000000a!important;padding:1rem 1.15rem 1.15rem!important;background:#fff!important}.heatmap-chart-wrap{height:min(62vh,640px);min-height:420px;width:100%;border-radius:.75rem;overflow:hidden;background:transparent}.heatmap-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;margin-top:.875rem;padding:.875rem .25rem 0;border-top:1px solid #f1f5f9}.heatmap-legend__title{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.heatmap-legend__scale{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;justify-content:center;min-width:0}.heatmap-legend__label{font-size:.7rem;color:#94a3b8;font-weight:600;white-space:nowrap}.heatmap-legend__swatches{display:flex;gap:2px;border-radius:.35rem;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0f}.heatmap-legend__swatches span{width:1.35rem;height:.7rem;display:block}.heatmap-legend__extras{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.heatmap-legend__cash{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:#475569}.heatmap-legend__dot{width:.65rem;height:.65rem;border-radius:999px;display:inline-block}.heatmap-legend__hint{font-size:.72rem;color:#94a3b8}.heatmap-loading,.heatmap-error,.heatmap-empty{padding:3rem 2rem;text-align:center;font-size:1rem;color:#64748b;display:flex;flex-direction:column;align-items:center;gap:.75rem}.heatmap-error{color:#dc2626}.heatmap-container .loading,.heatmap-container .empty{padding:3rem 2rem;text-align:center;font-size:1rem;color:#64748b}.heatmap-container .error{padding:3rem 2rem;text-align:center;font-size:1rem;color:#dc2626}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:heatmap-fadeIn .15s ease-out;padding:1rem}.modal-content{background:#1e293b;border:1px solid #334155;border-radius:.75rem;width:100%;max-width:380px;color:#e2e8f0;box-shadow:0 16px 40px -12px #00000073;animation:heatmap-slideUp .2s cubic-bezier(.16,1,.3,1);max-height:85vh;overflow-y:auto}.modal-header{padding:.75rem .875rem;border-bottom:1px solid #334155;display:flex;justify-content:space-between;align-items:flex-start;background:#1e293b;position:sticky;top:0;z-index:10;gap:.5rem}.modal-header h2{margin:0;font-size:1.1rem;color:#fff;letter-spacing:-.02em;line-height:1.2}.current-price{font-size:.8rem;color:#94a3b8;font-weight:500;margin-top:.15rem;display:block}.tradingview-link{color:#3b82f6;display:inline-flex;align-items:center;transition:all .15s;text-decoration:none;opacity:.75}.tradingview-link:hover{color:#60a5fa;opacity:1}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:.4rem}.close-btn{background:#ffffff14;border:none;color:#94a3b8;font-size:1.25rem;line-height:1;cursor:pointer;padding:.15rem .4rem;border-radius:.375rem;transition:all .15s;flex-shrink:0}.close-btn:hover{background:#ffffff26;color:#fff}.modal-body{padding:.75rem .875rem .875rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.625rem}.stat-card{background:#0f172a;padding:.5rem .6rem;border-radius:.5rem;text-align:center;border:1px solid #1e293b}.stat-label{display:block;font-size:.68rem;color:#64748b;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:.92rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}.stat-pct{display:block;font-size:.72rem;font-weight:500;margin-top:.05rem;opacity:.9}.text-green-500{color:#4ade80}.text-red-500{color:#f87171}.text-slate-400{color:#94a3b8}.text-secondary{color:#94a3b8;font-size:.9em}.modal-body .divider{height:1px;background:#1e293b;margin:.5rem 0}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem;padding:.35rem 0 .15rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;padding:.15rem 0;gap:.35rem}.detail-row span{color:#64748b}.detail-row strong{color:#e2e8f0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.modal-body h3{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:.65rem 0 .4rem;font-weight:600}.breakdown-container{display:grid;grid-template-columns:72px 1fr;gap:.5rem .75rem;align-items:center;margin-top:.25rem}.breakdown-chart{height:72px;width:72px;margin:0}.account-breakdown{display:flex;flex-direction:column;gap:.3rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;background:#0f172a;border-radius:.4rem;border-left:2px solid #3b82f6}.breakdown-row:nth-child(1){border-color:#3b82f6}.breakdown-row:nth-child(2){border-color:#8b5cf6}.breakdown-row:nth-child(3){border-color:#10b981}.breakdown-row:nth-child(4){border-color:#f59e0b}.account-badge{color:#fff;font-weight:600;font-size:.78rem}.account-pct{font-size:.68rem;margin-top:0;color:#64748b}.breakdown-stats{text-align:right;display:flex;flex-direction:column;gap:0;font-size:.75rem;color:#94a3b8}.modal-hint{display:none}@keyframes heatmap-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes heatmap-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.heatmap-page{padding:1.25rem .75rem;gap:1rem}.heatmap-toolbar{padding:.75rem;gap:.75rem}.heatmap-chart-wrap{min-height:360px;height:55vh}.heatmap-legend{flex-direction:column;align-items:flex-start}.heatmap-legend__scale{width:100%;justify-content:flex-start}.heatmap-legend__hint,.heatmap-header-actions .page-header__date{display:none}}@media(max-width:480px){.heatmap-page{padding:1rem .25rem}.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;border-radius:1rem 1rem 0 0;border-left:none;border-right:none;border-bottom:none;max-height:calc(92vh - env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);animation:heatmap-slideUpMobile .35s cubic-bezier(.16,1,.3,1)}.modal-header{padding:.65rem .75rem}.modal-header h2{font-size:1rem}.current-price{font-size:.78rem}.modal-body{padding:.65rem .75rem .75rem}.stats-grid{gap:.4rem;margin-bottom:.5rem}.stat-card{padding:.4rem .5rem}.stat-label{font-size:.65rem}.stat-value{font-size:.85rem}.stat-pct{font-size:.68rem}.details-grid{grid-template-columns:1fr 1fr;gap:.25rem .5rem}.detail-row{font-size:.75rem}.modal-body h3{font-size:.68rem;margin:.5rem 0 .3rem}.breakdown-container{grid-template-columns:1fr;gap:.3rem}.breakdown-chart{display:none}.account-breakdown{gap:.25rem}.breakdown-row{padding:.3rem .45rem}.account-badge{font-size:.75rem}@keyframes heatmap-slideUpMobile{0%{transform:translateY(100%);opacity:1}to{transform:translateY(0);opacity:1}}}.orders-section{margin-top:0}.orders-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.orders-title{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.02em}.orders-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;background:#e2e8f0;color:#475569;font-size:.78rem;font-weight:700;border-radius:999px}.orders-loading,.orders-empty{padding:2.5rem 1.5rem;text-align:center;color:#94a3b8;font-size:.95rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.orders-empty-icon{font-size:1.75rem;opacity:.6}.orders-table-wrapper{overflow-x:auto;border-radius:.75rem;border:1px solid #e8edf3}.orders-table{width:100%;border-collapse:collapse;font-size:.88rem}.orders-table thead{background:#f8fafc;border-bottom:2px solid #e8edf3}.orders-table th{padding:.625rem .875rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.orders-table td{padding:.625rem .875rem;border-bottom:1px solid #f1f5f9;white-space:nowrap;color:#334155}.orders-table tbody tr:last-child td{border-bottom:none}.orders-table tbody tr:hover{background:#f8fafc}.orders-symbol-cell{display:flex;align-items:center;gap:.4rem}.orders-symbol{font-weight:700;color:#0f172a;letter-spacing:-.01em}.orders-tv-link{color:#94a3b8;display:inline-flex;align-items:center;transition:color .15s;text-decoration:none}.orders-tv-link:hover{color:#3b82f6}.orders-side-badge{display:inline-block;padding:.2rem .55rem;border-radius:.375rem;font-size:.78rem;font-weight:700;letter-spacing:.02em}.orders-side--buy{background:#10b9811a;color:#059669}.orders-side--sell{background:#ef44441a;color:#dc2626}.orders-type-badge{display:inline-block;padding:.15rem .45rem;border-radius:.3rem;font-size:.75rem;font-weight:600;background:#e0e7ff;color:#4338ca}.orders-account-badge{display:inline-block;padding:.15rem .45rem;border-radius:.3rem;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.orders-state-badge{display:inline-block;padding:.15rem .45rem;border-radius:.3rem;font-size:.75rem;font-weight:600;background:#fef3c7;color:#92400e}.orders-qty{font-variant-numeric:tabular-nums;font-weight:600}.orders-price{font-variant-numeric:tabular-nums;color:#475569}.orders-profit{font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}.orders-profit--pos{color:#059669}.orders-profit--neg{color:#dc2626}.orders-montant{font-weight:600;color:#0f172a}@media(max-width:768px){.orders-table th:nth-child(10),.orders-table td:nth-child(10),.orders-table th:nth-child(12),.orders-table td:nth-child(12){display:none}}@media(max-width:480px){.orders-header{margin-bottom:.75rem}.orders-title{font-size:1rem}.orders-table-wrapper{border-radius:.5rem}.orders-table th,.orders-table td{padding:.4rem .5rem;font-size:.78rem}.orders-table th:nth-child(6),.orders-table td:nth-child(6),.orders-table th:nth-child(7),.orders-table td:nth-child(7),.orders-table th:nth-child(8),.orders-table td:nth-child(8),.orders-table th:nth-child(9),.orders-table td:nth-child(9),.orders-table th:nth-child(10),.orders-table td:nth-child(10),.orders-table th:nth-child(12),.orders-table td:nth-child(12){display:none}}.dashboard__chart{padding:20px 24px!important;background:#fff;border:1px solid var(--border-color, #E8EBF1);border-radius:var(--radius-xl, 16px);display:flex;flex-direction:column;gap:16px}.contrib-chart-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.contrib-chart-title{font-size:15px;font-weight:700;margin:0;color:var(--text-main, #17212F);display:flex;align-items:center;gap:8px}.contrib-chart-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contrib-date-filter-group{display:flex;align-items:center;gap:6px}.contrib-date-input{height:34px;padding:0 10px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color, #E8EBF1);background:#fff;font-size:12.5px;color:var(--text-main, #17212F);font-family:inherit;box-sizing:border-box}.contrib-date-input:focus{outline:none;border-color:var(--primary-color, #2D5BD1)}.contrib-date-sep{color:var(--text-secondary, #647082);font-size:12px;font-weight:600}.contrib-select{height:34px;padding:0 10px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color, #E8EBF1);background:#fff;font-size:12.5px;font-weight:500;color:var(--text-main, #17212F);font-family:inherit;cursor:pointer;box-sizing:border-box}.contrib-select:focus{outline:none;border-color:var(--primary-color, #2D5BD1)}.contrib-sync-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-color, #E8EBF1);border-radius:var(--radius-sm, 8px);cursor:pointer;font-size:14px;color:var(--text-main, #17212F);transition:all .2s ease}.contrib-sync-btn:hover:not(:disabled){background:var(--bg-surface-secondary, #F8F9FC);border-color:var(--border-hover, #B9C6E4);color:var(--primary-color, #2D5BD1)}.contrib-sync-btn:disabled{opacity:.5;cursor:not-allowed}.contrib-sync-status{font-size:12px;font-weight:500;color:var(--text-secondary, #647082)}.contrib-chart-bar-container{height:280px;width:100%}@media(max-width:768px){.dashboard__chart{padding:16px!important}.contrib-chart-header{flex-direction:column;align-items:stretch;gap:12px}.contrib-chart-filters{flex-direction:column;align-items:stretch;gap:8px}.contrib-date-filter-group{width:100%}.contrib-date-input{flex:1}.contrib-select{width:100%}}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help}.tooltip-content{position:absolute;z-index:1000;background:#1f2937;color:#fff;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;line-height:1.4;max-width:250px;box-shadow:0 10px 25px #0003;animation:tooltipFadeIn .2s ease-out;pointer-events:none;white-space:normal}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tooltip-arrow{position:absolute;width:0;height:0;border-style:solid}.tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-top .tooltip-arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:#1f2937 transparent transparent transparent}.tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-bottom .tooltip-arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent #1f2937 transparent}.tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip-left .tooltip-arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent #1f2937}.tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip-right .tooltip-arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent #1f2937 transparent transparent}@media(max-width:768px){.tooltip-content{max-width:200px;font-size:.8rem;padding:.6rem .8rem}.tooltip-left,.tooltip-right{bottom:calc(100% + 8px);left:50%;right:auto;top:auto;transform:translate(-50%)}.tooltip-left .tooltip-arrow,.tooltip-right .tooltip-arrow{top:100%;left:50%;right:auto;bottom:auto;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:#1f2937 transparent transparent transparent}}.accounts-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:4px;gap:16px}.page-header__title{display:flex;flex-direction:column;gap:4px}.page-header__title h1{font-size:var(--text-h1, 26px);font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin:0}.page-header__subtitle{font-size:var(--text-body, 13.5px);color:var(--text-secondary);margin:0}.page-header__actions{display:flex;align-items:center;gap:10px}.page-header__date{font-size:var(--text-sm, 12.5px);background:var(--bg-card);border:1px solid var(--border-color);padding:4px 12px;border-radius:var(--radius-full, 999px);color:var(--text-secondary);white-space:nowrap}.btn-refresh{width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;transition:all .2s ease}.btn-refresh:hover{background:var(--bg-surface-secondary);border-color:var(--border-hover);color:var(--primary-color)}.btn-secondary-action{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;height:36px;font-size:13.5px;font-weight:600;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .2s ease}.btn-secondary-action:hover{background:var(--bg-surface-secondary);border-color:var(--border-hover)}.btn-privacy-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;height:36px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .2s ease}.btn-privacy-toggle:hover{color:var(--text-main);background:var(--bg-surface-secondary)}.btn-privacy-toggle.active{background:var(--primary-soft);border-color:var(--primary-border-soft);color:var(--primary-color)}.alert-banner-disconnected{background-color:#fff8ec;border:1px solid #F2DFB6;border-radius:var(--radius-lg, 14px);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.alert-banner-disconnected__content{display:flex;align-items:center;gap:12px;color:var(--text-main);font-size:13.5px}.alert-banner-disconnected__icon{font-size:18px;flex-shrink:0}.alert-banner-disconnected__btn{background-color:var(--text-main);color:var(--bg-card);border:none;border-radius:var(--radius-sm, 8px);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s ease}.alert-banner-disconnected__btn:hover{opacity:.9}.main-tabs{display:inline-flex;background:var(--bg-info);padding:3px;border-radius:var(--radius-md, 11px);gap:2px;align-self:flex-start}.main-tab{padding:8px 16px;background:transparent;border:none;border-radius:var(--radius-sm, 8px);font-weight:600;font-size:13.5px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary)}.main-tab:hover:not(.main-tab--active){color:var(--text-main)}.main-tab--active{background:var(--bg-card);color:var(--text-main);box-shadow:0 1px 2px #17212f14}.main-tab__text{font-size:13.5px;font-weight:600}.tab-stack{display:flex;flex-direction:column;gap:20px}.accounts-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:20px}.account-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg, 14px);padding:16px 18px;cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:12px;width:100%;text-align:left;font:inherit;color:inherit}.account-card:hover:not(.account-card--active){border-color:var(--border-hover)}.account-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.account-card--combined{background:var(--bg-card);border:1.5px dashed var(--border-color)}.account-card--active{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:var(--shadow-active-card, 0 6px 18px rgba(45, 91, 209, .14))}.account-card--combined.account-card--active{border-style:solid}.account-card--dragging{opacity:.6;transform:rotate(2deg) scale(1.02);box-shadow:0 8px 24px #17212f1a;z-index:1000;cursor:grabbing}.account-card__header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.account-card__drag-handle{font-size:13px;color:var(--text-muted);opacity:.6;transition:opacity .2s ease;cursor:grab;padding:0 2px}.account-card:hover .account-card__drag-handle{opacity:1}.account-card__type{flex:1;font-size:var(--text-card-title, 14px);font-weight:700;color:var(--text-main)}.account-card--active .account-card__type{color:var(--primary-color)}.account-card__badge{padding:3px 8px;background:var(--primary-color);color:var(--bg-card);font-size:10.5px;font-weight:600;border-radius:var(--radius-full, 999px);text-transform:uppercase;letter-spacing:.05em}.account-card__body{display:flex;flex-direction:column;gap:8px}.account-card__balance{display:flex;flex-direction:column;gap:2px}.account-card__balance-label{font-size:var(--text-xs, 11px);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.account-card__balance-value{font-size:var(--text-card-val, 21px);font-weight:700;color:var(--text-main);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.account-card__number{font-size:var(--text-sm, 12.5px);color:var(--text-secondary);font-weight:500;font-family:var(--font-family-mono);padding-top:6px;border-top:1px solid var(--border-light)}.skeleton-shimmer{display:inline-block;width:90px;height:22px;border-radius:4px;background:linear-gradient(90deg,var(--bg-gray-light) 25%,var(--border-color) 50%,var(--bg-gray-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;vertical-align:middle}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.section-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:20px 24px;display:flex;flex-direction:column;gap:18px}.section-panel--collapsed{gap:0;padding-bottom:16px}.section-panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-panel__toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--text-main)}.section-panel__toggle:hover .section-panel__title{color:var(--primary-color)}.section-panel__toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px;border-radius:var(--radius-sm, 8px)}.section-panel__chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);color:var(--text-secondary);font-size:14px}.section-panel__title{font-size:var(--text-section-title, 16px);font-weight:700;letter-spacing:-.01em;transition:color .15s ease}.section-panel__meta{font-size:var(--text-sm, 12.5px);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.section-panel__actions{display:flex;align-items:center;gap:8px}.section-panel__content{display:flex;flex-direction:column;gap:18px}.section-panel__content[hidden]{display:none}.section-panel__subtitle{margin:0;font-size:var(--text-sm, 12.5px);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.section-panel__hint{margin:0;font-size:var(--text-sm, 12.5px);color:var(--text-secondary)}.section-panel__error{margin:0;padding:10px 14px;border-radius:var(--radius-sm, 8px);background:#d9384314;border:1px solid rgba(217,56,67,.2);color:var(--negative-color);font-size:var(--text-sm, 12.5px)}.edit-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.edit-toolbar__status{font-size:var(--text-sm, 12.5px);color:var(--text-secondary)}.edit-toolbar__status--ok{color:var(--positive-color);font-weight:600}.btn-ghost,.btn-save{padding:6px 14px;border-radius:var(--radius-sm, 8px);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-ghost{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main)}.btn-ghost:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.btn-ghost--danger:hover:not(:disabled){border-color:var(--negative-color);color:var(--negative-color)}.btn-save{background:var(--primary-color);border:1px solid var(--primary-color);color:var(--bg-card)}.btn-save:hover:not(:disabled){background:#2448a8;border-color:#2448a8}.btn-ghost:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.money-field{display:inline-flex;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);background:var(--bg-card);padding:4px 10px;max-width:100%}.money-field:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2d5bd11f}.money-field__input{border:none;outline:none;background:transparent;width:100%;min-width:0;font-size:var(--text-h2, 18px);font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.money-field--compact{padding:2px 8px}.money-field--compact .money-field__input{font-size:var(--text-body, 13.5px);font-weight:600;text-align:right}.money-field__currency{font-size:var(--text-sm, 12.5px);font-weight:600;color:var(--text-secondary);flex-shrink:0}.account-number-input,.account-type-input{width:100%;padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);font-size:var(--text-body, 13.5px);color:var(--text-main);background:var(--bg-card)}.account-number-input:focus,.account-type-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2d5bd11f}.toggle-field{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-body, 13.5px);font-weight:600;color:var(--text-main);cursor:pointer}.toggle-field input{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.cash-breakdown{display:flex;flex-direction:column;gap:6px}.cash-breakdown__row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-body, 13.5px);color:var(--text-secondary);font-variant-numeric:tabular-nums}.cash-breakdown__row--total{padding-top:6px;border-top:1px solid var(--border-color);font-weight:700;color:var(--text-main)}.rate-error{margin:0;font-size:var(--text-sm, 12.5px);color:var(--alert-text, #7A5A17);background:var(--alert-bg, #FFF8EC);border:1px solid var(--alert-border, #F2DFB6);border-radius:var(--radius-sm, 8px);padding:8px 12px}.table-block{display:flex;flex-direction:column;gap:8px;min-width:0}.positions-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-tile{background:var(--bg-surface-secondary);border-radius:var(--radius-md, 11px);padding:16px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-light)}.stat-tile__label{font-size:var(--text-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stat-tile__value{font-size:var(--text-card-val, 21px);font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.table-wrapper{overflow-x:auto;border-radius:var(--radius-sm, 8px)}.accounts-data-table{width:100%;border-collapse:collapse}.accounts-data-table th{padding:12px 14px;text-align:left;font-size:var(--text-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.accounts-data-table th.sortable{cursor:pointer;transition:color .15s ease}.accounts-data-table th.sortable:hover{color:var(--text-main)}.sort-icon{display:inline-block;margin-left:4px;font-size:10px;opacity:.5;transition:opacity .15s ease}.sort-icon.active{opacity:1;color:var(--primary-color)}.accounts-data-table td{padding:12px 14px;font-size:var(--text-body, 13.5px);border-bottom:1px solid var(--border-light);color:var(--text-main);font-variant-numeric:tabular-nums}.accounts-data-table tbody tr{transition:background-color .15s ease}.accounts-data-table tbody tr:hover td{background-color:var(--bg-surface-secondary)}.accounts-data-table .align-center{text-align:center}.accounts-data-table .align-right{text-align:right}.accounts-data-table .table__cell--symbol{font-weight:700;font-family:var(--font-family-mono);color:var(--text-main)}.accounts-data-table .table__cell--currency{font-weight:600;color:var(--text-secondary)}.gain-positive{color:var(--positive-color)!important;font-weight:600}.gain-negative{color:var(--negative-color)!important;font-weight:600}.gain-neutral{color:var(--text-secondary);font-weight:500}.table__total-row td{font-weight:700;border-top:2px solid var(--border-color);border-bottom:none;background-color:var(--bg-card)!important}.delete-confirm-box{display:flex;align-items:center;gap:6px;background:#fff5f5;border:1px solid #FED7D7;padding:4px 8px;border-radius:var(--radius-sm, 8px)}.delete-confirm-box__text{font-size:11.5px;color:var(--negative-color);font-weight:600}.btn-confirm-delete{background:var(--negative-color);color:var(--bg-card);border:none;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer}.btn-cancel-delete{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.card.household-lead{background:var(--text-main)!important;border:none!important;color:var(--bg-card)!important;border-radius:var(--radius-xl, 16px);padding:24px;text-align:left}.household-lead__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.household-lead__eyebrow{margin:0 0 4px;font-size:var(--text-xs, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.household-lead h2{margin:0;font-size:var(--text-section-title, 16px);line-height:1.2;color:var(--bg-card);font-weight:700}.household-lead__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.household-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full, 999px);background:#ffffff1f;color:var(--bg-card);font-size:var(--text-sm, 12.5px);font-weight:600}.household-badge--danger{background:#d9384340;color:#ff9e9e}.household-lead__value{display:block;margin-top:16px;font-size:32px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--bg-card);font-variant-numeric:tabular-nums}.household-lead__caption{margin:12px 0 0;font-size:var(--text-body, 13.5px);color:var(--text-muted)}.composition-bar{display:flex;height:8px;margin-top:18px;border-radius:var(--radius-full, 999px);overflow:hidden;background:#ffffff1a}.composition-bar__segment{height:100%}.composition-legend{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 0;padding:0;list-style:none;font-size:var(--text-sm, 12.5px);color:#c6ccd6}.composition-legend li{display:flex;align-items:center;gap:6px}.composition-legend__dot{width:8px;height:8px;border-radius:var(--radius-full, 999px);flex-shrink:0}.composition-legend__pct{color:var(--bg-card);font-weight:600;font-variant-numeric:tabular-nums}.person-account-card--editing{align-items:stretch}.person-account-card--editing .person-account-card__content{gap:8px}.person-accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.person-account-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border-color);border-radius:var(--radius-lg, 14px);background:var(--bg-card)}.person-account-card__icon{width:38px;height:38px;border-radius:var(--radius-sm, 8px);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--bg-card);text-align:center}.person-account-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.person-account-card__top,.person-account-card__bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.person-account-card__title{min-width:0;font-size:var(--text-body, 13.5px);font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-account-card__value{font-size:var(--text-body, 13.5px);font-weight:700;color:var(--text-main);white-space:nowrap;font-variant-numeric:tabular-nums}.person-account-card__number{font-size:var(--text-sm, 12.5px);color:var(--text-secondary);font-family:var(--font-family-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-account-card__pct{font-size:var(--text-sm, 12.5px);color:var(--text-secondary);white-space:nowrap}@media(max-width:1024px){.accounts-page{padding:24px 20px}}@media(max-width:768px){.accounts-page{padding:16px;gap:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header__actions{width:100%;justify-content:space-between}.main-tabs{width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.main-tabs::-webkit-scrollbar{display:none}.accounts-cards-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.accounts-cards-container::-webkit-scrollbar{display:none}.accounts-cards-container .account-card{flex:0 0 280px;scroll-snap-align:start}.positions-stats-grid,.stat-grid{grid-template-columns:1fr}.section-panel{padding:16px}.section-panel__header{align-items:flex-start}.edit-toolbar{width:100%;justify-content:flex-end}.composition-legend{gap:10px}}.activities-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.activities-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;box-shadow:0 1px 3px #17212f0d}.dynamic-table{display:flex;flex-direction:column;gap:16px}.table-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md, 11px);padding:14px}.table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md, 11px);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table-header{background:var(--bg-surface-secondary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:12px 14px;-webkit-user-select:none;user-select:none}.table-row{border-bottom:1px solid var(--border-light);transition:background .15s ease}.table-row:hover{background:var(--bg-surface-secondary)}.table-cell{padding:12px 14px;color:var(--text-main);font-variant-numeric:tabular-nums}@media(max-width:1024px){.activities-page{padding:24px 20px}}@media(max-width:768px){.activities-page{padding:16px;gap:16px}}.financial-goals-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.goals-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.preset-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius-lg, 14px);border:1.5px solid var(--border-color);background:var(--bg-card);cursor:pointer;transition:all .2s ease;text-align:left}.preset-card:hover:not(.preset-card--active){border-color:var(--border-hover);background:var(--bg-surface-secondary)}.preset-card--active{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:var(--shadow-active-card, 0 6px 18px rgba(45, 91, 209, .14))}.preset-icon{font-size:24px;flex-shrink:0}.preset-name{font-size:14px;font-weight:700;color:var(--text-main)}.preset-amount{font-size:13.5px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.preset-rate{font-size:11px;color:var(--text-muted);font-weight:500}.goals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.config-panel,.results-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;display:flex;flex-direction:column;gap:16px}.panel-title{font-size:var(--text-section-title, 16px);font-weight:700;color:var(--text-main);margin:0 0 8px;display:flex;align-items:center;gap:8px}@media(max-width:1024px){.financial-goals-page{padding:24px 20px}.goals-grid{grid-template-columns:1fr}}@media(max-width:768px){.financial-goals-page{padding:16px;gap:16px}.presets-grid{grid-template-columns:1fr}}.pret-remboursement-container{display:flex;flex-direction:column;gap:1.5rem}.controls-card{border-radius:.75rem;border:1px solid #e5e7eb;overflow:hidden}.controls-card .chart-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.5rem;border-bottom:1px solid #e5e7eb}.controls-card .chart-header h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:#111827;text-align:center}.controls-card .chart-header p{color:#6b7280;margin:0;font-size:1rem;text-align:center}.controls-section{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb}.controls-row{display:flex;align-items:flex-end;gap:2rem;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.control-group label{font-size:.875rem;font-weight:500;color:#374151}.repartition-mode-selector{display:flex;flex-direction:column;gap:.75rem;min-width:180px}.mode-label{font-size:.875rem;font-weight:500;color:#374151}.mode-buttons{display:flex;gap:.5rem}.mode-btn{padding:.5rem 1rem;border:2px solid #e5e7eb;background:#fff;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:#3b82f6;background:#f0f9ff}.mode-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.repartition-manuelle-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:.75rem;padding:1.5rem;margin-top:1rem}.repartition-header h4{margin:0 0 .5rem;color:#92400e;font-size:1rem;font-weight:600}.repartition-header p{margin:0 0 1rem;color:#a16207;font-size:.875rem}.repartition-sliders{display:flex;flex-direction:column;gap:1.5rem}.repartition-item{background:#fff;border-radius:.5rem;padding:1rem;border:1px solid #f3f4f6}.repartition-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.pret-icon{font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.pret-color-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1);display:inline-block;margin:0 .25rem}.pret-name{flex:1;font-weight:500;color:#374151}.pret-amount{font-weight:600;color:#059669;font-size:.875rem}.slider-container{position:relative}.proportion-slider{width:100%;height:8px;border-radius:4px;background:#e5e7eb;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.proportion-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--slider-color, #3b82f6);cursor:pointer;box-shadow:0 2px 4px #0003}.proportion-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--slider-color, #3b82f6);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.slider-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:#6b7280}.current-proportion{color:#059669;font-weight:600}.repartition-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #fbbf24}.normalize-btn{padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.normalize-btn:hover{background:#d97706}.total-info{font-size:.875rem;color:#92400e}.total-info strong{color:#059669}.conversion-info{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:.5rem;border:1px solid #3b82f6;border-left:4px solid #3b82f6}.conversion-toggle{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem .75rem;border-radius:.375rem;display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;transition:all .2s;border:1px solid transparent}.conversion-toggle:hover{background:#e0f2fe;border-color:#bfdbfe}.conversion-toggle:focus{outline:none;box-shadow:0 0 0 3px #3b82f633;border-color:#3b82f6}.toggle-icon{font-size:.75rem;transition:transform .2s;color:#6b7280}.conversion-info.expanded .toggle-icon{transform:rotate(180deg)}.conversion-content{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #bfdbfe}.conversion-empty{opacity:.7}.conversion-empty .conversion-text{color:#6b7280}.conversion-text{font-size:.875rem;color:#1e40af;display:flex;align-items:center;gap:.5rem}.conversion-text strong{color:#1d4ed8;font-weight:600}.repartition-info{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #bfdbfe}.repartition-title{font-size:.8rem;color:#1e40af;font-weight:600;display:block;margin-bottom:.5rem}.repartition-item{font-size:.8rem;color:#1e40af;margin-bottom:.25rem;display:block}.repartition-item strong{color:#1d4ed8;font-weight:600}.input-with-currency{position:relative;display:inline-block;width:fit-content}.amount-input{padding:.75rem 2rem .75rem 1rem;border:2px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-weight:600;width:150px;text-align:right;transition:border-color .2s}.amount-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.currency-symbol{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-weight:600;pointer-events:none}.preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end;min-width:300px}.preset-btn{padding:.5rem 1rem;border:2px solid #e5e7eb;background:#fff;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.preset-btn:hover{border-color:#3b82f6;background:#f0f9ff}.preset-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.economies-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.economie-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:.75rem;border:1px solid #10b981}.economie-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a}.economie-content{display:flex;flex-direction:column;gap:.25rem}.economie-label{font-size:.75rem;color:#065f46;font-weight:500}.economie-value{font-size:1.1rem;font-weight:700;color:#047857}.chart-container{height:600px;width:100%;margin-top:1rem;margin-bottom:2rem;padding-bottom:2rem}.chart-slider-section{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb}.slider-header{margin-bottom:.75rem;text-align:center}.slider-header label{font-size:.875rem;font-weight:500;color:#374151;display:flex;align-items:center;gap:.5rem;justify-content:center}.slider-header strong{color:#059669;font-weight:600}.slider-container-large{position:relative;width:100%;height:10px;border-radius:5px;background:#e5e7eb;margin-top:.5rem}.remboursement-slider{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:5px;background:#3b82f6;cursor:pointer;box-shadow:0 2px 4px #0000001a}.remboursement-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background:#3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003}.remboursement-slider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.chart-card{margin-top:1rem;border-radius:.75rem;border:1px solid #e5e7eb;overflow:hidden}.chart-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.external-legend{display:flex;gap:1rem;flex-wrap:wrap;padding:.75rem 1.25rem 0;align-items:center}.external-legend .legend-item{display:inline-flex;align-items:center;gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;padding:.35rem .6rem;border-radius:9999px;cursor:pointer;transition:background .2s,opacity .2s,border-color .2s}.external-legend .legend-item:hover{background:#f3f4f6;border-color:#d1d5db}.external-legend .legend-item.hidden{opacity:.5;text-decoration:line-through}.external-legend .legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.external-legend .legend-text{font-size:.8rem;color:#374151}.chart-card-header h3{font-size:1.1rem;font-weight:600;color:#111827;margin:0}.collapse-btn{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem .75rem;border-radius:.375rem;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:1px solid transparent}.collapse-btn:hover{background:#e0f2fe;border-color:#bfdbfe}.collapse-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f633;border-color:#3b82f6}.collapse-btn.collapsed{transform:rotate(180deg)}.chart-content{padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:0 0 .75rem .75rem;min-height:500px;height:500px}@media(max-width:768px){.pret-remboursement-container{gap:1rem}.controls-card .chart-header,.controls-section{padding:1rem}.controls-row{flex-direction:column;gap:1rem;align-items:stretch}.control-group,.repartition-mode-selector,.preset-buttons{min-width:auto}.mode-buttons{flex-direction:column}.repartition-manuelle-section{padding:1rem}.repartition-item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.repartition-actions{flex-direction:column;gap:1rem;align-items:stretch}.preset-buttons{justify-content:center}.economies-section{grid-template-columns:1fr}.chart-container{height:450px;padding-bottom:1rem}.chart-slider-section{padding:.75rem}.slider-header label{flex-direction:column;align-items:center;gap:.25rem}.slider-header strong{font-size:1rem}.slider-container-large,.remboursement-slider{height:8px}.remboursement-slider::-webkit-slider-thumb{width:20px;height:20px}.remboursement-slider::-moz-range-thumb{width:20px;height:20px}.chart-card{margin-top:1rem}.chart-card-header{padding:1rem 1.5rem}.chart-card-header h3{font-size:1.1rem}.collapse-btn{font-size:.875rem;padding:.5rem .75rem}.chart-content{padding:1rem .5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:450px;height:450px}.chart-content canvas{max-width:100%!important;height:auto!important}}@media(max-width:480px){.pret-remboursement-container{gap:.75rem}.controls-card .chart-header{padding:.75rem}.chart-header{padding:1em}.chart-header h3{font-size:1.1rem;margin-bottom:.5rem}.chart-header p{font-size:.85rem;line-height:1.3}.controls-section{padding:1em}.controls-row{gap:1em}.control-group label{font-size:.85rem}.control-group input{font-size:.85rem;padding:.75rem}.mode-buttons{gap:.75rem}.mode-button{padding:.75rem 1em;font-size:.9rem}.repartition-manuelle-section{padding:1em}.repartition-item{padding:1em;gap:.75rem}.repartition-item-header{gap:.75rem}.repartition-item-header h4{font-size:.9rem}.repartition-item-header p{font-size:.8rem}.repartition-input{font-size:.85rem;padding:.75rem}.economies-section{gap:1em;padding:1em}.economies-card{padding:1em}.economies-card h4{font-size:.9rem}.economies-card .value{font-size:1rem}.chart-container{height:400px;padding:1em}.chart-slider-section{padding:1em}.slider-header label{gap:.5rem}.slider-header strong{font-size:.9rem}.slider-header span{font-size:.8rem}.slider-container-large,.remboursement-slider{height:8px}.remboursement-slider::-webkit-slider-thumb{width:20px;height:20px}.remboursement-slider::-moz-range-thumb{width:20px;height:20px}.chart-card{margin-top:.75rem}.chart-card-header{padding:.75rem 1em}.chart-card-header h3{font-size:1rem}.collapse-btn{font-size:.8rem;padding:.4rem .6rem}.chart-content{padding:.5em .25em;background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:350px;height:350px}.chart-content canvas{max-width:100%!important;height:100%!important;min-height:300px!important}}.settings-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.settings-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;box-shadow:0 1px 3px #17212f0d;display:flex;flex-direction:column;gap:16px}.settings-card__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.broker-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text-main);margin:0}.logo-qt{background:var(--positive-color);color:var(--bg-card);width:32px;height:32px;border-radius:var(--radius-sm, 8px);display:grid;place-items:center;font-weight:700;font-size:14px}.logo-ibkr{background:var(--negative-color);color:var(--bg-card);width:32px;height:32px;border-radius:var(--radius-sm, 8px);display:grid;place-items:center;font-weight:700;font-size:12px}.settings-card__body{display:flex;flex-direction:column;gap:16px}.settings-desc{margin:0;color:var(--text-secondary);font-size:13.5px;line-height:1.5}.input-with-action{display:flex;gap:8px;align-items:center}.input-with-action .form-input{flex:1}.settings-divider{border:none;border-top:1px solid var(--border-light);margin:8px 0}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-light)}.detail-row:last-of-type{border-bottom:none}.detail-row .label{color:var(--text-secondary);font-size:13px}.detail-row .value{font-weight:600;color:var(--text-main)}.detail-row .value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.success-banner{background:var(--bg-positive);border:1px solid rgba(14,159,110,.2);color:var(--positive-color);padding:12px 16px;border-radius:var(--radius-md, 10px);font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.debug-card{background:var(--bg-surface-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-lg, 14px);padding:16px}.debug-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--bg-card);padding:4px 8px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-color);color:var(--text-main);font-size:12px}.spin{animation:spin 1s linear infinite}@media(max-width:1024px){.settings-page{padding:24px 20px}}@media(max-width:768px){.settings-page{padding:16px;gap:16px}.settings-grid{grid-template-columns:1fr}}.documentation-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.doc-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.doc-sidebar{position:sticky;top:24px}.doc-toc{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:16px;box-shadow:0 1px 3px #17212f0d}.doc-toc-header{font-size:12px;font-weight:700;color:var(--text-main);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.doc-toc-header h4{margin:0;font-size:13px;font-weight:700}.mobile-toc-toggle{display:none}.doc-toc-nav{display:flex;flex-direction:column;gap:14px}.toc-group-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px}.toc-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.toc-group a{display:block;padding:6px 10px;border-radius:var(--radius-sm, 8px);font-size:12.5px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all .15s ease}.toc-group a:hover{background:var(--primary-soft);color:var(--primary-color);font-weight:600}.doc-main{min-width:0;display:flex;flex-direction:column;gap:20px}.doc-group{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);overflow:hidden;box-shadow:0 1px 3px #17212f0d}.doc-group-title{font-size:15px;font-weight:700;color:var(--text-main);margin:0;padding:16px 20px;background:var(--bg-surface-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;transition:background .15s ease}.doc-group-title:hover{background:var(--primary-soft)}.doc-group-toggle{font-size:12px;color:var(--text-secondary);transition:transform .2s ease}.doc-group-title.open .doc-group-toggle{transform:rotate(180deg)}.doc-group-content{display:none;padding:24px;flex-direction:column;gap:24px}.doc-group-content.open{display:flex}.doc-section{display:flex;flex-direction:column;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.doc-section:last-child{border-bottom:none;padding-bottom:0}.doc-section h4{font-size:15px;font-weight:700;color:var(--text-main);margin:0}.doc-section-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.doc-explanation{font-size:13.5px;line-height:1.6;color:var(--text-secondary)}.doc-explanation p{margin:0 0 10px}.doc-explanation ul{margin:0;padding-left:18px}.doc-explanation li{margin-bottom:4px}.doc-col-visual{display:flex;flex-direction:column;gap:12px}.doc-formula{background:var(--primary-soft);border:1px solid var(--primary-border-soft);border-left:4px solid var(--primary-color);border-radius:var(--radius-md, 10px);padding:14px 16px;font-size:12.5px;color:var(--text-main)}.doc-formula strong{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-color);margin-bottom:6px}.doc-formula code{display:block;background:var(--bg-card);border:1px solid var(--primary-border-soft);padding:8px 12px;border-radius:6px;margin:6px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-weight:600;color:var(--primary-color);line-height:1.4}.doc-example{background:var(--bg-positive);border:1px solid rgba(14,159,110,.25);border-left:4px solid var(--positive-color);border-radius:var(--radius-md, 10px);padding:14px 16px;font-size:12.5px;color:var(--text-main);line-height:1.5}.doc-example strong{color:var(--positive-color)}.doc-notes-card{background:#fff8ec;border:1.5px solid #F2DFB6;border-radius:var(--radius-xl, 16px);padding:20px 24px;display:flex;flex-direction:column;gap:12px}.doc-notes-card__title{font-size:14px;font-weight:700;color:#7a5a17;margin:0;display:flex;align-items:center;gap:8px}.doc-notes-card__list{margin:0;padding-left:20px;color:#8c6a21;font-size:13px;line-height:1.6}.doc-notes-card__list li{margin-bottom:4px}.doc-notes-card__list strong{color:#6e4e0c}@media(max-width:1024px){.documentation-page{padding:24px 20px}.doc-layout{grid-template-columns:1fr}.doc-sidebar{position:static}.mobile-toc-toggle{display:block}.doc-toc-nav{display:none}.doc-toc-nav.open{display:flex}.doc-section-grid{grid-template-columns:1fr}}@media(max-width:768px){.documentation-page{padding:16px;gap:16px}}.options-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.search-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;box-shadow:0 1px 3px #17212f0d}.search-container{display:flex;flex-direction:column;gap:8px}.search-input-group{display:flex;gap:12px}.search-input{flex:1;padding:10px 14px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);font-size:14px;color:var(--text-main);transition:border-color .15s ease}.search-input:focus{outline:none;border-color:var(--primary-color)}.search-button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm, 8px);border:none;background:var(--primary-color);color:var(--bg-card);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .15s ease}.search-button:hover:not(:disabled){background:var(--primary-hover, #2448A8)}.search-hint{font-size:11px;color:var(--text-muted);margin:0}@media(max-width:1024px){.options-page{padding:24px 20px}}@media(max-width:768px){.options-page{padding:16px;gap:16px}.search-input-group{flex-direction:column}}.admin-questrade-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg, 14px);padding:20px!important;text-align:center;box-shadow:0 1px 3px #17212f0d}.stat-number{font-size:28px;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums;line-height:1.2}.stat-label{font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.table-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:0!important;overflow:hidden;box-shadow:0 1px 3px #17212f0d}.table-header{padding:18px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-surface-secondary)}.table-header h2{margin:0;font-size:15px;font-weight:700;color:var(--text-main)}.users-table{width:100%;border-collapse:collapse;font-size:13.5px}.users-table th{background:var(--bg-surface-secondary);padding:12px 18px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.users-table td{padding:14px 18px;border-bottom:1px solid var(--border-light);vertical-align:middle;color:var(--text-main)}.users-table tr:hover{background:var(--bg-surface-secondary)}.session-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.client-id .has-value{color:var(--positive-color);font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.client-id .no-value{color:var(--text-muted);font-style:italic}.edit-input{width:100%;padding:6px 10px;border:1px solid var(--primary-color);border-radius:var(--radius-sm, 6px);font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media(max-width:1024px){.admin-questrade-page{padding:24px 20px}}@media(max-width:768px){.admin-questrade-page{padding:16px;gap:16px}.stats-grid{grid-template-columns:1fr}}.login-page{min-height:100vh;min-height:100dvh;width:100vw;background:#0b1120;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;position:relative;overflow:hidden;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif}.login-page .login-bg-glow{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.35}.login-page .login-bg-glow--1{width:450px;height:450px;background:#2563eb;top:-120px;left:15%}.login-page .login-bg-glow--2{width:400px;height:400px;background:#0fa697;bottom:-100px;right:15%}.login-page .login-bg-glow--3{width:300px;height:300px;background:#7c3aed;top:40%;left:50%;transform:translate(-50%,-50%);opacity:.15}.login-page .login-glass-card{position:relative;z-index:10;width:100%;max-width:400px;background:#0f172abf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:36px 32px;box-shadow:0 25px 60px #00000080,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;gap:24px;box-sizing:border-box;animation:fadeInCard .4s ease-out}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-page .card-brand-header{display:flex;justify-content:center;margin-bottom:4px}.login-page .card-welcome-text{text-align:center;display:flex;flex-direction:column;gap:4px}.login-page .card-welcome-text h2{font-size:22px;font-weight:700;color:var(--bg-card);margin:0;letter-spacing:-.01em}.login-page .card-welcome-text p{font-size:13px;color:#fff9;margin:0}.login-page .login-form{display:flex;flex-direction:column;gap:18px}.login-page .login-alert{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.4}.login-page .login-alert--error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.login-page .input-group{display:flex;flex-direction:column;gap:6px}.login-page .input-label-row{display:flex;align-items:center;justify-content:space-between}.login-page .input-label{font-size:12.5px;font-weight:600;color:#ffffffd9}.login-page .pin-toggle-btn{background:none;border:none;display:flex;align-items:center;gap:4px;font-size:13px;color:#38bdf8;cursor:pointer;padding:4px 8px;margin-right:-8px;border-radius:6px;touch-action:manipulation;transition:color .15s ease,background .15s ease}.login-page .pin-toggle-btn:hover{color:#60a5fa}.login-page .input-field-wrapper{position:relative;display:flex;align-items:center}.login-page .input-field-icon{position:absolute;left:14px;color:#fff6;pointer-events:none;transition:color .15s ease}.login-page .form-input{width:100%;height:48px;padding:0 14px 0 42px;border:1px solid rgba(255,255,255,.12);border-radius:12px;font-size:16px;color:var(--bg-card);background:#1e293b80;box-sizing:border-box;transition:all .15s ease}.login-page .form-input::placeholder{color:#ffffff59}.login-page .form-input:focus{outline:none;background:#1e293bcc;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf82e}.login-page .form-input:focus+.input-field-icon,.login-page .input-field-wrapper:focus-within .input-field-icon{color:#38bdf8}.login-page .pin-input{letter-spacing:.15em;font-weight:600}.login-page .pin-dots-container{display:flex;align-items:center;gap:8px;margin-top:4px}.login-page .pin-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:all .2s cubic-bezier(.4,0,.2,1)}.login-page .pin-dot--active{background:#38bdf8;transform:scale(1.25);box-shadow:0 0 8px #38bdf899}.login-page .pin-hint{font-size:11px;color:#ffffff73;margin-left:auto}.login-page .login-submit-btn{height:50px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#2563eb,#0fa697);color:var(--bg-card);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;touch-action:manipulation;box-shadow:0 4px 16px #2563eb59;transition:all .18s ease;margin-top:6px}.login-page .login-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #2563eb80;transform:translateY(-1px);filter:brightness(1.08)}.login-page .login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-page .login-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.login-page .login-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--bg-card);border-radius:50%;animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-page .card-footer-security{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#ffffff80}.login-page .shield-icon{color:#10b981}@media(max-width:480px){.login-page{padding:16px}.login-page .login-glass-card{padding:32px 24px;border-radius:24px}.login-page .card-welcome-text h2{font-size:24px}}.mortgage-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.mortgage-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;box-shadow:0 1px 3px #17212f0d;display:flex;flex-direction:column;gap:20px}.mortgage-toolbar{background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md, 12px);padding:16px 20px;display:flex;flex-direction:column;gap:14px}.mortgage-toolbar__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.mortgage-toolbar__title{font-size:13px;font-weight:600;color:var(--text-main);margin:0;display:flex;align-items:center;gap:8px}.mortgage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mortgage-field{display:flex;flex-direction:column;gap:6px}.mortgage-field__label{font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.mortgage-field__input{height:38px;padding:0 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);font-size:13.5px;font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums;width:100%;box-sizing:border-box;transition:border-color .15s ease}.mortgage-field__input:focus{outline:none;border-color:var(--primary-color)}.mortgage-field__input[readonly]{background:var(--bg-surface-secondary);color:var(--text-secondary);border-color:var(--border-light)}.mortgage-recap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:var(--bg-surface-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md, 12px);padding:16px}.recap-tile{display:flex;flex-direction:column;gap:4px}.recap-tile__label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.recap-tile__value{font-size:16px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.break-even-banner{background:var(--primary-soft);border:1px solid var(--primary-border-soft);color:var(--primary-color);border-radius:var(--radius-md, 10px);padding:12px 16px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.preset-btn{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:34px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s ease}.preset-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-soft)}.preset-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.mortgage-page{padding:24px 20px}.mortgage-grid,.mortgage-recap{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.mortgage-page{padding:16px;gap:16px}.mortgage-grid,.mortgage-recap{grid-template-columns:1fr}}.milestones-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}.milestones-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px}.milestones-overview__item{display:flex;flex-direction:column;gap:6px}.milestones-overview__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.milestones-overview__value{font-size:21px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.milestones-overview__value--primary{color:var(--primary-color)}.milestones-overview__progress-bg{height:6px;background:var(--border-light);border-radius:999px;overflow:hidden;position:relative;margin-top:4px}.milestones-overview__progress-bar{position:absolute;left:0;top:0;bottom:0;background:var(--primary-color);border-radius:999px;transition:width .3s ease}.milestones-overview__actions{display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:flex-end}.milestones-overview__toggle{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--text-main);cursor:pointer}.milestones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.milestone-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg, 14px);padding:18px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease,box-shadow .2s ease}.milestone-card--reached{border-color:var(--primary-color);box-shadow:0 4px 12px #2d5bd114}.milestone-card--claimed{border-color:var(--positive-color);background:var(--bg-positive)}.milestone-card__header{display:flex;justify-content:space-between;align-items:center}.milestone-card__amount{font-size:18px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.milestone-card__suggestion-box{background:var(--bg-surface-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md, 10px);padding:12px;display:flex;flex-direction:column;gap:8px}.milestone-card__suggestion-title{font-size:13.5px;font-weight:600;color:var(--text-main);line-height:1.35}.milestone-card__suggestion-actions{display:flex;gap:6px}.btn-card-action{padding:4px 10px;font-size:11.5px;font-weight:600;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;transition:all .15s ease}.btn-card-action:hover{background:var(--primary-soft);border-color:var(--primary-border-soft);color:var(--primary-color)}@media(max-width:1024px){.milestones-page{padding:24px 20px}.milestones-overview,.milestones-grid{grid-template-columns:1fr}.milestones-overview__actions{align-items:flex-start}}@media(max-width:768px){.milestones-page{padding:16px;gap:16px}}.reporting-container{display:grid;grid-template-columns:220px 1fr;gap:20px;max-width:100%;margin:0;padding:32px 40px 48px;align-items:start;box-sizing:border-box}.reporting-container.options-collapsed{grid-template-columns:1fr}.reporting-controls{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #17212f0d;position:sticky;top:24px}.reporting-controls .section-title{font-size:14px;font-weight:700;color:var(--text-main);margin:0 0 4px}.reporting-controls .form-group{margin-bottom:8px}.reporting-controls .form-label{font-size:11.5px;font-weight:600;color:var(--text-secondary);margin-bottom:3px;display:block}.reporting-controls .form-input,.reporting-controls .form-select{height:32px;padding:0 8px;font-size:12px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-color);background:var(--bg-card)}.reporting-controls .switch-label,.reporting-controls .section-selector-list label{font-size:11.5px;color:var(--text-main)}.report-preview-container{display:flex;flex-direction:column;gap:1rem}.report-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.report-preview-header h3{margin:0;color:#475569;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.report-preview-status{font-size:.8rem;color:#64748b;background-color:#f1f5f9;padding:.25rem .75rem;border-radius:9999px;border:1px solid #cbd5e1}.report-sheet{background-color:var(--bg-card);color:#1e293b;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d;padding:1.5rem 2rem;min-height:297mm;position:relative;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.report-header-block{border-bottom:3px double #1e3a8a;padding-bottom:1.5rem;margin-bottom:2rem}.report-header-top{display:flex;justify-content:space-between;align-items:flex-start}.report-brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.5rem;color:#1e3a8a}.report-title-label{background-color:#eff6ff;color:#1e40af;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;border:1px solid #bfdbfe}.report-header-block h1{font-size:2rem;font-weight:800;color:#1e3a8a;margin:.75rem 0 .5rem;letter-spacing:-.025em;text-transform:uppercase}.report-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;font-size:.85rem;background-color:#f8fafc;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #e2e8f0}.report-meta-item strong{display:block;color:#475569;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;margin-bottom:.15rem}.report-meta-item span{font-weight:600;color:#0f172a}.report-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.report-kpi-card{border:1px solid #cbd5e1;border-radius:.375rem;padding:1rem;background-color:var(--bg-card);display:flex;flex-direction:column}.report-kpi-card.accented{border-left:4px solid #1e3a8a;background-color:#f8fafc}.report-kpi-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.05em;margin-bottom:.25rem}.report-kpi-value{font-size:1.35rem;font-weight:800;color:#0f172a}.report-kpi-sub{font-size:.75rem;color:#64748b;margin-top:.25rem}.report-section{margin-bottom:2.5rem;page-break-inside:avoid}.report-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;color:#1e3a8a;margin:0 0 1rem;border-bottom:1.5px solid #cbd5e1;padding-bottom:.35rem;text-transform:uppercase;letter-spacing:.025em}.report-section-title span{font-size:1.25rem}.report-section p{font-size:.9rem;color:#334155;margin:0 0 1rem}.report-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.85rem}.report-table th,.report-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.report-table th{background-color:#f1f5f9;font-weight:700;color:#334155;text-transform:uppercase;font-size:.75rem;letter-spacing:.025em}.report-table tr:hover{background-color:#f8fafc}.report-table .text-right{text-align:right}.report-table .text-center{text-align:center}.report-table tr.total-row{font-weight:700;background-color:#f8fafc;border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1}.report-table tr.total-row td{color:#0f172a}.report-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.report-badge-success{background-color:#dcfce7;color:#15803d}.report-badge-warning{background-color:#fef3c7;color:#b45309}.report-badge-danger{background-color:#fee2e2;color:#b91c1c}.report-badge-info{background-color:#e0f2fe;color:#0369a1}.report-badge-neutral{background-color:#f1f5f9;color:#475569}.report-sub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1rem}.report-card-sub{border:1px solid #e2e8f0;border-radius:.375rem;padding:.75rem 1rem;background-color:#f8fafc}.report-card-sub h4{margin:0 0 .5rem;color:#1e3a8a;font-size:.85rem;text-transform:uppercase;border-bottom:1px solid #e2e8f0;padding-bottom:.25rem}.report-sub-metric{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.report-sub-metric strong{color:#0f172a}.report-notes-lines{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.notes-line{border-bottom:1px solid #cbd5e1;height:1.25rem;width:100%}.report-disclaimer{font-size:.7rem;color:#64748b;text-align:center;border-top:1px solid #e2e8f0;padding-top:1rem;margin-top:3rem;line-height:1.4}.report-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem;border:1px solid #e2e8f0;border-radius:.375rem;background-color:var(--bg-card)}.report-table-wrapper .report-table{margin-bottom:0;border-bottom:none}@media screen and (max-width:992px){.reporting-container{grid-template-columns:1fr;gap:1.5rem}.reporting-controls{position:relative;top:0}}@media screen and (max-width:768px){.reporting-container{padding:.5rem;gap:1rem;max-width:100%!important;overflow-x:hidden}.report-preview-container{min-width:0;width:100%}.report-preview-header{flex-direction:column;align-items:flex-start;gap:.5rem}.report-sheet{padding:1rem;min-height:auto;width:100%;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden}.report-kpi-grid{grid-template-columns:1fr;gap:.75rem}.report-sub-grid{grid-template-columns:1fr;gap:1rem}.report-meta-grid{grid-template-columns:1fr;gap:.5rem;padding:.5rem .75rem}.report-table{min-width:580px;width:100%}.report-header-top{flex-direction:column;align-items:flex-start;gap:.5rem}.report-header-block h1{font-size:1.4rem;line-height:1.3}.report-section-title{font-size:1rem}.report-section-title span{font-size:1.1rem}}@media(prefers-color-scheme:dark){.reporting-controls{background:#1e293b;border-color:#334155}.report-preview-status{background-color:#1e293b;border-color:#334155;color:#94a3b8}}.report-timeline-container{margin-top:2.5rem;border-top:1.5px solid #cbd5e1;padding-top:2rem;page-break-inside:avoid}.report-timeline-title{font-size:1.15rem;font-weight:700;color:#1e3a8a;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.025em;border-bottom:1.5px solid #cbd5e1;padding-bottom:.35rem}.report-timeline{position:relative;margin:0 0 1rem;padding:0;list-style:none}.report-timeline:before{content:"";position:absolute;top:.5rem;bottom:.5rem;left:140px;width:2px;background:#cbd5e1}.report-timeline-item{display:flex;margin-bottom:1.5rem;position:relative}.report-timeline-item:last-child{margin-bottom:0}.report-timeline-meta{width:120px;text-align:right;flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-start;padding-top:.25rem}.report-timeline-year{font-size:1.1rem;font-weight:800;color:#0f172a;line-height:1.1}.report-timeline-ages{font-size:.75rem;color:#64748b;font-weight:500;margin-top:.15rem;white-space:pre-line}.report-timeline-badge{width:40px;height:40px;border-radius:50%;background:#f1f5f9;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;margin:0 10px;z-index:10;flex-shrink:0;box-shadow:0 2px 4px #0000000d}.report-timeline-icon{font-size:1.1rem}.report-timeline-content{flex-grow:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem 1rem;box-shadow:0 1px 3px #00000005}.report-timeline-item-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700;color:#0f172a}.report-timeline-item-desc{margin:0;font-size:.825rem;color:#334155;line-height:1.4}.report-timeline-item.owner-yann .report-timeline-badge{border-color:#3b82f6;background-color:#eff6ff}.report-timeline-item.owner-yann .report-timeline-year{color:#2563eb}.report-timeline-item.owner-yann .report-timeline-content{border-left:3px solid #3b82f6}.report-timeline-item.owner-carolyn .report-timeline-badge{border-color:#ec4899;background-color:#fdf2f8}.report-timeline-item.owner-carolyn .report-timeline-year{color:#db2777}.report-timeline-item.owner-carolyn .report-timeline-content{border-left:3px solid #ec4899}.report-timeline-item.owner-joint .report-timeline-badge{border-color:#10b981;background-color:#ecfdf5}.report-timeline-item.owner-joint .report-timeline-year{color:#059669}.report-timeline-item.owner-joint .report-timeline-content{border-left:3px solid #10b981}.report-timeline-item.milestone-depletion .report-timeline-badge{border-color:#ef4444;background-color:#fef2f2}.report-timeline-item.milestone-depletion .report-timeline-year{color:#dc2626}.report-timeline-item.milestone-depletion .report-timeline-content{background-color:#fff5f5;border-color:#fca5a5;border-left:4px solid #ef4444}.report-timeline-item.milestone-depletion .report-timeline-item-title{color:#991b1b}.report-timeline-item.milestone-depletion .report-timeline-item-desc{color:#7f1d1d;font-weight:500}@media screen and (max-width:768px){.report-timeline:before{left:20px}.report-timeline-item{flex-direction:column;padding-left:45px}.report-timeline-meta{width:auto;text-align:left;margin-bottom:.5rem}.report-timeline-badge{position:absolute;left:0;top:0;margin:0}}.milestone-income-user{margin-top:.75rem;padding-top:.5rem;border-top:1px dashed #cbd5e1}.milestone-income-user-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#475569;margin-bottom:.25rem}.milestone-income-user-total{font-weight:700;color:#0f172a}.milestone-income-table{width:100%;border-collapse:collapse;font-size:.775rem;margin-bottom:.25rem}.milestone-income-table td{padding:.2rem .25rem;border-bottom:1px solid #f1f5f9}.milestone-income-source{color:#64748b;text-align:left}.milestone-income-val{text-align:right;font-weight:500;color:#334155;width:110px}.milestone-income-consolidated{margin-top:.5rem;padding:.4rem .6rem;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:.25rem;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#065f46}.milestone-income-consolidated strong{font-weight:700}.milestone-income-consolidated span{font-weight:800}@media(prefers-color-scheme:dark){.milestone-income-table td{border-bottom-color:#334155}.milestone-income-source{color:#94a3b8}.milestone-income-val{color:#e2e8f0}}@media print{.sidebar,.sidebar-toggle,.sidebar-overlay,.reporting-controls,.report-preview-header,.app-layout button{display:none!important}.main-content{margin:0!important;padding:0!important;background:var(--bg-card)!important;width:100%!important;display:block!important}.app-layout{background:var(--bg-card)!important;display:block!important;padding:0!important;margin:0!important}.reporting-container{display:block!important;padding:0!important;margin:0!important;width:100%!important}.report-sheet{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;width:100%!important;min-height:auto!important;background-color:var(--bg-card)!important;color:#000!important;font-size:11pt!important}.report-meta-grid{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table th{background-color:#e2e8f0!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table-wrapper{overflow:visible!important;border:none!important;background:transparent!important;margin-bottom:1.5rem!important}.report-table{min-width:auto!important;width:100%!important}.report-card-sub{background-color:#f8fafc!important;border:1px solid #cbd5e1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-kpi-card{border:1px solid #cbd5e1!important;background-color:var(--bg-card)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-kpi-card.accented{border-left:4px solid #1e3a8a!important;background-color:#f8fafc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-badge-success{background-color:#dcfce7!important;color:#15803d!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-badge-warning{background-color:#fef3c7!important;color:#b45309!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-badge-danger{background-color:#fee2e2!important;color:#b91c1c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-badge-info{background-color:#e0f2fe!important;color:#0369a1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-badge-neutral{background-color:#f1f5f9!important;color:#475569!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-header-block{margin-top:0!important}.report-section{page-break-inside:avoid!important;margin-bottom:2rem!important}h1,h2,h3,h4{page-break-after:avoid!important}table,tr,img{page-break-inside:avoid!important}.chart-year-select,.date-selector{display:none!important}@page{size:A4 portrait;margin:.8cm}.report-timeline-container{page-break-inside:avoid!important}.report-timeline:before{background:#cbd5e1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-timeline-badge{border:2px solid #cbd5e1!important;background:#f1f5f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-timeline-content{background:#f8fafc!important;border:1px solid #cbd5e1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-timeline-item.owner-yann .report-timeline-badge{border-color:#3b82f6!important;background-color:#eff6ff!important}.report-timeline-item.owner-yann .report-timeline-content{border-left:3px solid #3b82f6!important}.report-timeline-item.owner-carolyn .report-timeline-badge{border-color:#ec4899!important;background-color:#fdf2f8!important}.report-timeline-item.owner-carolyn .report-timeline-content{border-left:3px solid #ec4899!important}.report-timeline-item.owner-joint .report-timeline-badge{border-color:#10b981!important;background-color:#ecfdf5!important}.report-timeline-item.owner-joint .report-timeline-content{border-left:3px solid #10b981!important}.report-timeline-item.milestone-depletion .report-timeline-badge{border-color:#ef4444!important;background-color:#fef2f2!important}.report-timeline-item.milestone-depletion .report-timeline-content{background-color:#fff5f5!important;border-color:#fca5a5!important;border-left:4px solid #ef4444!important}.milestone-income-consolidated{background-color:#ecfdf5!important;border-color:#a7f3d0!important;color:#065f46!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.milestone-income-table td{border-bottom:1px solid #cbd5e1!important}}.dividend-sim-page{max-width:var(--page-max-width, 1120px);margin:0 auto;padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.dividend-sim-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0}.dividend-sim-page .page-header__title h1{font-size:var(--text-h1, 26px);font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin:0 0 4px}.dividend-sim-page .page-header__subtitle{font-size:var(--text-body, 13.5px);color:var(--text-secondary);margin:0;line-height:1.4}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full, 999px);font-size:12px;font-weight:600;white-space:nowrap}.badge--info{background:var(--primary-soft);color:var(--primary-color);border:1px solid var(--primary-border-soft)}.badge--success{background:var(--bg-positive);color:var(--positive-color);border:1px solid rgba(14,159,110,.2)}.badge--danger{background:#fdf1f1;color:var(--negative-color);border:1px solid rgba(217,56,67,.2)}.layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.dividend-sim-page .main-card,.dividend-sim-page .presets-card,.dividend-sim-page .dividend-table-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl, 16px);padding:24px;box-shadow:none;display:flex;flex-direction:column}.section-header{margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.section-title{font-size:var(--text-section-title, 16px);font-weight:700;color:var(--text-main);margin:0;letter-spacing:-.01em}.inputs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.inputs-grid .full-width{grid-column:1 / -1}.input-field{display:flex;flex-direction:column;gap:6px}.label-with-action{display:flex;justify-content:space-between;align-items:center;gap:8px}.form-label{display:block;font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.networth-apply-btn{background:transparent;border:none;color:var(--primary-color);font-size:11.5px;font-weight:600;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px;transition:opacity .15s ease}.networth-apply-btn:hover{opacity:.8;text-decoration:underline}.form-input{width:100%;height:38px;padding:0 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);font-size:13.5px;font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2d5bd11f}.form-input:disabled{background:var(--bg-surface-secondary);border-color:var(--border-light);color:var(--text-muted);cursor:not-allowed}.money-input{position:relative;display:flex;align-items:center;width:100%}.money-input span{position:absolute;left:12px;color:var(--text-secondary);font-weight:600;font-size:13.5px;pointer-events:none;z-index:2}.money-input .form-input{padding-left:26px}.money-input.percent .form-input{padding-left:12px;padding-right:28px}.money-input.percent span{left:auto;right:12px}.range-header{display:flex;justify-content:space-between;align-items:center}.range-value{font-size:13px;font-weight:700;color:var(--primary-color)}.slider{width:100%;accent-color:var(--primary-color);height:6px;background:var(--bg-gray-light);border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:6px;cursor:pointer;border:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 2px 4px #2d5bd14d}.tab-switcher{display:inline-flex;align-items:center;gap:2px;background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);padding:2px}.tab-switcher__btn{background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:600;font-size:12px;transition:all .15s ease;flex-shrink:0}.tab-switcher__btn:hover{color:var(--text-main)}.tab-switcher__btn--active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 1px 3px #17212f14}.presets-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preset-section{display:flex;flex-direction:column;gap:10px}.preset-section.saved-sims-section{border-left:1px solid var(--border-light);padding-left:20px}.preset-subtitle{font-size:11px;font-weight:700;color:var(--text-secondary);margin:0 0 2px;text-transform:uppercase;letter-spacing:.05em}.preset-list{display:flex;flex-direction:column;gap:8px}.dividend-preset-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md, 10px);cursor:pointer;text-align:left;transition:all .15s ease;width:100%;box-sizing:border-box}.dividend-preset-btn:hover{border-color:var(--primary-color);background:var(--primary-soft);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dividend-preset-btn strong{font-size:12.5px;font-weight:700;color:var(--primary-color);margin-bottom:3px}.preset-desc{font-size:11.5px;color:var(--text-secondary);line-height:1.35}.save-form{display:flex;gap:8px;align-items:center}.save-form .form-input{flex:1;height:36px;font-size:12.5px}.save-form button{height:36px;padding:0 14px;font-size:12.5px}.no-saves-text{font-size:12px;color:var(--text-muted);font-style:italic;margin:8px 0;text-align:center}.saved-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding-right:2px}.saved-item{display:flex;align-items:stretch;background:var(--bg-surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);overflow:hidden}.saved-item:hover{border-color:var(--primary-color)}.saved-load-btn{flex:1;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:transparent;border:none;cursor:pointer;text-align:left}.saved-name{font-size:12.5px;font-weight:600;color:var(--text-main);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-details{font-size:11px;color:var(--text-muted);font-weight:500}.saved-delete-btn{background:transparent;border:none;border-left:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;padding:0 10px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.saved-delete-btn:hover{color:var(--negative-color);background:#fdf1f1}.results-col{display:flex;flex-direction:column;gap:20px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.kpi-item{display:flex;flex-direction:column;gap:3px;padding:12px;background:var(--bg-surface-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md, 10px)}.kpi-label{font-size:10.5px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em}.kpi-value{font-size:17px;font-weight:700;color:var(--text-main);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2}.kpi-value.positive{color:var(--positive-color)}.kpi-value.highlight{color:#0d9488}.kpi-item.primary{background:var(--primary-soft);border-color:var(--primary-border-soft)}.kpi-item.primary .kpi-value{color:var(--primary-color);font-size:19px}.chart-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.chart-legend{display:flex;gap:16px;font-size:12px;font-weight:600;justify-content:flex-end;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--border-light);padding-bottom:14px;gap:12px;flex-wrap:wrap}.title-area{display:flex;align-items:center;gap:10px}.title-area .section-title{font-size:var(--text-section-title, 16px);font-weight:700;color:var(--text-main);margin:0}.icon-gold{color:#f59e0b}.action-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.action-area .btn{height:34px;padding:0 14px;font-size:12.5px;font-weight:600;border-radius:var(--radius-sm, 8px)}.allocation-bar-container{margin-bottom:24px}.allocation-bar-label{display:block;font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.allocation-bar{display:flex;height:28px;border-radius:var(--radius-md, 10px);overflow:hidden;border:1px solid var(--border-color);background-color:var(--bg-surface-secondary);box-shadow:inset 0 1px 2px #0000000a}.allocation-bar-segment{display:flex;align-items:center;justify-content:center;height:100%;color:var(--bg-card);font-size:11px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:width .3s ease,background-color .3s ease;overflow:hidden;white-space:nowrap;cursor:help}.segment-unallocated{background-color:#e5e7eb!important;color:var(--text-secondary)!important;font-weight:600!important;text-shadow:none!important}.table-container{overflow-x:auto;margin-bottom:24px;border-radius:var(--radius-md, 12px);border:1px solid var(--border-color)}.dividend-table-card .table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:0;box-shadow:none}.dividend-table-card .table thead{background:var(--bg-surface-secondary);border-bottom:1px solid var(--border-color)}.dividend-table-card .table th{color:var(--text-secondary);padding:12px 16px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:none;background:transparent}.dividend-table-card .table tbody tr{border-bottom:1px solid var(--border-light);transition:background .15s ease}.dividend-table-card .table tbody tr:hover{background:var(--bg-surface-secondary)}.dividend-table-card .table tbody tr.row-disabled{background:var(--bg-surface-secondary);opacity:.55}.dividend-table-card .table td{padding:12px 16px;color:var(--text-main);font-size:13.5px;vertical-align:middle}.etf-link{color:var(--primary-color);text-decoration:none;font-weight:700;transition:color .15s ease}.etf-link:hover{text-decoration:underline}.inline-percent-input{display:inline-flex;align-items:center;position:relative;max-width:90px}.inline-percent-input input{width:100%;height:34px;padding:0 18px 0 8px;font-size:13px;font-weight:600;text-align:right;border-radius:var(--radius-sm, 8px);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main)}.inline-percent-input span{position:absolute;right:6px;font-size:11.5px;color:var(--text-secondary);pointer-events:none}.inline-percent-input.allocation input{border-color:var(--primary-border-soft);background:var(--primary-soft);color:var(--primary-color);font-weight:700}.etf-checkbox{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.delete-row-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm, 6px);display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.delete-row-btn:hover{color:var(--negative-color);background:#fdf1f1}.total-row td{border-top:2px solid var(--border-color);background-color:var(--bg-surface-secondary)!important;font-weight:700;padding:14px 16px}.add-etf-form{margin-top:20px;background-color:var(--bg-surface-secondary);border:1px dashed var(--primary-border-soft);padding:18px 22px;border-radius:var(--radius-lg, 12px);display:flex;flex-direction:column;gap:12px}.add-etf-title{margin:0;font-size:13.5px;font-weight:700;color:var(--text-main)}.form-inputs{display:grid;grid-template-columns:160px 1fr 130px 130px auto;gap:12px;align-items:center}.symbol-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.symbol-input{padding-right:32px!important}.symbol-lookup-btn{position:absolute;right:6px;background:transparent;border:none;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:opacity .15s ease}.symbol-lookup-btn:hover:not(:disabled){opacity:.8}.symbol-error-msg{color:var(--negative-color);font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.add-percent-input{position:relative;display:flex;align-items:center}.add-percent-input input{padding-right:22px;height:38px;font-size:13px}.add-percent-input span{position:absolute;right:8px;font-size:12px;color:var(--text-secondary);pointer-events:none}.add-etf-btn{height:38px;padding:0 18px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.spin-animation{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.dividend-sim-page{padding:24px 20px}.layout-grid,.presets-content{grid-template-columns:1fr}.preset-section.saved-sims-section{border-left:none;padding-left:0;border-top:1px solid var(--border-light);padding-top:16px}.kpi-row,.form-inputs{grid-template-columns:repeat(2,1fr)}.add-etf-btn{grid-column:1 / -1}}@media(max-width:768px){.dividend-sim-page{padding:16px 8px;gap:16px}.dividend-sim-page .main-card,.dividend-sim-page .presets-card,.dividend-sim-page .dividend-table-card{padding:16px;border-radius:12px}.label-with-action{flex-direction:column;align-items:flex-start;gap:6px}.mobile-hidden{display:none!important}.dividend-table-card .table-container{border:none;background:transparent;padding:0}.dividend-table-card .etf-table thead{display:none}.dividend-table-card .etf-table,.dividend-table-card .etf-table tbody,.dividend-table-card .etf-table tr,.dividend-table-card .etf-table td{display:block;width:100%;min-width:0!important;box-sizing:border-box}.dividend-table-card .etf-table tr{margin-bottom:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);overflow:hidden}.dividend-table-card .etf-table td{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;text-align:right!important;border-bottom:1px solid var(--border-light)}.dividend-table-card .etf-table td:last-child{border-bottom:none}.dividend-table-card .etf-table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:11.5px;text-transform:uppercase;text-align:left;margin-right:12px}.inline-percent-input{max-width:120px}.dividend-table-card .etf-table tr.total-row{background:var(--bg-surface-secondary)}.dividend-table-card .etf-table tr.total-row td{border-top:none}.dividend-table-card .etf-table tr.total-row td[colspan]{text-align:center!important;justify-content:center;color:var(--text-main);font-size:14px;border-bottom:1px solid var(--border-light)}.dividend-table-card .etf-table tr.total-row td[colspan]:before{display:none}}.tax-comparison-page{max-width:1120px;margin:0 auto;padding:32px 40px;display:flex;flex-direction:column;gap:24px}@media(max-width:1024px){.tax-comparison-page{padding:24px 20px}}@media(max-width:768px){.tax-comparison-page{padding:16px;gap:16px}}
