:root{--charcoal-deep: #121212;--charcoal-mid: #1e1e1e;--charcoal-surface: #262626;--charcoal-elevated: #2e2e2e;--charcoal-border: #3a3a3a;--gold-primary: #c9a84c;--gold-light: #e8c97a;--gold-muted: #8b6914;--gold-dim: #3d2f0e;--cream-primary: #f5f0e8;--cream-secondary: #e8dcc8;--cream-muted: #b8a88a;--text-light: #f0ece4;--text-secondary: #c8b896;--text-muted: #8a8070;--positive: #4caf88;--negative: #e05252;--warning: #e09a30;--font-serif: "Georgia", "Times New Roman", serif;--font-sans: "Inter", "Segoe UI", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 2px 16px rgba(0, 0, 0, .4);--glow-gold: 0 0 20px rgba(201, 168, 76, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--charcoal-deep);color:var(--text-light);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app-loading,.app-error{min-height:100vh;display:flex;flex-direction:column;align-items:center}.loading-msg,.error-msg{margin-top:3rem;color:var(--text-muted);font-size:1rem}.error-msg{color:var(--negative)}.app-error-banner{background:#e0525226;border:1px solid var(--negative);color:var(--negative);padding:.75rem 2rem;font-size:.875rem}.meridian-header{background:var(--charcoal-mid);border-bottom:1px solid var(--charcoal-border);padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.meridian-header__left{display:flex;align-items:baseline;gap:1.25rem}.meridian-header__wordmark{display:flex;align-items:baseline;gap:2px}.meridian-header__m{font-family:var(--font-serif);font-size:1.6rem;color:var(--gold-primary);letter-spacing:-1px}.meridian-header__name{font-family:var(--font-serif);font-size:1.1rem;letter-spacing:.15em;color:var(--cream-primary)}.meridian-header__wealth{font-size:.7rem;letter-spacing:.25em;color:var(--gold-primary);margin-left:6px;align-self:center}.meridian-header__tagline{font-size:.72rem;color:var(--text-muted);letter-spacing:.05em}.meridian-header__subtitle{font-size:.8rem;color:var(--text-secondary);letter-spacing:.04em}.meridian-header__right{display:flex;align-items:center;gap:1.25rem}.header-actions{display:flex;align-items:center;gap:.5rem}.header-action-btn{background:none;border:1px solid var(--charcoal-border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.75rem;letter-spacing:.04em;padding:.3rem .75rem;cursor:pointer;transition:color .15s,border-color .15s}.header-action-btn:hover{color:var(--cream-primary);border-color:var(--cream-muted)}.header-action-btn--logout:hover{color:var(--negative);border-color:var(--negative)}.dashboard{padding:1.5rem 2rem;flex:1;max-width:1400px;width:100%;margin:0 auto}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.summary-card{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}.summary-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.summary-value{font-size:1.4rem;font-weight:600;color:var(--cream-primary);font-variant-numeric:tabular-nums}.summary-pct{font-size:.85rem;font-weight:400}.positive{color:var(--positive)}.negative{color:var(--negative)}.intraday-panel{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.intraday-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.intraday-panel-title-group{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.intraday-panel-title{font-size:1rem;font-weight:700;color:var(--cream-primary);margin:0}.intraday-panel-meta{font-size:.72rem;color:var(--text-muted)}.intraday-empty{color:var(--muted-text, #888);font-size:.85rem;padding:1.5rem 0 .5rem;text-align:center}.outcome-badge{font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:2px 7px;border-radius:3px;text-transform:uppercase}.outcome-badge--win{background:#4caf882e;color:var(--positive, #4caf88);border:1px solid rgba(76,175,136,.4)}.outcome-badge--loss{background:#e052522e;color:var(--negative, #e05252);border:1px solid rgba(224,82,82,.4)}.outcome-badge--expired{background:#ffffff0f;color:#888;border:1px solid rgba(255,255,255,.12)}.intraday-card--resolved{opacity:.85}.intraday-session-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.intraday-session-tabs{display:flex;gap:4px}.intraday-session-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.4rem .85rem;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#888;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.intraday-session-tab:hover{background:#ffffff12;color:var(--cream-primary)}.intraday-session-tab--active{background:#c9a84c1f;border-color:var(--gold-primary);color:var(--gold-primary)}.intraday-session-tab--empty{opacity:.5}.intraday-session-tab-time{font-size:.68rem;font-family:monospace;color:#888;font-weight:400}.intraday-session-tab--active .intraday-session-tab-time{color:var(--gold-primary);opacity:.75}.intraday-generate-btn{padding:.4rem 1rem;font-size:.8rem}.intraday-yesterday{background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:.85rem 1rem;margin-bottom:1.25rem}.intraday-yesterday-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.6rem}.intraday-yesterday-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888}.intraday-yesterday-summary{font-size:.78rem;color:#aaa}.intraday-yesterday-rows{display:flex;flex-direction:column;gap:.5rem}.intraday-yesterday-session{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.intraday-yesterday-session-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#666;min-width:4rem}.intraday-yesterday-row{display:flex;align-items:center;gap:.5rem}.intraday-yesterday-ticker{font-size:.8rem;font-weight:700;font-family:monospace;color:var(--cream-primary);min-width:4.5rem}.intraday-yesterday-setup{font-size:.75rem;color:#888}.intraday-history{margin-top:2rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem}.intraday-history-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.intraday-history-title{font-size:.95rem;font-weight:600;color:var(--cream-primary);margin:0}.intraday-history-summary{font-size:.78rem;color:#888}.intraday-history-rows{display:flex;flex-direction:column;gap:2px}.history-row{border-radius:4px;overflow:hidden;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.history-row-summary{width:100%;display:flex;align-items:center;gap:1rem;padding:.55rem .85rem;background:none;border:none;cursor:pointer;color:var(--cream-primary);text-align:left}.history-row-summary:hover{background:#ffffff0a}.history-date{font-size:.8rem;font-family:monospace;color:#aaa;min-width:6.5rem}.history-stats{display:flex;gap:.5rem;align-items:center;flex:1}.history-stat{font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:3px}.history-stat--win{color:var(--positive);background:#4caf881f}.history-stat--loss{color:var(--negative);background:#e052521f}.history-stat--expired{color:#888;background:#ffffff0f}.history-stat--rate{color:#bbb;background:none;font-weight:400}.history-stat--pending{color:var(--gold-primary);background:#c9a84c1a;font-weight:400}.history-toggle{font-size:.65rem;color:#666;margin-left:auto}.history-detail{border-top:1px solid rgba(255,255,255,.05);padding:.5rem .85rem .65rem;display:flex;flex-direction:column;gap:.45rem}.history-detail-row{display:flex;align-items:center;gap:.65rem;font-size:.78rem;flex-wrap:wrap}.history-detail-bias{font-size:.65rem!important;padding:1px 5px!important}.history-detail-ticker{font-weight:700;color:var(--cream-primary);min-width:5rem;font-family:monospace;font-size:.8rem}.history-detail-setup{color:#999;flex:1;min-width:10rem}.history-detail-prices{color:#777;font-family:monospace;font-size:.75rem;white-space:nowrap}.intraday-skipped{color:var(--gold-primary);border-left:2px solid var(--gold-primary);padding:.5rem .875rem;background:#c9a84c0f;border-radius:var(--radius-sm);font-size:.82rem}.intraday-market-context{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0;padding:.625rem .875rem;background:#ffffff08;border-radius:var(--radius-sm);border-left:2px solid var(--charcoal-border)}.intraday-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.intraday-card{background:var(--charcoal-elevated);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}.intraday-card--long{border-top:2px solid var(--positive)}.intraday-card--short{border-top:2px solid var(--negative)}.intraday-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.intraday-card-id{display:flex;align-items:center;gap:.5rem}.intraday-bias{font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:.15rem .45rem;border-radius:var(--radius-sm)}.intraday-bias--long{background:#4caf8833;color:var(--positive)}.intraday-bias--short{background:#e0525233;color:var(--negative)}.intraday-ticker{font-size:.95rem;font-weight:700;color:var(--gold-primary)}.intraday-card-badges{display:flex;gap:.35rem}.intraday-company{font-size:.72rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intraday-setup{font-size:.75rem;font-weight:600;color:var(--cream-primary);margin:0}.intraday-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .25rem;padding:.5rem 0;border-top:1px solid var(--charcoal-border);border-bottom:1px solid var(--charcoal-border)}.intraday-price-item{display:flex;flex-direction:column;gap:.1rem}.intraday-price-label{font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.intraday-price-value{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cream-primary)}.intraday-rationale{font-size:.74rem;color:var(--text-muted);line-height:1.5;margin:0}.brief-summary-card{background:var(--charcoal-surface);border:1px solid rgba(201,168,76,.25);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.875rem}.brief-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brief-summary-meta{display:flex;align-items:baseline;gap:.75rem}.brief-summary-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-primary)}.brief-summary-date{font-size:.78rem;color:var(--text-muted)}.brief-summary-view-btn{background:transparent;border:none;color:var(--gold-primary);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;white-space:nowrap;transition:opacity .15s}.brief-summary-view-btn:hover{opacity:.75}.brief-summary-analysis{font-size:.85rem;color:var(--text-secondary);line-height:1.65;margin:0}.brief-summary-footer{display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap}.brief-summary-recs{display:flex;gap:.5rem;flex-shrink:0}.rec-pill{font-size:.68rem;font-weight:700;letter-spacing:.05em;padding:.2rem .6rem;border-radius:999px}.rec-pill--buy{background:#4caf8826;color:var(--positive)}.rec-pill--sell{background:#e0525226;color:var(--negative)}.rec-pill--hold{background:#c9a84c1f;color:var(--gold-primary)}.brief-summary-risk{font-size:.78rem;color:var(--text-muted);line-height:1.5;margin:0;font-style:italic}.news-panel{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem;overflow:hidden;display:flex;flex-direction:column;gap:1rem}.news-panel.loading{opacity:.7}.news-panel-header{display:flex;align-items:center;gap:.75rem}.live-badge{background:#ef444426;color:#ef4444;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;letter-spacing:.05em;animation:pulse-red 2s infinite}.live-badge.loading{background:var(--charcoal-hover);color:var(--text-muted);animation:none}@keyframes pulse-red{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.news-list{display:flex;flex-direction:column;gap:.75rem}.news-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--charcoal-bg);padding:.875rem 1rem;border-radius:var(--radius-md);border:1px solid var(--charcoal-border);transition:border-color .2s,background-color .2s}.news-item:hover{background:var(--charcoal-hover);border-color:#ffffff1a}.news-icon{font-size:1rem;opacity:.7;flex-shrink:0}.news-headline{font-size:.9rem;color:var(--text-main);line-height:1.4;font-weight:500;text-decoration:none}a.news-headline:hover{text-decoration:underline;color:var(--brand-accent, #60a5fa)}.positions-section{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--charcoal-border)}.section-title{font-size:.9rem;font-weight:600;color:var(--text-light);letter-spacing:.04em}.brief-btn{background:var(--gold-primary);color:var(--charcoal-deep);border:none;border-radius:var(--radius-md);padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:background .15s,opacity .15s}.brief-btn:hover:not(:disabled){background:var(--gold-light)}.brief-btn:disabled{opacity:.5;cursor:not-allowed}.brief-btn--view{background:transparent;color:var(--gold-primary);border:1px solid var(--gold-primary)}.brief-btn--view:hover:not(:disabled){background:#c9a84c1a}.table-wrapper{overflow-x:auto}.positions-table{width:100%;border-collapse:collapse}.positions-table th{padding:.6rem 1rem;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--charcoal-border);white-space:nowrap}.positions-table td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid rgba(58,58,58,.5);color:var(--text-light);white-space:nowrap}.positions-table tr:last-child td{border-bottom:none}.positions-table tr:hover td{background:#c9a84c0a}.positions-table .num{text-align:right;font-variant-numeric:tabular-nums}.ticker-cell{font-weight:700;color:var(--gold-primary);font-size:.9rem;display:flex;flex-direction:column;gap:.25rem}.position-signal{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:.1rem .45rem;border-radius:999px;cursor:default;width:fit-content}.position-signal--buy{background:#4caf8826;color:var(--positive)}.position-signal--sell{background:#e0525226;color:var(--negative)}.position-signal--hold{background:#c9a84c1f;color:var(--gold-primary)}.position-signal{cursor:pointer;transition:opacity .15s}.position-signal:hover{opacity:.8}.position-signal--active{outline:1px solid currentColor;outline-offset:1px}.rec-detail-row td{padding:0!important;border-bottom:none!important;background:transparent!important}.rec-detail{background:var(--charcoal-elevated);border-left:3px solid var(--gold-primary);border-bottom:1px solid var(--charcoal-border);padding:.875rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}.rec-detail-badges{display:flex;align-items:center;gap:.5rem}.rec-detail-prices{display:flex;gap:2rem}.rec-detail-price-item{display:flex;flex-direction:column;gap:.1rem}.rec-detail-price-label{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.rec-detail-price-value{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cream-primary)}.rec-detail-ta{font-size:.75rem;color:var(--text-muted);font-style:italic;margin:0;border-left:2px solid var(--charcoal-border);padding-left:.5rem}.rec-detail-ta-label{font-style:normal;font-weight:600;color:var(--gold-muted)}.rec-detail-rationale{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.55}.rec-detail-risk{font-size:.78rem;color:var(--text-muted);margin:0}.rec-detail-risk-label{font-weight:600;color:var(--gold-muted)}.sector-cell{color:var(--text-muted);font-size:.8rem}.account-footer{display:flex;justify-content:space-between;padding:.6rem 1.5rem;font-size:.72rem;color:var(--text-muted);border-top:1px solid var(--charcoal-border)}.brief-panel{padding:1.5rem 2rem;flex:1;max-width:1200px;width:100%;margin:0 auto}.brief-panel-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.back-btn{background:none;border:1px solid var(--charcoal-border);color:var(--text-secondary);border-radius:var(--radius-md);padding:.4rem .9rem;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}.back-btn:hover{border-color:var(--gold-primary);color:var(--gold-primary)}.brief-title{font-size:1.1rem;font-weight:600;color:var(--cream-primary);font-family:var(--font-serif)}.brief-date{margin-left:auto;font-size:.8rem;color:var(--text-muted)}.agent-progress-track{display:flex;align-items:center;gap:0;background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);padding:.875rem 1.5rem;margin-bottom:1.5rem;overflow-x:auto}.agent-step{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;position:relative;flex-shrink:0}.agent-step:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:var(--charcoal-border)}.agent-step-dot{width:8px;height:8px;border-radius:50%;background:var(--charcoal-border);flex-shrink:0}.agent-step--active .agent-step-dot{background:var(--gold-primary);box-shadow:0 0 8px #c9a84c99}.agent-step--done .agent-step-dot{background:var(--positive)}.agent-step-label{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.agent-step--active .agent-step-label{color:var(--gold-primary)}.agent-step--done .agent-step-label{color:var(--text-secondary)}.agent-check{color:var(--positive);font-size:.75rem}.agent-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--gold-dim);border-top-color:var(--gold-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brief-loading-msg{text-align:center;color:var(--text-muted);padding:3rem;font-style:italic}.brief-layout{display:flex;gap:1.5rem;align-items:flex-start}.brief-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.25rem}.brief-history{width:180px;flex-shrink:0;background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:.875rem}.brief-history-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.625rem}.brief-history-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.brief-history-item{display:flex;flex-direction:column;width:100%;padding:.45rem .6rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.brief-history-item:hover:not(:disabled){background:var(--charcoal-elevated);border-color:var(--charcoal-border)}.brief-history-item--active{background:#c9a84c1a;border-color:#c9a84c59}.brief-history-date{font-size:.78rem;font-weight:600;color:var(--cream-primary)}.brief-history-time{font-size:.68rem;color:var(--text-muted)}.brief-section{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.brief-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.rec-count{font-size:.72rem;background:var(--gold-dim);color:var(--gold-light);padding:.15rem .5rem;border-radius:20px;text-transform:none;letter-spacing:0}.brief-text{font-size:.875rem;color:var(--text-secondary);line-height:1.7;white-space:pre-wrap}.trade-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.trade-card{background:var(--charcoal-elevated);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;transition:border-color .2s}.trade-card--pending{border-color:var(--charcoal-border)}.trade-card--executed{border-color:#4caf8866}.trade-card--rejected{border-color:#e052524d;opacity:.6}.trade-card-header{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.trade-action{font-size:.72rem;font-weight:800;letter-spacing:.1em;padding:.2rem .6rem;border-radius:var(--radius-sm)}.trade-action--buy{background:#4caf8833;color:var(--positive)}.trade-action--sell{background:#e0525233;color:var(--negative)}.trade-action--hold{background:#c9a84c26;color:var(--gold-primary)}.trade-card--hold{border-color:#c9a84c40}.trend-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--radius-sm)}.trend-up{background:#4caf881f;color:var(--positive)}.trend-down{background:#e052521f;color:var(--negative)}.trend-sideways{background:#f5f0e814;color:var(--text-muted)}.trade-ticker{font-size:1rem;font-weight:700;color:var(--gold-primary)}.trade-company{font-size:.8rem;color:var(--text-muted);flex:1}.risk-badge{font-size:.68rem;padding:.15rem .5rem;border-radius:20px;font-weight:600;letter-spacing:.05em}.risk-low{background:#4caf8826;color:var(--positive)}.risk-medium{background:#e09a3026;color:var(--warning)}.risk-high{background:#e0525226;color:var(--negative)}.trade-details{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.trade-detail{display:flex;flex-direction:column;gap:.15rem}.detail-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.detail-value{font-size:.875rem;color:var(--text-light);font-variant-numeric:tabular-nums}.trade-technical-basis{font-size:.75rem;color:var(--text-muted);line-height:1.5;font-style:italic;border-left:2px solid var(--charcoal-border);padding-left:.5rem}.technical-basis-label{font-style:normal;font-weight:600;color:var(--gold-muted)}.trade-rationale{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.trade-risk-note{font-size:.78rem;color:var(--text-muted);background:#c9a84c0f;border-left:2px solid var(--gold-muted);padding:.5rem .75rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;line-height:1.5}.risk-note-label{color:var(--gold-muted);font-weight:600}.trade-execution-report{font-size:.78rem;color:var(--text-muted);line-height:1.6;font-style:italic}.trade-actions{display:flex;gap:.625rem;margin-top:.25rem}.trade-btn{flex:1;padding:.5rem;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:opacity .15s}.trade-btn:disabled{opacity:.5;cursor:not-allowed}.trade-btn--approve{background:var(--gold-primary);color:var(--charcoal-deep)}.trade-btn--approve:hover:not(:disabled){background:var(--gold-light)}.trade-btn--reject{background:var(--charcoal-surface);color:var(--text-muted);border:1px solid var(--charcoal-border)}.trade-btn--reject:hover:not(:disabled){border-color:var(--negative);color:var(--negative)}.trade-btn--dismiss{background:transparent;color:var(--text-muted);border:1px solid var(--charcoal-border);flex:1;padding:.5rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:opacity .15s}.trade-btn--dismiss:hover{color:var(--gold-primary);border-color:var(--gold-primary)}.trade-status-badge{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.1em;padding:.35rem;border-radius:var(--radius-sm)}.trade-status-badge--executed{background:#4caf8826;color:var(--positive)}.trade-status-badge--rejected{background:#e052521a;color:var(--negative)}.section-header-actions{display:flex;align-items:center;gap:.625rem}.import-btn{background:none;border:1px solid var(--charcoal-border);color:var(--text-secondary);border-radius:var(--radius-md);padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.import-btn:hover:not(:disabled){border-color:var(--gold-primary);color:var(--gold-primary)}.import-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal{background:var(--charcoal-mid);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);width:100%;max-width:860px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1rem;font-weight:600;color:var(--cream-primary);font-family:var(--font-serif)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;line-height:1;padding:.2rem .4rem;border-radius:var(--radius-sm);transition:color .15s}.modal-close:hover{color:var(--cream-primary)}.import-format-hint{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:.75rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;font-size:.8rem}.hint-label{color:var(--gold-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.import-format-hint code{background:var(--charcoal-elevated);color:var(--gold-light);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.8rem}.hint-note{color:var(--text-muted);font-size:.75rem}.import-upload-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.upload-btn{background:var(--charcoal-surface);border:1px dashed var(--charcoal-border);color:var(--text-secondary);border-radius:var(--radius-md);padding:.6rem 1.25rem;font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.upload-btn:hover{border-color:var(--gold-primary);color:var(--gold-primary)}.detected-cols{font-size:.75rem;color:var(--positive)}.import-error{color:var(--negative);font-size:.85rem}.import-placeholder{color:var(--text-muted);font-size:.875rem;text-align:center;padding:2rem;font-style:italic}.import-summary-row{display:flex;align-items:center;gap:.625rem}.summary-ok-badge{background:#4caf8826;color:var(--positive);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:20px}.summary-err-badge{background:#e052521f;color:var(--negative);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:20px}.import-preview{max-height:280px;overflow-y:auto}.row-error td{opacity:.5}.ok-badge{font-size:.7rem;font-weight:700;color:var(--positive)}.err-badge{font-size:.7rem;font-weight:700;color:var(--negative)}.import-cash-row{display:flex;align-items:center;gap:1rem}.import-cash-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.import-cash-input{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);color:var(--text-light);font-size:.875rem;padding:.5rem .75rem;width:220px;transition:border-color .15s}.import-cash-input:focus{outline:none;border-color:var(--gold-primary)}.import-cash-input::placeholder{color:var(--text-muted)}.import-actions{display:flex;justify-content:flex-end;gap:.75rem}.cancel-btn{background:none;border:1px solid var(--charcoal-border);color:var(--text-muted);border-radius:var(--radius-md);padding:.55rem 1.25rem;font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.cancel-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-light)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn{background:var(--gold-primary);color:var(--charcoal-deep);border:none;border-radius:var(--radius-md);padding:.55rem 1.5rem;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s}.confirm-btn:hover:not(:disabled){background:var(--gold-light)}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.row-actions{white-space:nowrap;text-align:right;padding-right:.75rem!important}.row-btn{background:none;border:none;font-size:.75rem;font-weight:600;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);transition:background .12s,color .12s;letter-spacing:.02em}.row-btn--edit{color:var(--text-muted)}.row-btn--edit:hover{color:var(--gold-primary);background:var(--gold-dim)}.row-btn--remove{color:var(--text-muted)}.row-btn--remove:hover{color:var(--negative);background:#e052521a}.position-modal{max-width:560px}.live-spinner{display:inline-block;width:8px;height:8px;border:1.5px solid var(--gold-dim);border-top-color:var(--gold-primary);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-left:4px}.price-loading{opacity:.45;transition:opacity .3s}.price-fetch-note{font-size:.8rem;color:var(--positive);background:#4caf8814;border:1px solid rgba(76,175,136,.2);border-radius:var(--radius-sm);padding:.5rem .75rem}.position-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:.875rem;flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:.35rem;min-width:140px}.form-field--grow{flex:1}.form-field label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.required{color:var(--negative);margin-left:2px}.form-field input{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);color:var(--text-light);font-size:.875rem;padding:.5rem .75rem;width:100%;transition:border-color .15s}.form-field input:focus{outline:none;border-color:var(--gold-primary)}.form-field input::placeholder{color:var(--text-muted)}.form-field input:disabled{opacity:.5;cursor:not-allowed}.form-error{color:var(--negative);font-size:.82rem;background:#e0525214;border:1px solid rgba(224,82,82,.25);border-radius:var(--radius-sm);padding:.5rem .75rem}.positions-cards{display:none}.position-card{background:var(--charcoal-elevated);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.6rem}.position-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.position-card-left{display:flex;flex-direction:column;gap:.3rem}.position-card-ticker{font-size:1rem;font-weight:700;color:var(--gold-primary)}.position-card-mv{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.position-card-mv-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.position-card-mv-value{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cream-primary)}.position-card-company{font-size:.78rem;color:var(--text-muted)}.position-card-sector{color:var(--text-muted);font-size:.75rem}.position-card-prices{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;padding:.5rem 0;border-top:1px solid var(--charcoal-border);border-bottom:1px solid var(--charcoal-border)}.position-card-price-item{display:flex;flex-direction:column;gap:.1rem}.position-card-price-label{font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.position-card-price-value{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cream-primary)}.position-card-actions{display:flex;gap:.5rem}.position-card-actions .row-btn{flex:1;padding:.5rem;font-size:.8rem;border:1px solid var(--charcoal-border);border-radius:var(--radius-sm);text-align:center;min-height:36px}.position-card-actions .row-btn--edit:hover{border-color:var(--gold-primary)}.position-card-actions .row-btn--remove:hover{border-color:var(--negative)}@media(max-width:900px){.brief-layout{flex-direction:column}.brief-history{width:100%}.brief-history-list{flex-direction:row;flex-wrap:wrap}.brief-history-item{flex-direction:row;align-items:center;gap:.5rem}.trade-cards-grid{grid-template-columns:1fr}}@media(max-width:640px){body{font-size:13px}.meridian-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.meridian-header__tagline{display:none}.meridian-header__subtitle{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.meridian-header__m{font-size:1.3rem}.meridian-header__name{font-size:.9rem}.dashboard{padding:.875rem}.summary-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:1rem}.summary-card{padding:.75rem .875rem}.summary-value{font-size:1.15rem}.brief-summary-header{flex-direction:column;align-items:flex-start;gap:.5rem}.brief-summary-view-btn{align-self:flex-end}.intraday-panel{padding:1rem}.intraday-panel-header{flex-direction:column;align-items:flex-start;gap:.5rem}.intraday-panel-header .import-btn{width:100%;padding:.65rem;min-height:40px}.intraday-grid{grid-template-columns:1fr}.history-detail-setup,.history-detail-prices{display:none}.history-detail-row{gap:.4rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.875rem 1rem}.section-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.section-header-actions .brief-btn{grid-column:span 2;padding:.65rem;min-height:40px}.section-header-actions .import-btn{padding:.55rem .5rem;font-size:.78rem;min-height:40px}.positions-cards{display:flex;flex-direction:column;gap:.625rem;padding:.75rem}.table-wrapper{display:none}.account-footer{flex-direction:column;gap:.2rem;padding:.6rem 1rem}.brief-panel{padding:.875rem}.brief-panel-header{gap:.75rem;margin-bottom:1rem}.brief-title{font-size:.95rem}.brief-section{padding:1rem}.modal-overlay{padding:0;align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;padding:1.25rem 1rem}.form-field input,.import-cash-input{padding:.65rem .75rem;font-size:16px}.confirm-btn,.cancel-btn{padding:.7rem 1rem;min-height:44px}.trade-btn{padding:.65rem;min-height:44px}.rec-detail-prices{gap:1rem;flex-wrap:wrap}.app-error-banner{padding:.75rem 1rem}}.technical-indicators-panel{display:flex;flex-wrap:wrap;gap:1.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-top:.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.indicator-group{display:flex;flex-direction:column;gap:.4rem}.indicator-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.neon-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:700;border-radius:var(--radius-sm);letter-spacing:.04em;color:var(--charcoal-deep);box-shadow:0 0 10px #00000080;transition:transform .2s,box-shadow .2s}.neon-badge:hover{transform:translateY(-1px)}.neon-badge--bullish{background:var(--positive);box-shadow:0 0 8px #4caf8899}.neon-badge--bearish{background:var(--negative);box-shadow:0 0 8px #e0525299}.rsi-group{flex:1;min-width:15rem}.rsi-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.rsi-value{font-size:.8rem;font-weight:700;letter-spacing:.02em}.rsi-gauge-track{position:relative;height:6px;background:var(--charcoal-border);border-radius:999px;overflow:hidden}.rsi-gauge-fill{position:absolute;top:0;left:0;bottom:0;border-radius:999px;transition:width .8s cubic-bezier(.4,0,.2,1)}.rsi-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--charcoal-deep);z-index:2;opacity:.5}.sma-badges{display:flex;gap:.5rem}.sma-badge{font-size:.72rem;font-weight:600;color:var(--gold-light);background:#c9a84c1f;padding:.2rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(201,168,76,.3)}.recommendation-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:0 2rem}@media(max-width:1024px){.recommendation-panels{grid-template-columns:1fr;margin:0 1rem}}.swing-panel{background:var(--charcoal-surface);border:1px solid var(--charcoal-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.swing-panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.swing-panel-title{font-family:var(--font-serif);font-size:1.15rem;color:var(--gold-light);margin-bottom:.2rem}.swing-panel-meta{font-size:.75rem;color:var(--text-muted)}.swing-panel-actions{display:flex;gap:.5rem;flex-shrink:0}.swing-view-full-btn{background:transparent;border:1px solid var(--gold-muted);color:var(--gold-primary);padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .2s}.swing-view-full-btn:hover{background:var(--gold-dim);border-color:var(--gold-primary)}.swing-empty{color:var(--text-muted);font-size:.85rem;padding:1.5rem 0;text-align:center}.swing-grid{display:flex;flex-direction:column;gap:.75rem}.swing-card{background:var(--charcoal-elevated);border:1px solid var(--charcoal-border);border-radius:var(--radius-md);padding:.85rem;transition:border-color .2s,box-shadow .2s}.swing-card:hover{border-color:var(--gold-muted);box-shadow:0 0 12px #c9a84c14}.swing-card--buy{border-left:3px solid var(--positive)}.swing-card--sell{border-left:3px solid var(--negative)}.swing-card--hold{border-left:3px solid var(--warning)}.swing-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:.5rem}.swing-card-id{display:flex;align-items:center;gap:.5rem}.swing-action{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.swing-action--buy{background:#4caf8833;color:var(--positive)}.swing-action--sell{background:#e0525233;color:var(--negative)}.swing-action--hold{background:#e09a3033;color:var(--warning)}.swing-ticker{font-weight:700;font-size:.9rem;color:var(--text-light)}.swing-company{font-size:.75rem;color:var(--text-muted)}.swing-card-badges{display:flex;gap:.4rem;align-items:center}.swing-toggle{font-size:.65rem;color:var(--text-muted);margin-left:.25rem}.swing-prices{display:flex;gap:1rem;margin-top:.65rem;flex-wrap:wrap}.swing-price-item{display:flex;flex-direction:column;gap:.1rem}.swing-price-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.swing-price-value{font-size:.8rem;font-weight:600;color:var(--text-light)}.swing-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--charcoal-border)}.swing-ta,.swing-rationale,.swing-risk{font-size:.78rem;color:var(--text-secondary);margin-bottom:.4rem;line-height:1.45}.swing-ta-label,.swing-risk-label{font-weight:600;color:var(--gold-primary)}.swing-generating-dot{display:inline-block;width:8px;height:8px;background:var(--gold-primary);border-radius:50%;margin-right:.5rem;animation:swing-pulse 1.5s ease-in-out infinite;vertical-align:middle}@keyframes swing-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.backtest-panel{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.backtest-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.backtest-title{font-family:Georgia,serif;font-size:1.25rem;color:var(--gold-primary);margin:0;flex:1}.backtest-subtitle{font-size:.75rem;color:var(--cream-muted, #a09880)}.backtest-loading{text-align:center;color:var(--cream-muted, #a09880);padding:2rem}.backtest-overall-card{background:var(--charcoal-surface);border:1px solid var(--border-subtle, #333);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.backtest-overall-record{display:flex;gap:.5rem;align-items:baseline;font-size:1.75rem;font-weight:600;margin-bottom:1rem}.backtest-record-win{color:var(--positive)}.backtest-record-loss{color:var(--negative)}.backtest-record-expired{color:var(--cream-muted, #a09880)}.backtest-record-sep{color:var(--border-subtle, #555);font-weight:300}.backtest-overall-stats{display:flex;gap:2rem}.backtest-stat-item{display:flex;flex-direction:column;gap:.2rem}.backtest-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cream-muted, #a09880)}.backtest-stat-value{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.backtest-coverage-note{margin:.75rem 0 0;font-size:.72rem;color:var(--cream-muted, #a09880);font-style:italic}.backtest-insufficient{background:var(--charcoal-surface);border:1px dashed var(--border-subtle, #444);border-radius:8px;padding:2rem;text-align:center}.backtest-insufficient-title{font-size:1rem;font-weight:600;color:var(--cream-primary);margin:0 0 .5rem}.backtest-insufficient-body{font-size:.8rem;color:var(--cream-muted, #a09880);line-height:1.6;margin:0}.backtest-section{margin-bottom:1rem;border:1px solid var(--border-subtle, #333);border-radius:6px;overflow:hidden}.backtest-section-title{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;background:var(--charcoal-mid);border:none;color:var(--cream-primary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.backtest-section-title:hover{background:var(--charcoal-surface)}.backtest-section-body{padding:.5rem 0;background:var(--charcoal-deep)}.backtest-row{display:grid;grid-template-columns:90px 40px 1fr 54px 70px;gap:.5rem;align-items:center;padding:.4rem 1rem;font-size:.8rem}.backtest-row--header{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cream-muted, #a09880);border-bottom:1px solid var(--border-subtle, #333);margin-bottom:.25rem}.backtest-row:not(.backtest-row--header):hover{background:var(--charcoal-surface)}.backtest-row-label{color:var(--cream-primary);font-variant-numeric:tabular-nums}.backtest-row-total{text-align:right;color:var(--cream-muted, #a09880)}.backtest-row-rate{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.backtest-row-return{text-align:right;font-variant-numeric:tabular-nums}.backtest-bar{height:8px;background:var(--charcoal-surface);border-radius:4px;overflow:hidden}.backtest-bar-fill{height:100%;background:var(--gold-primary);border-radius:4px;transition:width .3s ease}.backtest-monthly{padding:.75rem 1rem}.backtest-monthly-row{display:grid;grid-template-columns:70px 1fr 100px;gap:.75rem;align-items:center;padding:.3rem 0}.backtest-monthly-label{font-size:.75rem;color:var(--cream-muted, #a09880);font-variant-numeric:tabular-nums}.backtest-monthly-bar-track{height:10px;background:var(--charcoal-surface);border-radius:5px;overflow:hidden}.backtest-monthly-bar-fill{height:100%;border-radius:5px;transition:width .3s ease}.backtest-monthly-bar--win{background:var(--positive)}.backtest-monthly-bar--loss{background:var(--negative)}.backtest-monthly-rate{font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.backtest-monthly-n{font-weight:400;color:var(--cream-muted, #a09880)}.backtest-ticker-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle, #333)}.backtest-ticker-col{background:var(--charcoal-deep);padding:.75rem 1rem}.backtest-ticker-col-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.backtest-ticker-row{display:flex;gap:.5rem;align-items:center;padding:.3rem 0;font-size:.8rem;border-bottom:1px solid var(--border-subtle, #2a2a2a)}.backtest-ticker-row:last-child{border-bottom:none}.backtest-ticker-name{flex:1;color:var(--cream-primary);font-weight:500}.backtest-ticker-n{font-size:.7rem;color:var(--cream-muted, #a09880)}@media(max-width:600px){.backtest-row{grid-template-columns:70px 32px 1fr 44px 60px;font-size:.72rem}.backtest-ticker-grid{grid-template-columns:1fr}.backtest-overall-stats{gap:1rem;flex-wrap:wrap}}.backtest-sim-section{background:var(--charcoal-surface);border:1px solid var(--border-subtle, #333);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.backtest-sim-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.backtest-sim-title{display:block;font-size:.85rem;font-weight:600;color:var(--cream-primary)}.backtest-sim-desc{display:block;font-size:.72rem;color:var(--cream-muted, #a09880);margin-top:.2rem}.backtest-sim-actions{display:flex;gap:.5rem;flex-shrink:0}.backtest-sim-btn{flex-shrink:0}.backtest-sim-progress-bar{height:4px;background:var(--charcoal-mid);border-radius:2px;margin-top:.75rem;overflow:hidden}.backtest-sim-progress-fill{height:100%;background:var(--gold-primary);border-radius:2px;transition:width .4s ease}.backtest-sim-log{margin-top:.75rem;max-height:180px;overflow-y:auto;background:var(--charcoal-deep);border-radius:4px;padding:.5rem .75rem;font-family:Courier New,monospace;font-size:.72rem}.backtest-sim-log-line{color:var(--cream-muted, #a09880);line-height:1.6;white-space:pre-wrap}.backtest-sim-log-line:last-child{color:var(--cream-primary)}.auth-loading{min-height:100vh;background:var(--charcoal-deep)}.login-page{min-height:100vh;background:var(--charcoal-deep);display:flex;align-items:center;justify-content:center;padding:24px}.login-box{background:var(--charcoal-mid);border:1px solid #2a2a2a;border-radius:12px;padding:48px 40px;width:100%;max-width:380px;text-align:center}.login-brand{font-family:Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--gold-primary);margin-bottom:8px}.login-subtitle{font-size:12px;color:#555;letter-spacing:.05em;margin-bottom:40px}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#666}.login-input{background:var(--charcoal-surface);border:1px solid #333;border-radius:6px;padding:10px 12px;color:var(--cream-primary);font-size:14px;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--gold-primary)}.login-error{font-size:13px;color:var(--negative);text-align:center}.login-btn{background:var(--gold-primary);color:#1a1400;border:none;border-radius:6px;padding:11px;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;margin-top:8px;transition:opacity .15s}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:disabled{opacity:.5;cursor:not-allowed}
