@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-primary:#641ae6;--color-primary-hover:#5014b8;--primary-glow:#641ae626;--accent-primary:var(--color-primary);--accent-primary-glow:var(--primary-glow);--bg-primary:#faf9fa;--bg-secondary:#f2f1f4;--bg-card:#fff;--bg-glass:#ffffffd9;--bg-hover:#eae9ed;--accent-profit:#1b9849;--accent-profit-glow:#1b98491a;--accent-loss:#cf1736;--accent-loss-glow:#cf17361a;--accent-warning:#e09006;--accent-info:#0d98d9;--accent-neutral:#968fa3;--surface-subtle:#ffffff08;--surface-faint:#ffffff05;--overlay-dark:#00000026;--accent-profit-soft:#1b984914;--accent-profit-border:#1b984940;--accent-profit-shadow:#1b98494d;--accent-loss-border:#cf173633;--accent-info-soft:#0d98d914;--accent-info-border:#0d98d940;--accent-warning-soft:#e090061f;--accent-primary-soft:#641ae61f;--modal-scrim:#09070db8;--drawer-scrim:#17122173;--drawer-shadow:8px 0 32px #1712212e;--print-paper:#fff;--print-border:#cac7d1;--print-text:#241f2e;--text-primary:#241f2e;--text-secondary:#635c70;--text-muted:#888198;--text-on-accent:#fff;--glass-blur:blur(12px);--glass-border:1px solid #c9c2d699;--glass-shadow:0 2px 8px #19171c08;--border-light:#d6d1e0;--border-focus:#641ae699;--font-sans:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--text-4xl:1.75rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:var(--radius-xs);border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-secondary);border-right:var(--glass-border);width:240px;padding:20px var(--space-md);gap:var(--space-lg);height:100vh;transition:width var(--transition-normal), padding var(--transition-normal);scrollbar-width:none;flex-direction:column;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{display:none}.sidebar.collapsed{width:64px;padding:20px var(--space-sm)}.logo-text,.nav-text{opacity:1;max-width:160px;transition:max-width var(--transition-normal), opacity var(--transition-normal), margin-left var(--transition-normal);white-space:nowrap;display:inline-block;overflow:hidden}.logo-text{margin-left:var(--space-sm)}.sidebar.collapsed .nav-text,.sidebar.collapsed .logo-text{opacity:0;max-width:0;margin-left:0!important}.sidebar.collapsed .nav-link,.sidebar.collapsed .btn-logout{padding:var(--space-xs) 11px}.main-content{padding:var(--space-lg) var(--space-xl);flex:1;width:100%;max-width:1440px;margin:0 auto}.premium-card{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);padding:var(--space-md)}.card-title{font-size:var(--text-xl);color:var(--text-primary);align-items:center;gap:var(--space-xs);margin:0;font-weight:700;line-height:1.4;display:flex}.premium-card:hover{box-shadow:0 4px 12px #19171c0d, 0 0 0 1px var(--primary-glow);border-color:#8b66cc33}.btn{font-family:var(--font-sans);font-weight:500;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast), filter var(--transition-fast), color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--text-on-accent);box-shadow:0 2px 4px var(--primary-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #641ae633, 0 0 4px var(--primary-glow);filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{color:var(--accent-loss);background:#cf17361a;border:1px solid #cf173633}.btn-danger:hover:not(:disabled){background:#cf173633}.btn-danger-solid{background:var(--accent-loss);color:var(--text-on-accent);box-shadow:0 2px 4px var(--accent-loss-glow);border:none}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 8px #cf173633}.btn-full{justify-content:center;width:100%;height:48px}.btn-toggle{background:var(--bg-secondary);color:var(--text-secondary);border:var(--glass-border);font-weight:600}.btn-toggle:hover:not(.is-active):not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-toggle.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-accent)}.btn-toggle-group{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.btn-toggle-fill{flex:auto}.btn-icon{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-xs);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:4px}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-danger{cursor:pointer;color:var(--accent-loss);border-radius:var(--radius-xs);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:4px}.btn-icon-danger:hover{color:var(--accent-loss);background:#cf17361a}.form-input{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--primary-glow)}.form-option-create{color:var(--accent-info);font-weight:700}.form-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.nav-link{color:var(--text-secondary);font-family:var(--font-sans);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast), padding var(--transition-normal);white-space:nowrap;border-left:2px solid #0000;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.nav-text{margin-left:10px}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-hover)}.nav-link.active{color:var(--text-primary);border-left:2px solid var(--color-primary);background-color:#641ae61a;font-weight:600}.btn-logout{width:100%;color:var(--accent-loss);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), padding var(--transition-normal);white-space:nowrap;background:#f43e5c0d;border:1px solid #f43e5c26;justify-content:flex-start;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.logo-container:hover{background-color:var(--bg-hover)}.btn-logout:hover{background:#f43e5c1a;border-color:#f43e5c4d;transform:translateY(-1px);box-shadow:0 2px 4px #f43e5c0d}table{border-collapse:collapse;text-align:left;width:100%}tr{transition:background-color var(--transition-fast)}tr:hover:not(thead tr){background-color:#641ae60a}th{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--space-xs);font-weight:600}td{padding:var(--space-sm) var(--space-xs);font-size:var(--text-base)}.col-amount{text-align:right}.font-numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.asset-row-hover:hover{background-color:var(--bg-hover)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:1.5s linear infinite spin}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast-host{z-index:100000;pointer-events:none;flex-direction:column;gap:10px;max-width:min(360px,100vw - 48px);display:flex;position:fixed;top:24px;right:24px}.toast-close{border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color var(--transition-normal);background:0 0;border:none;flex-shrink:0;padding:4px;display:flex;position:relative}.toast-close:hover{color:var(--text-primary)}.toast-close:before{content:"";position:absolute;inset:-10px}.toast-enter{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards slide-in-top}.toast-exit{animation:.3s ease-in forwards fade-out}.modal-fade-in{animation:.2s ease-out forwards fade-in}.modal-scale-up{animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards scale-up}.modal-overlay{background:var(--modal-scrim);-webkit-backdrop-filter:var(--glass-blur);z-index:9999;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay--stacked{z-index:10000}.modal-overlay>.premium-card{width:100%;max-height:90vh;padding:var(--space-lg);margin:auto;overflow-y:auto}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:900px}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.modal-title{font-size:var(--text-2xl);color:var(--text-primary);margin:0;font-weight:700}.modal-foot{gap:var(--space-sm);margin-top:var(--space-lg);justify-content:flex-end;display:flex}.modal-foot>.btn{flex:1}.modal-overlay>.premium-card,.confirm-overlay>.premium-card{background:var(--bg-card)}.confirm-overlay{background:var(--modal-scrim);-webkit-backdrop-filter:var(--glass-blur);padding:var(--space-md);z-index:100000;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.confirm-dialog{text-align:center;width:100%;max-width:420px;max-height:90vh;padding:var(--space-lg);margin:auto;overflow-y:auto}.confirm-dialog-message{color:var(--text-primary);margin-bottom:var(--space-lg);font-size:1rem;font-weight:600;line-height:1.5}.confirm-dialog-actions{gap:var(--space-sm);justify-content:center;display:flex}.grid-2,.grid-3,.grid-4{gap:var(--space-md);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.nav-shell{z-index:40;height:100vh;display:flex;position:sticky;top:0}.nav-menu{gap:var(--space-xs);flex-direction:column;display:flex}.logo-container{margin-bottom:var(--space-xl);cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);transition:background-color var(--transition-fast), padding var(--transition-normal);justify-content:flex-start;align-items:center;display:flex}.logo-container.is-collapsed{padding:var(--space-sm) var(--space-xs)}.nav-footer{margin-top:auto}.nav-burger,.nav-backdrop{display:none}@media (width<=768px){.nav-shell{height:auto;position:static}.nav-burger{top:var(--space-sm);left:var(--space-sm);z-index:60;cursor:pointer;width:44px;height:44px;color:var(--text-primary);background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex;position:fixed}.nav-burger:hover,.nav-burger:focus-visible{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-primary-glow)}.nav-burger:active{transform:scale(.94)}.nav-burger-icon{animation:.25s cubic-bezier(.175,.885,.32,1.275) burger-icon-in;display:inline-flex}.nav-backdrop{z-index:50;background:var(--drawer-scrim);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);display:block;position:fixed;inset:0}.nav-backdrop.is-open{opacity:1;pointer-events:auto}.sidebar{z-index:55;width:min(280px,82vw);height:100dvh;padding:20px var(--space-md);gap:var(--space-lg);border-right:var(--glass-border);box-shadow:none;transition:transform var(--transition-normal), box-shadow var(--transition-normal);will-change:transform;border-bottom:none;flex-direction:column;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--drawer-shadow);transform:translate(0)}.sidebar.is-open .nav-link{animation:.3s cubic-bezier(.4,0,.2,1) backwards nav-link-in}.sidebar.is-open .nav-link:first-child{animation-delay:40ms}.sidebar.is-open .nav-link:nth-child(2){animation-delay:70ms}.sidebar.is-open .nav-link:nth-child(3){animation-delay:.1s}.sidebar.is-open .nav-link:nth-child(4){animation-delay:.13s}.sidebar.is-open .nav-link:nth-child(5){animation-delay:.16s}.sidebar.is-open .nav-link:nth-child(6){animation-delay:.19s}.sidebar.is-open .nav-link:nth-child(7){animation-delay:.22s}.sidebar.is-open .nav-link:nth-child(8){animation-delay:.25s}.sidebar.is-open .nav-link:nth-child(n+9){animation-delay:.28s}.sidebar.collapsed{width:min(280px,82vw);padding:20px var(--space-md)}.sidebar.collapsed .nav-text,.sidebar.collapsed .logo-text{opacity:1;max-width:none}.logo-container{margin-bottom:var(--space-xs);justify-content:flex-start;padding-left:56px}}@keyframes nav-link-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes burger-icon-in{0%{opacity:0;transform:rotate(-90deg)scale(.6)}to{opacity:1;transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.sidebar,.nav-backdrop{transition:none}.sidebar.is-open .nav-link,.nav-burger-icon{animation:none}}.row-label-unit{gap:var(--space-sm);grid-template-columns:1fr 100px;display:grid}@media (width<=768px){.row-label-unit{grid-template-columns:1fr}}.split-row{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:8px;width:100%;display:grid}@media (width<=768px){.split-row{grid-template-columns:1fr 1fr}.split-row>:first-child,.split-row>:last-child{grid-column:1/-1}.split-row>:last-child{justify-self:end}}.row-wrap{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.row-wrap-between{gap:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.table-scroll>table{min-width:720px}.table-scroll.is-wide>table{min-width:980px}.table-scroll.is-narrow>table{min-width:520px}.table-scroll.is-fluid>table{min-width:0}.table-scroll.has-sticky-col>table th:first-child,.table-scroll.has-sticky-col>table td:first-child{z-index:1;background:var(--bg-card);position:sticky;left:0}.table-scroll.has-sticky-col>table tbody tr:hover>td:first-child{background:color-mix(in srgb, var(--bg-card), #641ae6 4%)}.inline-edit{font-family:inherit;font-size:inherit;font-weight:inherit;height:20px;line-height:20px}.kpi-value-fluid{font-size:18px}.kpi-value-fluid.is-lg{font-size:20px}@media (width<=768px){.kpi-value-fluid{font-size:clamp(14px,4.2vw,18px)}.kpi-value-fluid.is-lg{font-size:clamp(15px,4.6vw,20px)}}.form-input-xs{font-size:12px}.form-input-sm{font-size:13px}.form-input-md{font-size:14px}.form-input-lg{font-size:15px}.col-toggle{width:72px}.col-toggle-wide{width:88px}@media (width<=768px){.table-scroll.is-fluid .col-toggle,.table-scroll.is-fluid .col-toggle-wide{width:auto}.table-scroll.is-fluid th,.table-scroll.is-fluid td{padding-left:4px;padding-right:4px}.table-scroll.is-fluid .font-numeric{white-space:nowrap}.table-scroll.is-fluid th{letter-spacing:0;font-size:12px}}.premium-card,.min-w-0{min-width:0}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.grid-2.keep-2-mobile,.grid-3.keep-2-mobile,.grid-4.keep-2-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-auto{grid-template-columns:minmax(0,1fr)}.app-container{flex-direction:column}.toast-host{align-items:center;max-width:none;top:16px;left:16px;right:16px}.sidebar .nav-link{width:100%;padding:8px 12px;font-size:14px}.sidebar .btn-logout{width:100%;padding:8px 12px}.main-content{width:100%;padding:68px 16px 16px}input,select,textarea,.form-input,.form-input-xs,.form-input-sm,.form-input-md,.form-input-lg,.coach-textarea{font-size:16px}.inline-edit{height:32px;font-size:16px;line-height:32px}.btn{min-height:44px}.form-input{min-height:40px}.btn-icon,.btn-icon-danger{min-width:44px;min-height:44px;padding:8px}.sidebar .nav-link{min-height:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.table-scroll th{padding-top:var(--space-md);padding-bottom:var(--space-md)}}@media (width>=769px) and (width<=1024px){.main-content{padding:16px 20px}}.coach-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.coach-alert{align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-md);font-size:var(--text-md);line-height:1.5;display:flex}.coach-alert.is-error{background:var(--accent-loss-glow);border:1px solid var(--accent-loss-border);color:var(--accent-loss)}.coach-alert .btn{flex-shrink:0;margin-left:auto}.coach-block{margin-bottom:var(--space-lg)}.coach-subtitle{align-items:center;gap:var(--space-xs);font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:700;display:flex}.card-title .coach-caption,.coach-subtitle .coach-caption,.coach-goal-head .coach-caption,.coach-bias-head .coach-caption,.coach-panel-summary .coach-eyebrow{margin-bottom:0}.coach-section{margin-top:var(--space-md)}.coach-section+.coach-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-light)}.coach-section-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.coach-text-link{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-primary);text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.coach-text-link:hover{color:var(--color-primary-hover)}.coach-done{margin-top:var(--space-sm)}.coach-done>summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.coach-done[open]>summary{margin-bottom:var(--space-xs)}.coach-form-desc{color:var(--text-secondary);font-size:var(--text-md);margin-top:var(--space-2xs);margin-bottom:var(--space-md)}.coach-form-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;display:grid}.coach-field{gap:var(--space-2xs);flex-direction:column;display:flex}.coach-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.coach-field-error{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--accent-loss)}.coach-empty{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) 0;color:var(--text-muted);font-size:var(--text-md);text-align:center;flex-direction:column;display:flex}.coach-empty svg{opacity:.3}.coach-eyebrow{font-size:var(--text-xs);letter-spacing:.05em;color:var(--text-muted);font-weight:600}.coach-caption{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2xs)}.coach-progress-row{gap:var(--space-xl);margin-top:var(--space-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.coach-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.1}.coach-score-unit{font-size:var(--text-lg);color:var(--text-muted)}.coach-score-missing{max-width:260px;font-size:var(--text-md);color:var(--text-secondary);font-weight:600;line-height:1.4}.coach-score.is-good,.coach-trend-bar.is-good{color:var(--accent-profit)}.coach-score.is-warn,.coach-trend-bar.is-warn{color:var(--accent-warning)}.coach-score.is-bad,.coach-trend-bar.is-bad{color:var(--accent-loss)}.coach-trend{align-items:flex-end;gap:var(--space-2xs);height:72px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.coach-trend-bar{width:24px;height:var(--bar-height,8px);border-radius:var(--radius-xs);opacity:.45;background:currentColor;flex-shrink:0;justify-content:center;align-items:flex-start;display:flex;position:relative}.coach-trend-bar.is-latest{opacity:1}.coach-trend-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-muted);font-weight:600;position:absolute;top:-16px}.coach-bias-list{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-bias-row{gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-secondary);align-items:flex-start;display:flex}.coach-bias-body{flex:1;min-width:0}.coach-bias-head{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.coach-bias-label{font-weight:700;font-size:var(--text-base);color:var(--text-primary)}.coach-bias-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.coach-bias-path{margin-top:var(--space-2xs);margin-bottom:0}.coach-badge{font-size:var(--text-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-full);white-space:nowrap;font-weight:700}.coach-badge.is-planned{color:var(--text-muted);background:var(--bg-hover)}.coach-badge.is-ongoing{color:var(--accent-info);background:var(--accent-info-soft)}.coach-badge.is-improving{color:var(--accent-warning);background:var(--accent-warning-soft)}.coach-badge.is-active{color:var(--accent-loss);background:var(--accent-loss-glow)}.coach-badge.is-expired{color:var(--accent-warning);background:var(--accent-warning-soft)}@media (width<=768px){.coach-form-grid{grid-template-columns:1fr}.coach-score{font-size:32px}.coach-bias-row{flex-wrap:wrap}.coach-trend{-webkit-overflow-scrolling:touch}.coach-text-link{padding:var(--space-xs) 0}.coach-section-head .btn{width:100%}}.coach-summary{font-size:var(--text-lg);color:var(--text-primary);font-style:italic;line-height:1.6}.coach-reco{margin-top:var(--space-md)}.coach-reco-list{margin-top:var(--space-xs);padding-left:var(--space-lg)}.coach-reco-list li{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-2xs);line-height:1.6}.coach-report{margin-bottom:var(--space-xs);flex-direction:column;display:flex}.coach-md-h1{font-size:var(--text-3xl);margin:var(--space-lg) 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-light);color:var(--text-primary);font-weight:700}.coach-md-h2{font-size:var(--text-2xl);margin:var(--space-md) 0 var(--space-xs);color:var(--text-primary);font-weight:700}.coach-md-h3{font-size:var(--text-md);margin:var(--space-sm) 0 var(--space-2xs);color:var(--text-primary);font-weight:600}.coach-md-p{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-xs);line-height:1.6}.coach-report ul,.coach-report ol{margin:0 0 var(--space-xs) var(--space-lg);padding-left:var(--space-md)}.coach-md-li{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-2xs);line-height:1.6}.coach-md-quote{border-left:4px solid var(--color-primary);padding-left:var(--space-md);margin:var(--space-sm) 0;color:var(--text-muted);font-style:italic}.coach-report .table-scroll{margin-bottom:var(--space-md)}.coach-link{padding:var(--space-2xs) 0;display:inline-block}.coach-report hr{border:0;border-top:1px solid var(--border-light);margin:var(--space-lg) 0}.coach-report code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--bg-secondary);padding:2px var(--space-2xs);border-radius:var(--radius-xs)}@media print{@page{margin:16mm}body{background:var(--print-paper);overflow:visible}.sidebar,.toast-host,.no-print,.coach-panel-chevron{display:none!important}.app-container{display:block}.main-content{max-width:none;padding:0}.printable-area{display:block}.premium-card{background:var(--print-paper);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--print-border);break-inside:avoid;margin-bottom:var(--space-md)}.premium-card:has(.coach-panel){break-inside:auto}.coach-md-h1,.coach-md-h2,.coach-md-h3{break-after:avoid}.coach-md-p,.coach-md-li,.coach-note-ref{break-inside:avoid}.coach-report,.coach-summary,.coach-md-p,.coach-md-li{color:var(--print-text)}}.coach-breakdown{margin-top:var(--space-md)}.coach-breakdown-list{gap:var(--space-2xs);margin:var(--space-xs) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-breakdown-row{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);grid-template-columns:minmax(160px,1fr) 2fr auto;display:grid}.coach-breakdown-row.is-muted{opacity:.55}.coach-breakdown-label{color:var(--text-primary);font-weight:600}.coach-breakdown-bar,.coach-progress-bar{border-radius:var(--radius-full);background:var(--bg-secondary);width:100%;height:6px;display:block;overflow:hidden}.coach-breakdown-fill,.coach-progress-fill{height:100%;width:var(--progress,0%);border-radius:var(--radius-full);background:var(--color-primary);display:block}.coach-breakdown-fill.is-good,.coach-progress-fill.is-good{background:var(--accent-profit)}.coach-breakdown-fill.is-warn,.coach-progress-fill.is-warn{background:var(--accent-warning)}.coach-breakdown-fill.is-bad,.coach-progress-fill.is-bad{background:var(--accent-loss)}.coach-progress-bar.has-marker{position:relative;overflow:visible}.coach-progress-marker{top:-3px;bottom:-3px;left:var(--elapsed,0%);background:var(--text-secondary);border-radius:1px;width:2px;margin-left:-1px;position:absolute}.coach-breakdown-value{text-align:right;min-width:28px;font-weight:600}.coach-textarea{resize:vertical;width:100%;font-family:var(--font-sans);line-height:1.6}.coach-note-meta{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.coach-note-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.coach-note-list{gap:var(--space-sm);margin:var(--space-lg) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-note{padding:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-secondary);border-left:3px solid var(--color-primary)}.coach-note-head{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-2xs);flex-wrap:wrap;display:flex}.coach-note-head .btn-icon-danger{margin-left:auto}.coach-note-text{font-size:var(--text-md);color:var(--text-primary);line-height:1.6}.coach-chip{font-size:var(--text-xs);padding:2px var(--space-xs);border-radius:var(--radius-full);background:var(--bg-card);border:var(--glass-border);color:var(--text-secondary);font-weight:600}.coach-chip.is-domain-budget{background:var(--accent-info-soft);border-color:var(--accent-info-border);color:var(--accent-info)}.coach-chip.is-domain-trading{background:var(--accent-primary-soft);color:var(--color-primary);border-color:#0000}.coach-chip.is-domain-life{background:var(--accent-profit-soft);border-color:var(--accent-profit-border);color:var(--accent-profit)}.coach-goal-form{gap:var(--space-md);margin:var(--space-md) 0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;display:flex}.coach-goal-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.coach-goal-list{gap:var(--space-sm);margin:var(--space-sm) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-goal{padding:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-secondary)}.coach-goal.is-achieved{background:var(--accent-profit-soft)}.coach-goal.is-abandoned{opacity:.6}.coach-goal.is-expired{background:var(--accent-warning-soft);border-left:3px solid var(--accent-warning)}.coach-goal-head{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-2xs);flex-wrap:wrap;display:flex}.coach-goal-title{font-weight:700;font-size:var(--text-base);color:var(--text-primary)}.coach-goal-controls{gap:var(--space-2xs);margin-left:auto;display:flex}.coach-goal-numbers{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-2xs)}.coach-progress-bar.is-secondary{opacity:.75;height:4px;margin:var(--space-2xs) 0}.coach-badge.is-achieved{color:var(--accent-profit);background:var(--accent-profit-glow)}.coach-badge.is-abandoned{color:var(--text-muted);background:var(--bg-hover)}@media (width<=768px){.coach-breakdown-row{grid-template-columns:1fr auto}.coach-breakdown-bar{display:none}}.coach-search{align-items:center;gap:var(--space-xs);color:var(--text-muted);display:flex}.coach-search-label{padding-left:calc(16px + var(--space-xs))}.coach-search input{flex:1}.coach-journal-filters{gap:var(--space-md);grid-template-columns:minmax(150px,200px) minmax(150px,200px) 1fr;align-items:end;display:grid}@media (width<=768px){.coach-journal-filters{grid-template-columns:1fr}}.coach-note-kinds{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.coach-note.is-fact{border-left:3px solid var(--accent-primary)}.coach-note-edit{gap:var(--space-xs);flex-direction:column;display:flex}.coach-goal-status{padding:2px var(--space-xs);font-size:var(--text-xs);width:auto}.coach-suggested{margin:var(--space-md) 0;padding:var(--space-md);border:1px dashed var(--accent-primary);border-radius:var(--radius-md);background:var(--bg-card)}.coach-suggested-list{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;list-style:none;display:flex}.coach-suggested-item{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.coach-suggested-body{flex:1;min-width:240px}.coach-suggested-actions{gap:var(--space-xs);display:flex}.coach-panel{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.coach-panel-summary{align-items:center;gap:var(--space-xs) var(--space-sm);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.coach-panel-summary::-webkit-details-marker{display:none}.coach-panel-chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.coach-panel[open] .coach-panel-chevron{transform:rotate(90deg)}.coach-panel-title{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:700}.coach-panel-body{margin-top:var(--space-md)}.coach-panel-actions{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.coach-notes-read{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-secondary)}.coach-notes-read-list{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-note-ref{align-items:flex-start;gap:var(--space-xs);font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.5;display:flex}.coach-note-ref .coach-chip{white-space:nowrap;flex-shrink:0}.coach-history{margin-top:var(--space-lg)}.coach-history .coach-subtitle{margin-bottom:var(--space-sm)}.coach-history-list{gap:var(--space-xs);flex-direction:column;list-style:none;display:flex}.coach-history-item{border:var(--glass-border);border-radius:var(--radius-md);padding:var(--space-sm);cursor:pointer;transition:background var(--transition-fast)}.coach-history-item:hover:not(.is-selected){background:var(--bg-hover)}.coach-history-item.is-selected{border-color:var(--color-primary);background:var(--accent-primary-soft)}.coach-history-row{align-items:center;gap:var(--space-xs);display:flex}.coach-history-head{align-items:center;gap:var(--space-xs);cursor:pointer;min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:none;flex-wrap:wrap;flex:1;padding:0;display:flex}.coach-history-date{flex:1;font-weight:600}.coach-history-score{font-family:var(--font-mono);font-weight:600}.coach-history-score.is-good{color:var(--accent-profit)}.coach-history-score.is-warn{color:var(--accent-warning)}.coach-history-score.is-bad{color:var(--accent-loss)}.coach-history-summary{margin-top:var(--space-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.coach-chip.is-external{background:var(--accent-primary-soft);color:var(--color-primary)}.coach-steps{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.coach-step{padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-secondary);border-left:3px solid #0000}.coach-step.is-open{border-left-color:var(--color-primary)}.coach-step-head{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.coach-step-num{border-radius:var(--radius-full);background:var(--bg-hover);width:24px;height:24px;color:var(--text-secondary);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.coach-step.is-open .coach-step-num{background:var(--color-primary);color:var(--text-on-accent)}.coach-step.is-done .coach-step-num{background:var(--accent-profit);color:var(--text-on-accent)}.coach-step-head .coach-text-link{margin-left:auto}.coach-step-body{margin-top:var(--space-md)}.coach-step-recap{margin:var(--space-2xs) 0 0}.coach-bridge-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.coach-bridge-textarea{width:100%;min-height:120px;font-family:var(--font-mono);resize:vertical;font-size:.8rem}@media (width<=768px){.coach-history-head{min-height:44px}.coach-step-head .coach-text-link{text-align:left;width:100%;margin-left:0}.coach-bridge-actions .btn{flex:1}}.budget-section-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:row;display:flex}.budget-section-header.is-reimbursements{gap:0}.budget-section-full-mobile{width:auto}.reimbursements-filters{gap:var(--space-sm);padding:var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:var(--glass-border);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}@media (width<=768px){.budget-section-header{flex-direction:column;align-items:flex-start}.budget-section-header.is-reimbursements{gap:var(--space-md)}.budget-section-full-mobile{width:100%}.reimbursements-filters{grid-template-columns:1fr}}.tax-foyer-grid{gap:var(--space-lg);grid-template-columns:200px 1fr;align-items:start;display:grid}.tax-toggle-row{gap:var(--space-sm);flex-direction:row;display:flex}.tax-sim-grid{gap:var(--space-lg);margin-top:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));display:grid}.tax-exit-grid{font-size:var(--text-xs);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.tax-foyer-grid,.tax-sim-grid,.tax-exit-grid{grid-template-columns:minmax(0,1fr)}.tax-toggle-row{flex-direction:column}}.projection-grid{gap:var(--space-lg);grid-template-columns:1fr 2fr;display:grid}.projection-tooltip{min-width:250px}@media (width<=768px){.projection-grid{grid-template-columns:1fr}.projection-tooltip{min-width:0}}.objectives-summary{margin-bottom:var(--space-lg)}.objectives-summary-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.objectives-summary-body{gap:var(--space-lg);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.objectives-summary-bar{min-width:0}.objectives-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:4ch;font-size:40px;font-weight:800;line-height:1.1}.objectives-total.is-good{color:var(--accent-profit)}.objectives-counts{gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.objectives-counts strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.objectives-empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-muted);font-size:var(--text-md);flex-direction:column;line-height:1.6;display:flex}.objectives-empty svg{opacity:.3}.objectives-empty p{max-width:480px;margin:0}.objectives-loading{text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.objectives-grid{column-width:400px;column-gap:var(--space-md)}.objectives-grid>.obj-card{break-inside:avoid;margin-bottom:var(--space-md)}.obj-card{gap:var(--space-sm);flex-direction:column;display:flex}.obj-card.is-achieved{border-color:var(--accent-profit-border)}.obj-card.is-failed{border-color:var(--accent-loss-border)}.obj-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.obj-card-titles{flex:1;min-width:0}.obj-card-titles .card-title{overflow-wrap:anywhere}.obj-card-meta{align-items:center;gap:var(--space-xs);margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.obj-card-actions{gap:var(--space-2xs);flex-shrink:0;display:flex}.obj-chip{font-size:var(--text-xs);padding:2px var(--space-xs);border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap;font-weight:600}.obj-chip.is-in_progress{background:var(--accent-info-soft);color:var(--accent-info)}.obj-chip.is-achieved{background:var(--accent-profit-glow);color:var(--accent-profit)}.obj-chip.is-failed{background:var(--accent-loss-glow);color:var(--accent-loss)}.obj-numbers{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.obj-numbers strong{font-size:var(--text-lg);color:var(--text-primary)}.obj-pace.is-ahead{color:var(--accent-profit)}.obj-pace.is-behind{color:var(--accent-warning)}.obj-pace.is-failed{color:var(--accent-loss)}.obj-bar{border-radius:var(--radius-full);background:var(--bg-secondary);height:8px;margin:var(--space-2xs) 0;position:relative}.obj-bar.is-large{height:14px}.obj-bar-fill{height:100%;width:var(--progress,0%);border-radius:var(--radius-full);background:var(--color-primary);transition:width var(--transition-normal)}.obj-bar.is-achieved .obj-bar-fill{background:var(--accent-profit)}.obj-bar.is-failed .obj-bar-fill{background:var(--accent-loss)}.obj-bar-marker{top:-4px;bottom:-4px;left:var(--elapsed,0%);background:var(--text-secondary);border-radius:1px;width:2px;margin-left:-1px;position:absolute}.obj-bar-legend{font-size:var(--text-xs);color:var(--text-muted);margin:0}.obj-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.obj-item{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);display:flex}.obj-item:hover{background:var(--bg-hover)}.obj-item label{align-items:center;gap:var(--space-xs);cursor:pointer;min-width:0;font-size:var(--text-md);color:var(--text-primary);flex:1;display:flex}.obj-item-label{overflow-wrap:anywhere}.obj-item.is-done .obj-item-label{color:var(--text-muted);text-decoration:line-through}.obj-item-date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.obj-item .btn-icon-danger{opacity:.35}.obj-item:hover .btn-icon-danger,.obj-item .btn-icon-danger:focus-visible{opacity:1}.obj-add-row{align-items:center;gap:var(--space-xs);display:flex}.obj-add-row .form-input{flex:1;min-width:0}.obj-entry-form{gap:var(--space-xs);grid-template-columns:1fr 1fr auto;align-items:center;display:grid}.obj-entry-form .form-input{min-width:0}.obj-chart{margin-top:var(--space-2xs)}.obj-history summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.obj-entries{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.obj-entry{align-items:center;gap:var(--space-sm);padding:2px var(--space-xs);border-radius:var(--radius-sm);grid-template-columns:1fr auto auto;display:grid}.obj-entry:hover{background:var(--bg-hover)}.obj-entry.is-best{color:var(--accent-profit);font-weight:600}.obj-kind-toggle .btn{flex:1}@media (width<=768px){.objectives-summary-body{gap:var(--space-md);grid-template-columns:1fr}.objectives-total{font-size:32px}.obj-entry-form{grid-template-columns:1fr 1fr}.obj-entry-form>.btn{grid-column:1/-1}.obj-add-row .btn{flex-shrink:0}.obj-item .btn-icon-danger{opacity:1}}
