:root{--bg-app:#0b0d12;--bg-panel:#11141b;--bg-panel-elev:#161a23;--bg-sidebar:#0d1018;--border:#1f2533;--border-strong:#2b3344;--text:#e6e8ee;--text-dim:#9aa3b2;--text-muted:#6b7283;--accent:#6c8cff;--accent-soft:#6c8cff29;--accent-strong:#8aa3ff;--danger:#f08688;--danger-soft:#f086881a;--shadow:0 12px 32px #00000059;--radius:12px;--radius-sm:8px;--sidebar-width:248px;--sidebar-width-collapsed:64px;--topbar-height:72px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Inter,sans-serif;font-size:14px;line-height:1.5}.app-loading-screen{color:#eef1f7;background:#0a0d14;place-content:center;justify-items:center;gap:10px;min-height:100vh;display:grid}.app-loading-mark{color:#9caeff;background:#5263be33;border:1px solid #8799ff59;border-radius:15px;place-items:center;width:52px;height:52px;font-size:22px;font-weight:800;display:grid}.app-loading-screen small{color:#80889a}.auth-page{background:radial-gradient(circle at 50% 5%, #6c8cff21, transparent 34%), var(--bg-app);place-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:auto}.auth-page:before{pointer-events:none;content:"";opacity:.18;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:36px 36px;position:fixed;inset:0}.auth-card{z-index:1;border:1px solid var(--border-strong);background:#11141bf5;border-radius:16px;gap:24px;width:min(440px,100%);padding:28px;display:grid;position:relative;box-shadow:0 28px 72px #0000007a}.auth-configuration-card{width:min(520px,100%)}.auth-brand{align-items:center;gap:11px;display:flex}.auth-brand-mark{background:var(--accent-soft);border:1px solid #8aa3ff59;border-radius:12px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.auth-brand-image{object-fit:contain;width:68px;max-width:none;height:68px;display:block;transform:translate(-12px,-8px)}.auth-brand div{gap:1px;display:grid}.auth-brand strong{color:var(--text);font-size:14px}.auth-brand div span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.auth-heading{gap:7px;display:grid}.auth-eyebrow{color:var(--accent-strong);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:650}.auth-heading h1{color:#f1f3f8;margin:0;font-size:clamp(24px,5vw,30px);line-height:1.2}.auth-heading p,.auth-privacy-note{color:var(--text-dim);margin:0}.auth-form{gap:16px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form label>span{color:#c9ced8;font-size:12px;font-weight:600}.auth-form input{border:1px solid var(--border-strong);width:100%;height:43px;color:var(--text);font:inherit;background:#0d1017;border-radius:9px;outline:none;padding:0 12px}.auth-form input::placeholder{color:#596173}.auth-form input:focus{border-color:#8aa3ffbf;box-shadow:0 0 0 3px #6c8cff1c}.auth-actions{gap:9px;padding-top:3px;display:grid}.auth-primary-button,.auth-secondary-button{border:1px solid #0000;border-radius:9px;min-height:42px;padding:9px 14px;font-weight:650}.auth-primary-button{background:var(--accent);color:#fff}.auth-primary-button:hover{background:#7b98ff}.auth-secondary-button{border-color:var(--border-strong);background:var(--bg-panel-elev);color:#d9dde6}.auth-secondary-button:hover{background:#1a1f2b;border-color:#3b465e}.auth-status{border:1px solid;border-radius:8px;margin:-7px 0 0;padding:10px 12px;font-size:12px}.auth-status.error{background:var(--danger-soft);color:#f3a0a2;border-color:#f0868859}.auth-status.success{color:#7cdfa8;background:#6cd49a14;border-color:#6cd49a59}.auth-privacy-note{border-top:1px solid var(--border);padding-top:18px;font-size:11px;line-height:1.55}.auth-configuration-values{gap:8px;display:grid}.auth-configuration-values code{overflow-wrap:anywhere;border:1px solid var(--border);color:#b7c4ff;background:#0d1017;border-radius:8px;padding:10px 12px;font-size:12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg-app);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;background:var(--bg-app);width:100vw;height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.app-main{flex-direction:column;min-width:0;min-height:0;display:flex}.database-upgrade-notice{z-index:1200;border:1px solid;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;width:min(560px,100vw - 32px);min-height:68px;padding:14px 14px 14px 16px;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #00000080}.database-upgrade-notice.success{color:#76e0ad;background:#10211c;border-color:#76e0ad6b}.database-upgrade-notice.error{color:#ff9da0;background:#291719;border-color:#ff9da075}.database-upgrade-notice-copy{gap:3px;min-width:0;display:grid}.database-upgrade-notice-copy strong{color:var(--text);font-size:14px}.database-upgrade-notice-copy span{color:#c8cdd7;font-size:13px;line-height:1.45}.database-upgrade-notice-dismiss{color:currentColor;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;margin-top:-4px;display:inline-flex}.database-upgrade-notice-dismiss:hover{background:#ffffff14}.app-content{flex:1;min-height:0;padding:28px 36px 36px;overflow:auto}.app-content-dashboard{padding-bottom:28px;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:18px 12px 16px;display:flex;overflow:hidden auto}.brand{flex-direction:column;align-items:center;min-height:56px;padding:0 2px 6px;display:flex;position:relative}.brand-toggle{border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:48px;padding:0;display:inline-flex;position:relative;overflow:hidden}.brand-toggle:hover{background:#ffffff09}.brand-toggle-compact{width:40px;height:40px}.brand-lockup-image{pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;width:200px;height:auto}.brand-symbol-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;width:58px;height:58px}.brand-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:9px;position:absolute;bottom:0;right:8px}.sidebar.collapsed .brand{min-height:40px;padding:0}.account-context-picker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);min-width:0;height:40px;color:var(--text-dim);align-items:center;gap:8px;padding:0 10px;display:inline-flex}.account-context-picker select{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-family:inherit;font-size:13px}.account-context-picker select:disabled{color:var(--text-muted)}.sidebar.collapsed .account-context-picker{justify-content:center;width:40px;padding:0}.sidebar.collapsed .account-context-picker select{display:none}.nav-list{flex-direction:column;gap:12px;margin:2px 0 0;display:flex}.sidebar-bottom{flex-direction:column;gap:12px;margin-top:auto;display:flex}.nav-list-bottom{margin-top:0}.sidebar-plan-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg, #6c8cff14, transparent), var(--bg-panel);flex-direction:column;gap:6px;padding:8px;display:flex}.sidebar-plan-header{color:var(--accent-strong);align-items:flex-start;gap:8px;display:flex}.sidebar-plan-easter-trigger{text-align:left;border-radius:6px;width:100%;padding:0}.sidebar-plan-easter-trigger:hover{color:var(--accent-strong)}.sidebar-plan-header div{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sidebar-plan-header strong{color:var(--text);font-size:12px}.sidebar-plan-header span,.sidebar-plan-balance span,.sidebar-plan-row-label,.sidebar-plan-title,.sidebar-plan-rules span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.sidebar-plan-balance{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-bottom:5px;display:flex}.sidebar-plan-balance strong{color:var(--text);font-size:12px}.sidebar-easter-egg{background:#6c8cff1a;border:1px solid #6c8cff57;border-radius:6px;gap:4px;padding:8px 24px 8px 8px;display:grid;position:relative}.sidebar-easter-egg strong{color:var(--text);font-size:11px}.sidebar-easter-egg p{color:var(--text-dim);margin:0;font-size:10.5px;line-height:1.35}.sidebar-easter-play{width:max-content;color:var(--accent-strong);background:#6c8cff1f;border:1px solid #6c8cff61;border-radius:5px;align-items:center;gap:5px;margin-top:3px;padding:4px 7px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-easter-play:hover{color:var(--text);background:#6c8cff2e}.sidebar-easter-close{color:var(--text-muted);display:inline-flex;position:absolute;top:6px;right:6px}.sidebar-easter-close:hover{color:var(--text)}.sidebar-plan-section,.sidebar-plan-rules{flex-direction:column;gap:4px;display:flex}.sidebar-plan-title{color:var(--text-dim);margin:0}.sidebar-plan-grid{grid-template-columns:34px repeat(3,minmax(0,1fr));align-items:stretch;gap:3px;display:grid}.sidebar-plan-grid>span:not(.sidebar-plan-row-label):not(.sidebar-plan-token){color:var(--text-muted);text-transform:uppercase;align-self:end;font-size:9px}.sidebar-plan-row-label{color:var(--text-muted);text-transform:uppercase;align-self:center;font-size:10px}.sidebar-plan-token{background:#161a23b3;border:1px solid #2b3344ad;border-radius:5px;justify-content:center;align-items:center;min-width:0;min-height:20px;padding:3px 2px;line-height:1.1;display:flex}.sidebar-plan-token strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:600;overflow:hidden}.sidebar-plan-token.success,.sidebar-plan-rule.safe{background:#6cd49a24;border-color:#6cd49a94}.sidebar-plan-token.success strong,.sidebar-plan-rule.safe strong{color:#91e4b5}.sidebar-plan-rule.warning{background:#f5be5c29;border-color:#f5be5cb3}.sidebar-plan-rule.warning strong{color:#f5be5c}.sidebar-plan-token.danger,.sidebar-plan-rule.alarm{background:#f0868829;border-color:#f08688c7}.sidebar-plan-token.danger strong,.sidebar-plan-rule.alarm strong{color:#ff9a9c}.sidebar-plan-rule.alarm{animation:.9s ease-in-out infinite sidebar-milestone-alarm}.sidebar-plan-token span{display:none}.sidebar-plan-rules{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.sidebar-plan-rules .sidebar-plan-title{grid-column:1/-1}.sidebar-plan-rules div{text-align:center;background:#161a238c;border:1px solid #2b3344ad;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:30px;padding:3px;display:flex}.sidebar-plan-rules strong{color:var(--text);font-size:11px}@keyframes sidebar-milestone-alarm{50%{box-shadow:0 0 0 1px #f0868880}}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-dim);text-align:left;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}.nav-item:hover{background:var(--bg-panel);color:var(--text)}.nav-item:disabled{cursor:default;opacity:.72}.nav-item:disabled:hover{color:var(--text-dim);background:0 0}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:500}.nav-list form,.sidebar-sign-out-button{width:100%}.sidebar-update-status{color:var(--text-muted);margin:-6px 10px 0;font-size:11px;line-height:1.35}.sidebar-update-status.success{color:#6cd49a}.sidebar-update-status.error{color:#f08688}.spin-icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar.collapsed .nav-list{align-items:center;padding-left:0}.sidebar.collapsed .nav-section{align-items:center}.sidebar.collapsed .nav-item{justify-content:center;padding:8px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .sidebar-update-status,.sidebar.collapsed .sidebar-plan-panel{display:none}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);background:var(--bg-app);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 36px;display:flex}.topbar .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:11px}.topbar h1{color:var(--text);margin:4px 0 0;font-size:20px;font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex;position:relative}.topbar-notification-button{position:relative}.topbar-notification-count{border:2px solid var(--bg-app);background:var(--accent);color:#0b0d12;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;font-weight:800;display:grid;position:absolute;top:2px;right:2px}.topbar-panel{z-index:80;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);width:min(390px,100vw - 32px);box-shadow:var(--shadow);position:absolute;top:44px;right:0;overflow:hidden}.topbar-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.topbar-panel-header strong{font-size:13px}.topbar-panel-header .icon-button{width:28px;height:28px}.topbar-search-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);color:var(--text-muted);align-items:center;gap:8px;margin:10px;padding:8px 10px;display:flex}.topbar-search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.topbar-panel-list{max-height:390px;padding:4px 8px 8px;display:grid;overflow-y:auto}.topbar-panel-list button{border-radius:var(--radius-sm);color:var(--text);text-align:left;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.topbar-panel-list button:hover{background:var(--bg-panel-elev)}.topbar-panel-list button strong{font-size:12px;font-weight:650}.topbar-panel-list button span,.topbar-panel-empty{color:var(--text-muted);font-size:11px}.topbar-panel-empty{text-align:center;margin:0;padding:18px 10px}.topbar-notice.warning{border-left:2px solid #f5b86b}.topbar-notice.info{border-left:2px solid var(--accent-strong)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-dim);justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-button:hover{background:var(--bg-panel);color:var(--text)}.placeholder-module{min-height:calc(100vh - var(--topbar-height) - 64px);justify-content:center;align-items:center;display:flex}.placeholder-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:520px;box-shadow:var(--shadow);padding:36px 40px}.placeholder-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.placeholder-card h2{margin:0 0 8px;font-size:20px;font-weight:600}.placeholder-card p{color:var(--text-dim);margin:0 0 4px}.placeholder-foot{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;margin-top:18px!important}.settings{flex-direction:column;gap:18px;min-height:100%;display:flex}.settings-workspace{flex:1;grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.settings-sidebar{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex}.settings-nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-dim);text-align:left;align-items:flex-start;gap:10px;padding:10px;transition:background .12s,color .12s;display:flex}.settings-nav-item svg{color:var(--text-muted);flex:none;margin-top:2px}.settings-nav-item span{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-nav-item strong{color:inherit;font-size:13px;font-weight:650}.settings-nav-item small{color:var(--text-muted);font-size:11px;line-height:1.35}.settings-nav-item.active,.settings-nav-item:hover{background:var(--accent-soft);color:var(--text)}.settings-nav-item.active svg{color:var(--accent-strong)}.settings-content{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.settings-section{flex-direction:column;gap:16px;padding:16px;display:flex}.settings-section-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.settings-section-header h4{align-items:center;gap:8px;margin:0 0 4px;font-size:15px;font-weight:650;display:flex}.settings-section-header h4 svg{color:var(--accent-strong)}.settings-section-header p{color:var(--text-muted);margin:0;font-size:12px}.settings-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);flex-direction:column;gap:2px;min-width:190px;padding:8px 10px;display:flex}.settings-preview span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.settings-preview strong{color:var(--text);font-size:13px;font-weight:650}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,220px));gap:12px;display:grid}.settings-check-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-height:38px;color:var(--text);align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-check-field input{width:16px;height:16px;accent-color:var(--accent-strong)}.settings-check-field span{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-check-field strong{font-size:12px;font-weight:650}.settings-check-field small{color:var(--text-muted);font-size:11px}.settings-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-data-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid}.settings-data-card>svg{color:var(--accent-strong)}.settings-data-card h5{color:var(--text);margin:0 0 4px;font-size:13px}.settings-data-card p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.45}.settings-data-card button{grid-column:1/-1;justify-self:flex-start}.settings-data-note,.settings-data-status{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);color:var(--text-muted);margin:0;padding:9px 10px;font-size:12px}.settings-data-status.success{color:#8ed6aa}.settings-data-status.error,.account-action-error{color:#ff9c9c}@media (max-width:860px){.settings-workspace{grid-template-columns:1fr}.settings-sidebar{flex-direction:row;overflow-x:auto}.settings-nav-item{width:auto;min-width:190px}.settings-section-header{flex-direction:column}.settings-field-grid,.settings-data-grid{grid-template-columns:1fr}}.sidebar::-webkit-scrollbar{width:10px}.app-content::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.app-content::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.app-content::-webkit-scrollbar-track{background:0 0}.page-subtitle{color:var(--text-dim);margin:6px 0 0;font-size:13px}.primary-button{border-radius:var(--radius-sm);background:var(--accent);color:#0b0d12;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .12s,transform .12s;display:inline-flex}.primary-button:hover{background:var(--accent-strong)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button{border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text);border:1px solid var(--border);align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.ghost-button:hover{background:var(--bg-panel-elev);border-color:var(--border-strong)}.danger-button{color:#ff9c9c;border-color:#ff787847}.danger-button:hover{background:#ff787814;border-color:#ff78787a}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-header h3{margin:0;font-size:14px;font-weight:600}.panel-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.panel-body{padding:18px}.dashboard{flex-direction:column;gap:10px;display:flex}.dash-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.dash-metric{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);align-items:center;gap:9px;min-width:0;padding:9px 10px;display:flex}.dash-metric-icon{background:var(--bg-panel-elev);width:28px;height:28px;color:var(--accent-strong);border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.dash-metric>div{gap:1px;min-width:0;display:grid}.dash-metric span,.dash-compact-row span,.dash-mini-row span,.dash-metric small{color:var(--text-muted);font-size:10px}.dash-metric span,.dash-compact-row span{letter-spacing:.06em;text-transform:uppercase}.dash-metric strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.dash-positive{border-color:#4cc88242}.dash-positive .dash-metric-icon,.positive{color:#6cd49a}.dash-negative{border-color:#e8585a42}.dash-negative .dash-metric-icon,.negative{color:#f08688}.dash-warning{border-color:#f5b86c52}.dash-warning .dash-metric-icon,.warning{color:#f5b86c}.flat{color:var(--text-dim)}.dashboard-compact-grid{grid-template-columns:minmax(380px,1.25fr) minmax(220px,.75fr) minmax(220px,.75fr);align-items:stretch;gap:10px;display:grid}.dash-panel{min-width:0}.dash-panel .panel-header{padding:10px 12px}.dash-panel .panel-header h3{font-size:13px}.dash-panel .panel-tag{align-items:center;gap:4px;display:inline-flex}.dash-calendar{background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:10px;display:grid}.dash-calendar-weekday{background:var(--bg-panel-elev);color:var(--text-muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:4px 0;font-size:9px;font-weight:700}.dash-calendar-day{background:var(--bg-panel);min-height:43px;color:var(--text-muted);align-content:space-between;gap:1px;padding:5px;font-size:10px;display:grid}.dash-calendar-day.outside{opacity:.42}.dash-calendar-day.positive{background:linear-gradient(135deg, #4cc8823d, #4cc8820d), var(--bg-panel)}.dash-calendar-day.negative{background:linear-gradient(135deg, #e8585a3d, #e8585a0d), var(--bg-panel)}.dash-calendar-day.flat:not(.empty){background:linear-gradient(135deg, #f5b86c26, #f5b86c0a), var(--bg-panel)}.dash-calendar-day span{font-size:10px;font-weight:700}.dash-calendar-day strong,.dash-calendar-day small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-calendar-day strong{color:var(--text);font-size:10px}.dash-calendar-day small{color:var(--text-muted);font-size:9px;font-weight:700}.dash-compact-list,.dash-attention-list,.dash-mini-table{background:var(--border);gap:1px;padding:10px;display:grid}.dash-compact-row,.dash-attention-item,.dash-mini-row{background:var(--bg-panel-elev);align-items:center;gap:8px;min-width:0;padding:7px 9px;display:grid}.dash-compact-row{grid-template-columns:minmax(0,1fr) auto}.dash-compact-row strong{text-align:right;white-space:nowrap;font-size:12px;font-weight:700}.dash-attention-item{color:var(--text-dim);grid-template-columns:16px minmax(0,1fr);font-size:12px}.dash-attention-item.done svg{color:#6cd49a}.dash-attention-item.missing svg{color:#f5b86c}.dash-attention-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-mini-row{grid-template-columns:42px minmax(44px,1fr) 48px 70px;font-size:12px}.dash-mini-row.strategy{grid-template-columns:minmax(0,1fr) 34px 54px 76px}.dash-mini-row strong,.dash-mini-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-mini-row strong{color:var(--text);font-size:12px}.dash-mini-row span:last-child{text-align:right;font-weight:700}.dash-momentum{background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:10px;display:grid}.dash-momentum>div{background:var(--bg-panel-elev);justify-items:center;gap:3px;min-width:0;padding:12px 8px;display:grid}.dash-momentum strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dash-momentum span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}@media (max-width:1250px){.dash-metric-grid,.dashboard-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dash-metric-grid,.dashboard-compact-grid{grid-template-columns:1fr}}.dash-summary-stack{display:grid}.dash-summary-band{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);grid-template-columns:92px minmax(430px,1.1fr) 88px minmax(300px,.75fr) minmax(170px,.75fr);align-items:stretch;gap:8px;min-width:0;padding:10px;display:grid}.dash-summary-total{border-color:#6c8cff47}.dash-summary-month{border-color:#4cc8823d}.dash-summary-week{border-color:#f5b86c3d}.dash-summary-band>header{flex-direction:column;justify-content:center;gap:5px;min-width:0;display:flex}.dash-summary-band>header span,.dash-history-head span,.dash-summary-metric span,.dash-rate-grid span,.dash-risk-goal-grid span,.dash-workspace-header span,.dash-stat-card span,.dash-detail-table span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.dash-summary-band>header strong{color:var(--text);font-size:13px;line-height:1.25}.dash-summary-money{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;min-width:0;display:grid;overflow:hidden}.dash-summary-metric{background:var(--bg-panel-elev);flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:8px 9px;display:flex}.dash-summary-metric strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.dash-rate-grid,.dash-risk-goal-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);align-content:stretch;gap:1px;min-width:0;display:grid;overflow:hidden}.dash-rate-grid{grid-template-columns:64px repeat(3,minmax(0,1fr))}.dash-rate-grid>*,.dash-risk-goal-grid>*{background:var(--bg-panel-elev);align-items:center;min-width:0;padding:6px 7px;display:flex}.dash-rate-grid strong,.dash-risk-goal-grid b,.dash-risk-goal-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.dash-rate-grid>strong,.dash-risk-goal-grid>b{align-content:center;gap:2px;display:grid}.dash-rate-grid strong span,.dash-rate-grid strong em,.dash-risk-goal-grid b span,.dash-risk-goal-grid b em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;line-height:1.1;overflow:hidden}.dash-rate-grid strong span{color:var(--text)}.dash-rate-grid strong em{color:var(--text-dim)}.dash-risk-goal-grid b span{color:var(--text)}.dash-risk-goal-grid b em{color:var(--text-muted)}.dash-risk-goal-grid{grid-template-columns:42px repeat(3,minmax(0,1fr))}.dash-risk-goal-grid b{color:var(--text-dim)}.dash-history{grid-template-rows:auto minmax(0,1fr);gap:5px;min-width:0;display:grid}.dash-history-head{justify-content:space-between;display:flex}.dash-history-bars{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:3px;min-height:72px;padding:6px;display:grid}.dash-history-bars p{color:var(--text-muted);text-align:center;grid-column:1/-1;align-self:center;margin:0;font-size:11px}.dash-history-item{justify-items:center;gap:3px;min-width:0;display:grid}.dash-history-bar{background:var(--border-strong);border-radius:3px 3px 1px 1px;width:100%;max-width:14px;min-height:4px}.dash-history-bar.positive,.dash-graph-bar.positive{background:linear-gradient(#6cd49a,#4cc88261)}.dash-history-bar.negative,.dash-graph-bar.negative{background:linear-gradient(#f08688,#e8585a5c)}.dash-history-bar.flat,.dash-graph-bar.flat{background:linear-gradient(180deg, var(--text-muted), var(--border-strong))}.dash-history-item small{width:100%;color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.dash-workspace{background:linear-gradient(180deg, #6c8cff0b, transparent 160px), var(--bg-panel);border-color:#6c8cff2e;gap:0;display:grid;box-shadow:inset 0 1px #ffffff06}.dash-workspace-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.dash-workspace-grid{grid-template-columns:minmax(300px,1fr) minmax(0,2fr);align-items:start;gap:10px;padding:10px;display:grid}.dash-graph-panel{background:linear-gradient(180deg, #ffffff05, transparent 90px), var(--bg-panel);border-color:#94a3b824;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.dash-graph-panel-openable{cursor:zoom-in}.dash-graph-panel-openable:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.dash-graph-panel .panel-header h3{align-items:center;gap:6px;display:inline-flex}.dash-graph-bars,.dash-line-chart{min-height:190px}.dash-graph-bars{grid-template-columns:repeat(auto-fit,minmax(34px,1fr));align-items:end;gap:8px;padding:14px;display:grid}.dash-graph-column{justify-items:center;gap:4px;min-width:0;display:grid}.dash-graph-bar{background:var(--border-strong);border-radius:5px 5px 2px 2px;width:100%;max-width:24px;min-height:6px}.dash-graph-column strong,.dash-graph-column small{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.dash-graph-column strong{color:var(--text);font-size:10px}.dash-graph-column small{color:var(--text-muted);font-size:9px}.dash-line-chart{grid-template-rows:minmax(0,1fr) auto;gap:2px;padding:8px 8px 7px;display:grid;position:relative}.dash-line-chart .empty-state{place-self:center}.dash-line-svg{width:100%;height:210px;min-height:0}.dash-line-area{fill:#4cc8821a}.dash-axis{stroke:var(--border-strong);stroke-width:.75px;vector-effect:non-scaling-stroke}.dash-axis-main{stroke:var(--text-dim);stroke-linecap:round;stroke-width:1.35px}.dash-axis-arrow{fill:none;stroke:var(--text-dim);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;vector-effect:non-scaling-stroke}.dash-grid-line line{stroke:#94a3b829;stroke-width:.55px;vector-effect:non-scaling-stroke}.dash-grid-line text,.dash-x-tick text{fill:var(--text-muted);font-size:2.75px;font-weight:700}.dash-grid-line text{text-anchor:end}.dash-x-tick line{stroke:var(--border-strong);stroke-width:.65px;vector-effect:non-scaling-stroke}.dash-x-tick text{text-anchor:middle}.dash-start-line{fill:none;stroke:var(--text-muted);stroke-dasharray:2 2;stroke-linecap:round;stroke-width:1.2px;vector-effect:non-scaling-stroke}.dash-start-line.positive{stroke:#6cd49a}.dash-start-line.negative{stroke:#f08688}.dash-line-path{fill:none;stroke:#6cd49a;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.dash-line-dot{fill:#6cd49a;stroke:var(--bg-panel);stroke-width:.8px;vector-effect:non-scaling-stroke}.dash-line-labels{place-items:center;display:grid}.dash-line-labels span,.dash-line-labels strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.dash-line-labels span{color:var(--text-muted)}.dash-line-labels span:last-child{text-align:right}.dash-line-labels strong{color:var(--text);font-size:12px}.dash-stat-grid,.dash-stat-strip{gap:8px;padding:10px;display:grid}.dash-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(92px,1fr)}.dash-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;min-height:0}.dash-stat-column{gap:7px;min-width:0;min-height:0;display:grid}.dash-stat-column h4{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.dash-stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-panel-elev);text-align:left;align-content:center;gap:3px;min-width:0;min-height:58px;padding:8px 10px;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.dash-stat-card:hover{border-color:var(--accent-strong);background:var(--bg-app);box-shadow:0 10px 28px #0000002e}.dash-stat-card.is-split{align-content:stretch}.dash-stat-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;min-width:0;display:grid}.dash-stat-mini{gap:3px;min-width:0;display:grid}.dash-stat-mini+.dash-stat-mini{border-left:1px solid var(--border);padding-left:10px}.dash-stat-card .dash-stat-mini span{color:var(--text-muted);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.dash-stat-card .dash-stat-mini strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dash-stat-card .dash-stat-mini small{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dash-stat-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.dash-stat-card small{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.modal-card.dash-detail-modal{width:fit-content;max-width:min(1320px,100vw - 24px)}.modal-card.dash-detail-modal.is-rate-chart{width:min(1120px,100vw - 24px)}.modal-card.dash-detail-modal.is-ranking{width:min(760px,100vw - 24px)}.modal-card.dash-chart-detail-modal{width:min(1680px,100vw - 24px);max-width:min(1680px,100vw - 24px)}.dash-chart-year-tabs{width:fit-content;margin:0 0 12px}.dash-chart-detail-body{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-week-detail-body{display:block}.dash-chart-detail-body .dash-line-svg{height:150px;min-height:0}.dash-chart-detail-body .panel-header{padding:10px 12px}.dash-chart-detail-body .dash-line-chart{padding:8px 8px 6px}.dash-week-history-list{gap:8px}.dash-week-history-row{cursor:zoom-in;border-bottom:0}.dash-week-history-row:hover,.dash-week-history-row:focus-visible{background:var(--bg-app)}.dash-week-range{color:var(--text-muted);font-weight:500}.dash-week-history-meta{flex-wrap:wrap;justify-content:flex-end}.dash-week-history-meta .positive{color:#6cd49a}.dash-week-history-meta .negative{color:#f08688}.modal-card.dash-week-chart-modal{width:min(480px,100vw - 24px);max-width:min(480px,100vw - 24px)}.dash-week-chart-body .dash-graph-panel{width:100%;min-height:0}.dash-week-chart-body .dash-line-svg{aspect-ratio:1;height:auto;min-height:0}.dash-week-chart-body .dash-line-chart{grid-template-rows:auto auto;padding:8px 9px 7px}@media (max-width:1100px){.dash-chart-detail-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.dash-chart-detail-body{grid-template-columns:1fr}.dash-week-history-row{flex-direction:column;align-items:flex-start}.dash-week-history-meta{justify-content:flex-start}}.dash-detail-table{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);gap:1px;display:grid;overflow:hidden}.dash-detail-table>div{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:1px;display:grid}.dash-rate-detail{gap:12px;display:grid}.dash-detail-tabs{width:fit-content}.modal-card.is-rate-table .dash-rate-detail{width:fit-content;max-width:100%}.modal-card.is-rate-table .dash-rate-detail-table{width:max-content;max-width:100%}.dash-rate-detail-table>div{grid-template-columns:minmax(150px,1.2fr) 70px 64px 74px 96px 88px 88px 78px minmax(116px,1fr);min-width:0}.dash-rate-detail-table.is-day>div{grid-template-columns:54px 70px 64px 74px 96px 88px 88px 78px minmax(116px,1fr)}.dash-ranking-table>div{grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr) 72px minmax(0,1fr)}.dash-detail-table>div>*{background:var(--bg-panel-elev);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 10px;font-size:12px;overflow:hidden}.dash-detail-table strong{color:var(--text)}.dash-rate-bar-chart{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);justify-self:center;gap:10px;width:min(100%,1080px);min-width:0;padding:14px;display:grid}.dash-rate-chart-scale,.dash-rate-bar-row{grid-template-columns:136px minmax(0,1fr) 56px;align-items:center;gap:12px;display:grid}.dash-rate-chart-scale{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.dash-rate-chart-scale>div{border-bottom:1px solid var(--border);justify-content:space-between;padding-inline:34px 28px;display:flex}.dash-rate-chart-scale>span:last-child{text-align:right}.dash-rate-bar-row{min-width:0}.dash-rate-bar-row>strong{color:var(--text);font-size:13px}.dash-rate-bar-row>span{color:var(--text);text-align:right;font-size:13px;font-weight:700}.dash-rate-bars{align-content:center;gap:3px;display:grid}.dash-rate-bar-line{min-width:0;display:block}.dash-rate-bar-track{background:var(--bg-app);border-radius:999px;height:9px;overflow:hidden}.dash-rate-bar-track i{border-radius:inherit;min-width:0;height:100%;display:block}.dash-rate-bar-track i.positive{background:linear-gradient(90deg,#4cc88273,#6cd49a)}.dash-rate-bar-track i.negative{background:linear-gradient(90deg,#e8585a73,#f08688)}.dash-rate-bar-track i.warning{background:linear-gradient(90deg,#f5b86c73,#f5b86c)}@media (max-width:1280px){.dash-summary-band{grid-template-columns:90px minmax(430px,1.1fr) 84px minmax(300px,.75fr)}.dash-history{grid-column:2/-1}}@media (max-width:980px){.dash-summary-band,.dash-workspace-grid,.dash-stat-grid{grid-template-columns:1fr}.dash-history{grid-column:auto}}.dashboard-redesign{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex;overflow:hidden}.dashboard-redesign>.dash-summary-stack{flex:none}.dashboard-redesign>.dash-workspace{flex:auto;grid-template-rows:auto minmax(0,1fr);min-height:0}.dashboard-redesign>.dash-workspace .dash-workspace-grid,.dashboard-redesign>.dash-workspace .dash-graph-panel{height:100%;min-height:0}.dashboard-redesign>.dash-workspace .dash-line-chart{height:100%;padding:0 8px 6px}.dashboard-redesign>.dash-workspace .dash-line-svg{height:100%;min-height:0;font-size:16px}.dash-summary-stack{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(218px,27vh,244px);align-items:stretch;gap:10px}.dashboard-redesign .dash-summary-band{grid-template-rows:auto minmax(58px,1fr) 62px auto;grid-template-columns:1fr;gap:7px;height:100%;padding:8px 10px;display:grid;overflow:hidden}.dashboard-redesign .dash-summary-band>header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dashboard-redesign .dash-summary-band>header div{gap:2px;min-width:0;display:grid}.dashboard-redesign .dash-summary-band>header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-redesign .dash-summary-band>header small{color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:700}.dash-summary-core{grid-template-columns:minmax(78px,.72fr) minmax(0,2.28fr);align-items:start;gap:8px;min-width:0;display:grid}.dash-balance-stack{gap:4px;min-width:0;display:grid}.dash-balance-stack div{gap:1px;min-width:0;display:grid}.dash-balance-stack span,.dash-outcomes-head span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px}.dash-balance-stack strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.15;overflow:hidden}.dash-balance-stack strong.primary{font-size:13px}.dashboard-redesign .dash-rate-grid,.dashboard-redesign .dash-risk-goal-grid{background:0 0;border:0;gap:2px;overflow:visible}.dashboard-redesign .dash-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.dashboard-redesign .dash-risk-goal-grid{grid-template-columns:38px repeat(3,minmax(0,1fr));min-height:42px}.dashboard-redesign .dash-rate-grid>*,.dashboard-redesign .dash-risk-goal-grid>*{background:0 0;min-height:20px;padding:0}.dashboard-redesign .dash-rate-grid>section{align-content:start;gap:4px;min-width:0;display:grid}.dashboard-redesign .dash-rate-grid>section>span{color:var(--text-muted);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;line-height:1;overflow:hidden}.dashboard-redesign .dash-rate-grid>section>div{gap:2px;min-width:0;display:grid}.dashboard-redesign .dash-rate-grid>section>div>strong{justify-content:space-between;gap:5px;min-width:0;display:flex}.dashboard-redesign .dash-rate-grid strong,.dashboard-redesign .dash-risk-goal-grid b,.dashboard-redesign .dash-risk-goal-grid strong{font-size:9px}.dashboard-redesign .dash-risk-goal-grid>strong{align-self:center}.dashboard-redesign .dash-risk-goal-grid b{align-content:center;justify-items:center;gap:2px;display:grid}.dashboard-redesign .dash-risk-goal-grid b small{color:var(--text-muted);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:8px;font-style:normal;font-weight:700;line-height:1;overflow:hidden}.dashboard-redesign .dash-risk-goal-grid b span,.dashboard-redesign .dash-risk-goal-grid b em{text-align:center;font-size:8px;line-height:1.05}.dash-ring-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;min-width:0;display:grid}.dash-ring-tile{align-content:center;justify-items:center;min-width:0;display:grid}.dash-hover-ring-wrap{place-items:center;width:60px;height:60px;display:grid;position:relative}.dash-hover-ring{width:60px;height:60px;overflow:visible}.dash-ring-track,.dash-ring-empty,.dash-ring-segment{fill:none;stroke-width:12px;transform-origin:50%;transform:rotate(-90deg)}.dash-ring-track{stroke:var(--border-strong);opacity:.55;pointer-events:none}.dash-ring-empty{stroke:var(--border-strong);opacity:.65;pointer-events:none}.dash-ring-segment{cursor:help;pointer-events:stroke;outline:none;transition:filter .12s,stroke-width .12s}.dash-ring-segment:hover,.dash-ring-segment:focus{filter:brightness(1.18);stroke-width:14px}.dash-ring-center{background:var(--bg-panel);pointer-events:none;border-radius:50%;align-content:center;place-items:center;width:38px;height:38px;display:grid;position:absolute}.dash-ring-center strong{max-width:33px;color:var(--text);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1;overflow:hidden}.dash-ring-center span{max-width:33px;color:var(--text-muted);letter-spacing:.04em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:7px;font-weight:700;line-height:1;overflow:hidden}.dash-outcomes{gap:4px;min-width:0;display:grid}.dash-outcomes-head{justify-content:space-between;display:flex}.dash-outcome-strip{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;min-width:0;display:grid}.dash-outcome-box{border:1px solid var(--border-strong);background:var(--border-strong);border-radius:4px;height:17px}.dash-outcome-box.win{background:linear-gradient(#6cd49a,#4cc88261);border-color:#4cc88299}.dash-outcome-box.loss{background:linear-gradient(#f08688,#e8585a61);border-color:#e8585a9e}.dash-outcome-box.break-even{background:linear-gradient(#f5b86c,#f5b86c5c);border-color:#f5b86c9e}.dash-outcome-box.empty{opacity:.5;background:0 0;border-style:dashed}@media (max-width:1100px){.dash-summary-stack{grid-template-columns:1fr;grid-auto-rows:auto}.dashboard-redesign{height:auto;overflow:visible}.dashboard-redesign>.dash-workspace{flex:initial}.dashboard-redesign .dash-summary-band{height:auto;min-height:205px}}.trades{flex-direction:column;gap:16px;display:flex}.trades-table{border-collapse:collapse;width:100%;font-size:12px}.trades-table thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-panel-elev);border-bottom:1px solid var(--border);padding:8px 14px;font-size:10px;font-weight:500}.trades-table thead th.num{text-align:right}.trades-row{cursor:pointer;transition:background .1s}.trades-row:hover{background:var(--bg-panel-elev)}.trades-row td{border-bottom:1px solid var(--border);color:var(--text);padding:7px 14px;line-height:1.2}.trades-row:last-child td{border-bottom:none}.trades-table td.num{text-align:right;font-variant-numeric:tabular-nums}.trades-table th.recap-column,.trades-table td.recap-cell{text-align:right;width:86px}.strategy-cell{max-width:260px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.trade-name-cell{color:var(--text);white-space:nowrap;font-weight:700}.dir-pill{letter-spacing:.06em;border:1px solid var(--border-strong);text-align:center;border-radius:999px;min-width:34px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.dir-long{color:#6cd49a;background:#4cc88214;border-color:#4cc88266}.dir-short{color:#f08688;background:#e8585a14;border-color:#e8585a66}.result-pill{letter-spacing:.06em;border:1px solid var(--border-strong);min-width:34px;color:var(--text-dim);background:var(--bg-panel-elev);text-align:center;text-transform:uppercase;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.result-win{color:#6cd49a;background:#4cc88214;border-color:#4cc88259}.result-loss{color:#f08688;background:#e8585a14;border-color:#e8585a59}.result-break-even{color:#f5b86c;background:#f5b86c14;border-color:#f5b86c59}.result-skipped{color:#9aa9ff;background:#6c8cff1a;border-color:#6c8cff61}.trade-stage-label,.recap-not-due{color:var(--text-muted);font-size:11px}.recap-not-due{padding:3px 7px;display:inline-block}.pnl.positive{color:#6cd49a}.pnl.negative{color:#f08688}.pnl.flat{color:var(--text-muted)}.recap-cell{white-space:nowrap}.recap-status,.recap-action-button{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:23px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.recap-status-done{color:#6cd49a;background:#4cc88212;border:1px solid #4cc88247}.recap-action-button{color:#f5b86c;background:#f5b86c14;border:1px solid #f5b86c59}.recap-action-button:hover{color:#ffd08f;background:#f5b86c21;border-color:#f5b86c94}.recap-action-done{color:#6cd49a;background:#4cc88212;border-color:#4cc88247}.recap-action-done:hover{color:#8df0b7;background:#4cc8821f;border-color:#4cc88280}.trade-calendar-panel{padding:14px}.calendar-toolbar{justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:flex}.calendar-toolbar h3{text-align:center;min-width:180px;margin:0;font-size:15px;font-weight:600}.calendar-grid{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-weekday{background:var(--bg-panel-elev);border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;padding:7px 8px;font-size:10px;font-weight:600}.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-panel);outline:none;flex-direction:column;justify-content:space-between;min-height:92px;padding:7px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.outside:not(.has-trades){color:var(--text-muted);background:#ffffff04}.calendar-day.outside.has-trades{opacity:.75}.calendar-day.has-trades{cursor:zoom-in}.calendar-day.has-trades:hover,.calendar-day.has-trades:focus-visible{box-shadow:inset 0 0 0 1px var(--border-strong)}.calendar-day.winning{background:linear-gradient(135deg, #4cc88238, #4cc8820a 68%), var(--bg-panel);border-color:#4cc88238}.calendar-day.losing{background:linear-gradient(135deg, #e8585a38, #e8585a0a 68%), var(--bg-panel);border-color:#e8585a38}.calendar-day.flat.has-trades{background:linear-gradient(135deg, #f5b86c24, #f5b86c08 68%), var(--bg-panel)}.calendar-day.today{box-shadow:inset 0 0 0 1px #6c8cff73}.calendar-day.today.has-trades:hover,.calendar-day.today.has-trades:focus-visible{box-shadow:inset 0 0 0 1px #6c8cffbf, inset 0 0 0 2px var(--border-strong)}.calendar-day-header{justify-content:space-between;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.calendar-recap-warning{color:#f5b86c;background:#f5b86c1a;border:1px solid #f5b86c5c;border-radius:999px;justify-content:center;align-items:center;gap:2px;min-width:18px;height:18px;padding:0 4px;display:inline-flex}.calendar-recap-warning span{font-size:9px;font-weight:800;line-height:1}.calendar-day-summary{flex-direction:column;gap:3px;min-width:0;display:flex}.calendar-day-summary span,.calendar-day-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-day-summary span:first-child{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.calendar-day-summary strong{color:var(--text);font-size:13px;font-weight:700}.calendar-day-summary span:last-child{color:var(--text-muted);font-size:10px;font-weight:600}.calendar-day-summary .positive{color:#6cd49a}.calendar-day-summary .negative{color:#f08688}.modal-card.day-trades-modal{width:min(100vw - 64px,1320px);max-width:none}.day-trades-summary{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.day-trades-summary>div{background:var(--bg-panel-elev);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.day-trades-summary span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.day-trades-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.day-trades-summary .positive{color:#6cd49a}.day-trades-summary .negative{color:#f08688}.day-trades-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.modal-card.trade-workspace-modal{width:min(100vw - 64px,1360px);max-width:none;height:min(820px, calc(100vh - var(--topbar-height) - 44px))}.trade-workspace-modal>.modal-body{flex:1;min-height:0;padding:0;display:block;overflow:hidden}.trade-workspace{height:100%;min-height:0;display:grid}.trade-workspace-trade{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.trade-workspace-recap{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.trade-workspace-primary,.trade-workspace-secondary,.trade-recap-context,.trade-recap-editor{min-width:0;min-height:0}.trade-workspace-primary,.trade-workspace-secondary{scrollbar-gutter:stable;overflow-y:auto}.trade-workspace-primary{border-right:1px solid var(--border)}.trade-workspace-primary .trade-detail{padding:16px}.trade-recap-context{background:#ffffff05;flex-direction:column;gap:12px;min-height:100%;padding:16px;display:flex}.trade-recap-editor{flex-direction:column;gap:14px;min-height:100%;padding:16px;display:flex}.recap-editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;padding:2px 2px 4px;display:flex}.recap-editor-heading>div{min-width:0}.recap-editor-heading span:first-child{color:var(--accent-strong);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.recap-editor-heading h3{color:var(--text);margin:0;font-size:19px}.recap-editor-heading p,.recap-section-title-row p{color:var(--text-muted);margin:5px 0 0;font-size:12px;line-height:1.45}.recap-speed-badge{border-radius:var(--radius-sm);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;background:#6c8cff17;border:1px solid #6c8cff52;flex:none;padding:5px 8px;font-size:10px;font-weight:700}.recap-decision-grid{grid-template-columns:1.2fr .9fr .8fr;gap:10px;display:grid}.recap-decision-grid.is-system,.recap-decision-grid.is-skipped{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-choice-field,.recap-quick-tag-group{border:0;min-width:0;margin:0;padding:0}.recap-choice-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:11px}.recap-choice-field legend,.recap-quick-tag-group legend{width:100%;color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700}.recap-choice-list{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:5px;display:grid}.recap-choice-field.is-compact{background:0 0;border:0;padding:0}.recap-choice-field.is-compact .recap-choice-list{flex-wrap:wrap;display:flex}.recap-choice-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-height:34px;color:var(--text-dim);font:inherit;cursor:pointer;padding:6px 9px;font-size:12px;font-weight:700}.recap-choice-button:hover,.recap-quick-option:hover{border-color:var(--border-strong);color:var(--text)}.recap-choice-button.is-selected{color:var(--text);background:#6c8cff29;border-color:#6c8cff8f;box-shadow:inset 0 0 0 1px #6c8cff1f}.recap-fast-section,.recap-main-note,.recap-advanced-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:13px}.recap-fast-section{flex-direction:column;gap:12px;display:flex}.recap-section-title-row>div{min-width:0}.recap-section-title-row h4,.recap-advanced-content h4{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.recap-fast-columns,.recap-note-grid,.recap-full-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.recap-quick-tag-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);padding:10px}.recap-quick-tag-group legend{justify-content:space-between;align-items:center;gap:8px;display:flex}.recap-quick-tag-group legend strong{color:var(--accent-strong);font-size:11px}.recap-main-note{flex-direction:column;gap:8px;display:flex}.recap-main-note textarea{min-height:118px}.recap-advanced-panel{padding:0;overflow:hidden}.recap-advanced-panel>summary{min-height:56px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:11px 13px;list-style:none;display:flex}.recap-advanced-panel>summary::-webkit-details-marker{display:none}.recap-advanced-panel>summary>div{flex-direction:column;gap:3px;display:flex}.recap-advanced-panel>summary strong{font-size:13px}.recap-advanced-panel>summary span{color:var(--text-muted);font-size:11px}.recap-advanced-panel>summary svg{color:var(--text-muted);flex:none;transition:transform .14s}.recap-advanced-panel[open]>summary{border-bottom:1px solid var(--border)}.recap-advanced-panel[open]>summary svg{transform:rotate(180deg)}.recap-advanced-content{flex-direction:column;gap:16px;padding:14px;display:flex}.recap-advanced-content>section{flex-direction:column;gap:10px;display:flex}.recap-full-library>div{flex-direction:column;gap:9px;min-width:0;display:flex}.trade-recap-summary{flex-direction:column;gap:14px;min-height:100%;padding:16px;display:flex}.trade-recap-summary-header{flex-direction:column;gap:4px;display:flex}.trade-recap-summary-header span,.trade-recap-summary-note span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.trade-recap-summary-header h4{color:var(--text);margin:0;font-size:15px}.trade-recap-summary-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.trade-recap-summary-grid .trade-summary-metric{min-height:58px}.trade-recap-summary-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;flex-direction:column;gap:6px;padding:12px;display:flex}.trade-recap-summary-list,.trade-recap-summary-scores{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;flex-direction:column;gap:8px;padding:12px;display:flex}.trade-recap-summary-list header,.trade-recap-summary-scores header{justify-content:space-between;align-items:center;gap:10px;display:flex}.trade-recap-summary-list header span,.trade-recap-summary-scores header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.trade-recap-summary-list header strong,.trade-recap-summary-scores header strong{color:var(--text);font-size:12px}.trade-recap-summary-list p{color:var(--text-muted);margin:0;font-size:12px}.trade-recap-summary-tags{flex-wrap:wrap;gap:6px;display:flex}.trade-recap-summary-tag{border-radius:var(--radius-sm);min-width:0;min-height:24px;color:var(--text);background:#6c8cff1a;border:1px solid #6c8cff5c;align-items:center;padding:4px 8px;font-size:12px;line-height:1.2;display:inline-flex}.trade-recap-summary-scores{margin-top:auto}.trade-recap-score-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.trade-recap-score-value{background:var(--bg-panel);justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:8px 10px;display:flex}.trade-recap-score-value span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.trade-recap-score-value strong{color:var(--text);font-size:12px}.trade-recap-summary-note p,.trade-recap-summary-empty{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.trade-recap-summary .primary-button{justify-content:center}.trade-recap-summary.is-empty .primary-button{margin-top:auto}.trade-recap-context-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trade-recap-context-header span:first-child{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:10px;display:block}.trade-recap-context-header h4{color:var(--text);margin:0;font-size:18px}.trade-recap-context-pills{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.trade-recap-context-metrics{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.trade-recap-context-metrics .trade-summary-metric{min-height:50px;padding:7px 9px}.trade-recap-context-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);flex-direction:column;gap:10px;padding:12px;display:flex}.trade-recap-context-section>header{align-items:center;gap:8px;display:flex}.trade-recap-context-section h5{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.trade-recap-context-rows{gap:7px;margin:0;display:grid}.trade-recap-context-rows>div{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.trade-recap-context-rows dt,.trade-recap-context-note span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:10px}.trade-recap-context-rows dd{min-width:0;color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;overflow:hidden}.trade-recap-context-rows dd.positive{color:#6cd49a}.trade-recap-context-rows dd.negative{color:#f08688}.trade-recap-context-rows dd.flat{color:var(--text-muted)}.trade-recap-context-note{flex-direction:column;gap:6px;display:flex}.trade-recap-context-note p{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);max-height:82px;color:var(--text-dim);margin:0;padding:9px 10px;font-size:12px;line-height:1.45;overflow-y:auto}.trade-recap-context-screenshots{flex-direction:column;gap:6px;display:flex}.trade-recap-context-screenshots>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.trade-recap-context-screenshots .screenshot-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trade-recap-context-screenshots .screenshot-thumb{min-height:78px}.recap-sticky-head{z-index:3;background:var(--bg-panel);flex-direction:column;padding-bottom:10px;display:flex;position:sticky;top:0}.recap-tab-bar{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;min-height:40px;display:grid;overflow:hidden}.recap-tab-button{background:var(--bg-panel-elev);min-height:38px;color:var(--text-muted);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;border-radius:0;font-size:12px;font-weight:700}.recap-tab-button.is-active{color:var(--text);background:#6c8cff24}.recap-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;flex-direction:column;gap:12px;padding:14px;display:flex}.recap-section h4{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.recap-section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.recap-section-title-row>span{color:var(--text-muted);font-size:11px}.recap-score-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.recap-score-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-width:0;padding:10px}.recap-rule-toggle>label{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-height:38px;color:var(--text);align-items:center;gap:8px;padding:0 10px;font-size:13px;display:inline-flex}.recap-text-block,.recap-picker-groups{flex-direction:column;gap:8px;display:flex}.recap-picker-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.recap-picker-group.is-open{border-color:#6c8cff5c}.recap-picker-group-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.recap-picker-group-header>div{flex-direction:column;gap:2px;min-width:0;display:flex}.recap-picker-group-header h5{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:700;overflow:hidden}.recap-picker-group-header span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.recap-picker-add-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:30px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff08;flex:none;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.recap-picker-add-button svg{color:var(--accent-strong)}.recap-selected-chip-list{flex-wrap:wrap;gap:6px;display:flex}.recap-selected-chip{border-radius:var(--radius-sm);min-width:0;min-height:26px;color:var(--text);font:inherit;cursor:pointer;background:#6c8cff1a;border:1px solid #6c8cff5c;align-items:center;gap:7px;padding:4px 8px;font-size:12px;display:inline-flex}.recap-selected-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recap-selected-chip strong{color:var(--text-muted);font-size:12px;font-weight:800}.recap-picker-panel{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:8px;display:flex}.recap-picker-options{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;max-height:220px;padding-right:2px;display:grid;overflow:auto}.recap-picker-option{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:31px;color:var(--text-dim);background:#ffffff05;align-items:center;gap:7px;padding:6px 8px;font-size:12px;display:inline-flex}.recap-picker-option:has(input:checked){color:var(--text);background:#6c8cff1f;border-color:#6c8cff7a}.recap-picker-option input{flex:none}.recap-picker-panel-footer{justify-content:flex-end;display:flex}.recap-quick-text-area{flex-direction:column;gap:8px;display:flex}.recap-textarea-shell{position:relative}.field .recap-textarea-shell textarea{padding-right:44px}.recap-textarea-plus{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--accent-strong);cursor:pointer;background:#6c8cff1f;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:8px}.recap-textarea-plus:hover,.recap-textarea-plus[aria-expanded=true]{color:var(--text);background:#6c8cff2e;border-color:#6c8cff8c}.recap-quick-group{border:0;min-width:0;margin:0;padding:0}.recap-quick-group legend{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px}.recap-quick-list{flex-wrap:wrap;gap:7px;display:flex}.recap-quick-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-height:30px;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;padding:6px 9px;font-size:12px;line-height:1.25}.recap-quick-option.is-selected{color:var(--text);background:#6c8cff24;border-color:#6c8cff80}.recap-form textarea{resize:vertical;min-height:90px}@media (max-width:1180px){.recap-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-workspace{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr}.trade-workspace-primary{border-right:0;border-bottom:1px solid var(--border)}.trade-workspace-recap{grid-template-rows:minmax(0,42%) minmax(0,1fr)}}@media (max-width:760px){.recap-decision-grid,.recap-decision-grid.is-system,.recap-fast-columns,.recap-note-grid,.recap-full-library{grid-template-columns:1fr}.recap-editor-heading{gap:10px}.recap-speed-badge{display:none}}.trade-week-list{flex-direction:column;gap:10px;display:flex}.trade-week-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);overflow:hidden}.trade-week-header{border-bottom:1px solid var(--border);background:var(--bg-panel-elev);text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:10px 14px;display:flex}.trade-week-title,.trade-week-meta{align-items:center;gap:8px;min-width:0;display:inline-flex}.trade-week-title{color:var(--text);font-size:13px;font-weight:600}.trade-week-meta{color:var(--text-muted);font-size:12px}.trade-week-recap-warning{color:#f5b86c;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.trade-week-meta strong{font-size:12px;font-weight:700}.recap-done{color:#6cd49a;font-size:12px}.recap-pending{color:#f5b86c;font-size:12px}.trade-detail{flex-direction:column;gap:20px;min-height:100%;display:flex;overflow:visible}.trade-delete-button,.recap-delete-button{height:34px;padding-inline:11px}.trade-delete-error{color:#ff9c9c;margin:-8px 0 0;font-size:12px}.trade-detail h2{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trade-summary-strip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);flex:1;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:1px;display:grid;overflow:hidden}.trade-summary-metric{background:var(--bg-panel);flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:48px;padding:8px 11px;display:flex}.trade-summary-metric>span{color:var(--text-muted);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;overflow:hidden}.trade-summary-value{min-height:18px;color:var(--text);align-items:center;font-size:13px;font-weight:500;display:flex}.trade-summary-value.strong{font-weight:700}.trade-summary-value.positive{color:#6cd49a}.trade-summary-value.negative{color:#f08688}.trade-summary-value.flat{color:var(--text-muted)}.trade-cards{flex:1;grid-template-columns:repeat(3,1fr);gap:14px;min-height:0;display:grid}.trade-cards-system{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-cards-skipped{grid-template-columns:minmax(0,1fr)}@media (max-width:1100px){.trade-cards{grid-template-columns:1fr}}.trade-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;min-height:0;padding:18px;display:flex}.trade-card-header{align-items:center;gap:10px;display:flex}.trade-card-header h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:14px;font-weight:600}.stage-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stage-pre{background:#f5b86c}.stage-entry{background:var(--accent)}.stage-exit{background:#6cd49a}.trade-card-body{flex-direction:column;flex:1;gap:10px;min-height:0;margin:0;display:flex;overflow:hidden}.trade-card-body>div{align-items:baseline;gap:8px;min-width:0;display:flex}.trade-card-fields{height:var(--trade-card-fields-height,auto);flex:0 0 var(--trade-card-fields-height,auto);flex-direction:column;min-width:0;min-height:168px;align-items:stretch!important;gap:10px!important;display:flex!important}.trade-card-fields>div{align-items:baseline;gap:8px;min-width:0;display:flex}.trade-card-body dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:10px}.trade-card-body dd{min-width:0;color:var(--text);margin:0;font-size:13px;line-height:1.5}.trade-card-note{flex-direction:column;flex:1;min-height:0;align-items:stretch!important;gap:6px!important}.trade-card-note dd{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);scrollbar-gutter:stable;min-height:0;color:var(--text);flex:1;padding:10px 12px;overflow-y:auto}.trade-card-note dd::-webkit-scrollbar{width:8px}.trade-card-note dd::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.trade-card-bottom{flex-direction:column;flex:0 0 152px;gap:12px;min-height:152px;margin-top:auto;display:flex}.trade-card-screenshots{align-items:flex-end;min-height:84px;display:flex}.trade-card-screenshots .screenshot-gallery{gap:8px;width:100%;padding:2px 0;display:flex;overflow-x:auto}.trade-card-screenshots .screenshot-thumb{flex:0 0 112px;width:112px}.recaps{flex-direction:column;gap:16px;display:flex}.recaps-status{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:20px;padding:1px 8px;font-size:10px;font-weight:800;display:inline-flex}.recaps-status.done,.recaps-status.ongoing{color:#6cd49a;background:#4cc88212;border:1px solid #4cc88247}.recaps-status.missing{color:#f5b86c;background:#f5b86c14;border:1px solid #f5b86c59}.recaps-status.missing-danger{color:#f08688;background:#f0868814;border:1px solid #f0868861}.recaps-status.neutral{color:var(--text-muted);border:1px solid var(--border);background:#ffffff08}.list-table-row .recaps-status{max-width:100%;margin-top:0;display:inline-flex}.recaps-stats-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.recaps-stat-tile{background:var(--bg-panel-elev);flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:56px;padding:9px 11px;display:flex}.recaps-stat-tile span{color:var(--text-muted);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;overflow:hidden}.recaps-stat-tile strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recaps-stat-tile strong.positive{color:#6cd49a}.recaps-stat-tile strong.negative{color:#f08688}.recaps-stat-tile strong.flat{color:var(--text-muted)}.tab-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.module-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.module-toolbar .primary-button{flex:none}@media (max-width:720px){.module-toolbar{flex-direction:column;align-items:flex-start}}.tab{color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.tab:hover{color:var(--text)}.tab.active{background:var(--bg-panel-elev);color:var(--text)}.tab-icon{color:var(--text-muted);display:inline-flex}.tab.active .tab-icon{color:var(--accent-strong)}.recap-list{display:block}.list-table-shell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);overflow:auto hidden}.list-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.recaps-current-table{min-width:820px}.recaps-table{min-width:680px}.recaps-period-table{min-width:900px}.recaps-current-table th:first-child,.recaps-current-table td:first-child{width:19%}.recaps-current-table th:nth-child(2),.recaps-current-table td:nth-child(2){width:16%}.recaps-current-table th:nth-child(3),.recaps-current-table td:nth-child(3){width:8%}.recaps-current-table th:nth-child(4),.recaps-current-table td:nth-child(4){width:15%}.recaps-current-table th:nth-child(5),.recaps-current-table td:nth-child(5){width:14%}.recaps-current-table th:nth-child(6),.recaps-current-table td:nth-child(6){width:13%}.recaps-current-table th:nth-child(7),.recaps-current-table td:nth-child(7){width:15%}.recaps-table th:first-child,.recaps-table td:first-child{width:24%}.recaps-table th:nth-child(2),.recaps-table td:nth-child(2){width:13%}.recaps-table th:nth-child(3),.recaps-table td:nth-child(3){width:auto}.recaps-period-table th:first-child,.recaps-period-table td:first-child{width:22%}.recaps-period-table th:nth-child(2),.recaps-period-table td:nth-child(2){width:14%}.recaps-period-table th:nth-child(3),.recaps-period-table td:nth-child(3){width:7%}.recaps-period-table th:nth-child(4),.recaps-period-table td:nth-child(4){width:14%}.recaps-period-table th:nth-child(5),.recaps-period-table td:nth-child(5),.recaps-period-table th:nth-child(6),.recaps-period-table td:nth-child(6){width:11%}.recaps-period-table th:nth-child(7),.recaps-period-table td:nth-child(7){width:12%}.recaps-period-table th:nth-child(8),.recaps-period-table td:nth-child(8){text-align:right;width:9%}.recap-period-action{justify-content:center;min-width:66px}.list-table th{border-bottom:1px solid var(--border);background:var(--bg-panel-elev);color:var(--text-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:8px 14px;font-size:10px;font-weight:500}.list-table th.num,.list-table td.num{text-align:right}.list-table-row{transition:background .1s}.list-table-row-clickable{cursor:pointer}.list-table-row-clickable:hover,.list-table-row-clickable:focus{background:var(--bg-panel-elev);outline:none}.list-table-row td{border-bottom:1px solid var(--border);height:38px;color:var(--text-dim);padding:7px 14px;line-height:1.2}.list-table-row:last-child td{border-bottom:none}.list-table-row td,.list-table-row strong,.list-table-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-table-row strong{color:var(--text);font-weight:700;display:block}.list-table-row td>span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.list-table-row .positive{color:#6cd49a}.list-table-row .negative{color:#f08688}.list-table-row .flat{color:var(--text-muted)}.recap-date{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.modal-card.recaps-modal{max-width:980px}.modal-card.recaps-split-modal{width:min(100vw - 64px,1360px);max-width:none;height:min(820px, calc(100vh - var(--topbar-height) - 44px))}.recaps-modal-body{flex-direction:column;gap:14px;display:flex}.modal-body.recaps-split-modal-body{flex:1;min-height:0;padding:0;display:block;overflow:hidden}.period-recap-header-summary{flex-direction:column;gap:10px;display:flex}.period-recap-header-summary .recaps-period-row{grid-template-columns:220px minmax(0,1fr)}.period-recap-header-summary .recaps-stats-grid{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.period-recap-header-summary .recaps-stat-tile{min-height:48px;padding:8px 10px}.period-recap-workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.daily-trade-recap-pane,.period-source-pane,.period-recap-editor-pane{overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;height:100%;min-height:0;overflow-y:auto}.daily-trade-recap-pane,.period-source-pane{border-right:1px solid var(--border);background:#ffffff05;flex-direction:column;gap:12px;padding:16px;display:flex;overflow-x:hidden}.period-recap-editor-pane{flex-direction:column;gap:14px;padding:16px;display:flex}.daily-pane-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.daily-pane-header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.daily-pane-header strong{color:var(--text);font-size:15px}.daily-recap-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin:0;padding:18px 12px;font-size:12px}.daily-trade-recap-list,.period-source-list{flex-direction:column;flex:none;gap:6px;min-height:auto;display:flex}.daily-trade-recap-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);display:block;overflow:hidden}.daily-trade-recap-row.is-missing{border-style:dashed}.period-source-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);display:block;overflow:hidden}.period-source-row.is-missing{border-style:dashed}.daily-trade-recap-summary,.period-source-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:9px 10px;list-style:none;display:grid}.period-source-summary{align-items:flex-start;min-height:54px}.daily-trade-recap-summary::-webkit-details-marker{display:none}.period-source-summary::-webkit-details-marker{display:none}.daily-trade-recap-summary:hover,.period-source-summary:hover{background:#ffffff06}.daily-trade-recap-identity,.period-source-identity{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.period-source-identity{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px}.daily-trade-recap-identity>span,.period-source-identity>span{color:var(--text-muted);font-size:11px;font-weight:700}.period-source-identity>span{line-height:1.25}.daily-trade-recap-identity strong,.period-source-identity strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.period-source-identity strong{white-space:normal;line-height:1.25}.daily-trade-recap-details,.period-source-details{border-top:1px solid var(--border);background:#ffffff04;flex-direction:column;gap:10px;padding:10px;display:flex}.daily-trade-detail-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.daily-trade-detail-grid span{min-width:0;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:var(--bg-panel);gap:5px;padding:8px;font-size:10px;display:grid}.daily-trade-detail-grid strong{color:var(--text);letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-size:12px;overflow:hidden}.daily-trade-recap-details .daily-trade-detail-grid,.period-source-details .daily-trade-detail-grid{grid-template-columns:1fr}.daily-trade-recap-row p,.period-source-row p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.daily-trade-tags,.daily-trade-note{flex-direction:column;gap:5px;display:flex}.daily-trade-note>span,.daily-trade-tags>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.daily-trade-tags>div,.daily-import-tags{flex-wrap:wrap;gap:5px;display:flex}.daily-trade-tags b,.daily-import-tags span{border-radius:var(--radius-sm);min-width:0;color:var(--text);background:#6c8cff1a;border:1px solid #6c8cff5c;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.daily-trade-tags em{color:var(--text-muted);font-size:12px;font-style:normal}.daily-import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.daily-import-section,.daily-review-fields,.daily-score-fields{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:12px}.daily-import-section{flex-direction:column;gap:10px;display:flex}.daily-import-section header{justify-content:space-between;align-items:center;gap:10px;display:flex}.daily-import-section header span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.daily-import-section header strong{color:var(--text);font-size:13px}.daily-import-section p{color:var(--text-muted);margin:0;font-size:12px}.daily-import-tags span b{color:var(--accent-strong);font-size:10px}.daily-review-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.daily-review-field textarea{resize:vertical;min-height:86px}.daily-review-field.recap-field-mindset,.daily-review-field.recap-field-riskManagement,.daily-review-field.recap-field-overallSatisfaction{grid-column:1/-1}.recap-pattern-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);flex-direction:column;grid-column:1/-1;gap:9px;min-width:0;padding:10px;display:flex}.recap-pattern-field header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.recap-pattern-field header>span,.recap-selection-field legend{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.recap-pattern-field header small,.recap-selection-field>small{color:var(--text-muted);font-size:10px}.recap-pattern-field p,.recap-selection-field p{color:var(--text-muted);margin:0;font-size:11px}.recap-pattern-list,.recap-selection-options{flex-wrap:wrap;gap:6px;display:flex}.recap-pattern-chip{border-radius:var(--radius-sm);min-width:0;color:var(--text);background:#6c8cff1a;border:1px solid #6c8cff5c;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.recap-pattern-chip.is-mistake{color:#ff9ca2;background:#f0606921;border-color:#f0606994}.recap-pattern-chip.is-done-well{color:#77dba4;background:#4cc8821f;border-color:#4cc88285}.recap-pattern-chip.is-mistake small,.recap-pattern-chip.is-mistake b{color:#f9848b}.recap-pattern-chip.is-done-well small,.recap-pattern-chip.is-done-well b{color:#5fd394}.recap-pattern-chip small{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:700}.recap-pattern-chip b{color:var(--accent-strong);font-size:10px}.recap-selection-field{border:0;flex-direction:column;gap:7px;min-width:0;margin:0;padding:0;display:flex}.recap-selection-field legend{padding:0}.recap-selection-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);min-height:30px;color:var(--text-dim);font:inherit;cursor:pointer;padding:6px 9px;font-size:11px;line-height:1.2}.recap-selection-option:hover{border-color:var(--border-strong);color:var(--text)}.recap-selection-option.is-selected{color:var(--text);background:#6c8cff24;border-color:#6c8cff80}.recap-saved-selection{padding-top:2px;font-style:italic}.daily-score-fields{background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;display:grid;overflow:hidden}.daily-score-field{background:var(--bg-panel);flex-direction:column;gap:7px;min-width:0;min-height:72px;padding:10px;display:flex}.daily-score-field>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:10px;display:flex}.daily-score-field>span strong{color:var(--text);letter-spacing:0;font-size:12px}.recaps-period-row{grid-template-columns:220px minmax(0,1fr);align-items:end;gap:12px;display:grid}.recaps-auto-title{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel-elev);flex-direction:column;gap:6px;min-width:0;padding:9px 11px;display:flex}.recaps-auto-title strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}@media (max-width:1180px){.recaps-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-recap-workspace{grid-template-rows:minmax(0,42%) minmax(0,1fr);grid-template-columns:1fr}.daily-trade-recap-pane,.period-source-pane{border-right:0;border-bottom:1px solid var(--border)}.daily-score-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.recaps-period-row{grid-template-columns:1fr}}@media (max-width:820px){.daily-import-grid,.daily-review-fields{grid-template-columns:1fr}}.account-module{flex-direction:column;gap:16px;display:flex}.account-list{gap:10px;display:grid}.account-list-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.account-list-header>div{gap:4px;display:grid}.account-list-header h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.account-list-header span{color:var(--text-muted);font-size:12px}.account-create-button{flex:none;padding:7px 10px}.account-accounts-table{min-width:820px}.account-setup-table.has-body{min-width:760px}.account-accounts-table th:first-child,.account-accounts-table td:first-child{width:18%}.account-accounts-table th:nth-child(2),.account-accounts-table td:nth-child(2){width:10%}.account-accounts-table th:nth-child(3),.account-accounts-table td:nth-child(3){width:14%}.account-accounts-table th:nth-child(4),.account-accounts-table td:nth-child(4){width:22%}.account-accounts-table th:nth-child(5),.account-accounts-table td:nth-child(5){width:20%}.account-accounts-table th:nth-child(6),.account-accounts-table td:nth-child(6){width:16%}.account-setup-table:not(.has-body) th:first-child,.account-setup-table:not(.has-body) td:first-child{width:26%}.account-setup-table:not(.has-body) th:nth-child(2),.account-setup-table:not(.has-body) td:nth-child(2){width:74%}.account-setup-table.has-body th:first-child,.account-setup-table.has-body td:first-child{width:24%}.account-setup-table.has-body th:nth-child(2),.account-setup-table.has-body td:nth-child(2),.account-setup-table.has-body th:nth-child(3),.account-setup-table.has-body td:nth-child(3){width:38%}.account-balance-cell{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-weight:700}.account-detail-header{align-items:flex-start;gap:12px;display:flex}.account-detail-header>div:nth-child(2){flex:1;min-width:0}.account-detail-actions{gap:8px;margin-left:auto;display:flex}.account-action-error{border-radius:var(--radius-sm);background:#ff787814;border:1px solid #ff787847;margin:0;padding:9px 11px;font-size:12px}.account-detail-header h2{color:var(--text);margin:0;font-size:22px;font-weight:600}.account-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.account-detail-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);padding:16px}.account-detail-panel h3{color:var(--text);margin:0 0 14px;font-size:14px;font-weight:600}.account-detail-panel dl{gap:12px;margin:0;display:grid}.account-detail-panel dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.account-detail-panel dd,.account-detail-panel p{color:var(--text);margin:4px 0 0;font-size:13px}.account-detail-list{gap:10px;display:grid}.account-detail-list div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);padding:10px 12px}.account-detail-list strong{color:var(--text);font-size:13px;display:block}.account-detail-list span{color:var(--text-dim);margin-top:3px;font-size:12px;display:block}.account-create-modal{max-width:760px}.account-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.risk-create-form{grid-template-columns:1fr}.account-modal-tabs{justify-self:flex-start}.risk-plan-tab{gap:14px;display:grid}.risk-field-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);gap:10px;padding:12px;display:grid}.risk-field-group h4{color:var(--text);margin:0;font-size:13px;font-weight:600}.risk-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.risk-field-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-field-grid .field{grid-template-rows:32px auto;min-width:0;display:grid}.risk-field-grid .field>span{align-items:flex-end;min-height:32px;line-height:1.25;display:flex}.account-strategy-picker{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel-elev);grid-column:1/-1;gap:10px;margin:0;padding:12px;display:grid}.account-strategy-picker legend{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:0 6px;font-size:11px}.account-strategy-picker label{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.account-strategy-picker input{width:14px;height:14px;accent-color:var(--accent)}.account-strategy-picker p{color:var(--text-muted);margin:0;font-size:13px}@media (max-width:1000px){.account-detail-grid{grid-template-columns:1fr}}.trade-card-pre{min-height:200px}.trade-card-header .ghost-button{margin-left:auto}.trade-card-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.trade-card-actions .ghost-button{margin-left:0}.ghost-button-sm{padding:5px 10px;font-size:12px}.pre-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin:0;padding:18px;font-size:12px}.pre-content{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.pre-section{flex-direction:column;gap:10px;display:flex}.pre-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pre-section-header h4{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:600}.form-hint{background:var(--bg-panel-elev);border-radius:var(--radius-sm);color:var(--text-muted);grid-column:1/-1;margin:0;padding:10px 12px;font-size:12px}.stage-editor-form{flex-direction:column;gap:16px;display:flex}.screenshot-drop-zone{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:#ffffff05;outline:none;flex-direction:column;gap:10px;width:100%;min-height:112px;padding:12px;transition:border-color .12s,background .12s;display:flex}.screenshot-drop-zone:focus,.screenshot-drop-zone.is-dragging{border-color:var(--accent-strong);background:#6c8cff14}.screenshot-drop-zone-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.screenshot-drop-zone-header span,.screenshot-drop-zone-header strong{letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.screenshot-drop-zone-header span{color:var(--text-muted)}.screenshot-drop-zone-header strong{color:var(--accent-strong)}.screenshot-drop-zone>p,.screenshot-drop-status{color:var(--text-muted);text-align:center;margin:auto 0;font-size:12px}.screenshot-drop-status{margin:0}.screenshot-drop-zone .screenshot-gallery{gap:8px;padding:2px 0;display:flex;overflow-x:auto}.screenshot-drop-zone .screenshot-thumb{flex:0 0 110px;width:110px}.screenshot-import-button{border:1px dashed var(--border-strong);width:34px;height:34px;color:var(--text-dim);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:border-color .12s,color .12s;display:inline-flex}.screenshot-import-button:hover{border-color:var(--accent-strong);color:var(--accent-strong);background:0 0}.screenshot-import-button:disabled{cursor:default;opacity:.5}.screenshot-file-input{display:none}.screenshot-edit-actions{justify-content:center;align-items:center;gap:9px;display:flex}.screenshot-edit-actions>span{color:var(--text-muted);font-size:11px}.screenshot-edit-select{align-items:center;gap:7px;display:inline-flex}.screenshot-source-modal{width:min(620px,100vw - 32px)}.screenshot-source-content{flex-direction:column;gap:10px;display:flex}.screenshot-source-error,.screenshot-source-empty{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin:0;padding:12px;font-size:12px}.screenshot-source-error{color:var(--danger,#e87070);border-color:#e8707059}.screenshot-window-list{flex-direction:column;gap:6px;max-height:390px;display:flex;overflow-y:auto}.screenshot-window-option{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel-elev);width:100%;color:var(--text-main);text-align:left;grid-template-columns:34px minmax(0,1fr) auto 22px;align-items:center;gap:10px;padding:10px;display:grid}.screenshot-window-option:hover{border-color:var(--accent-strong);background:#6c8cff14}.screenshot-window-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent-strong);background:#6c8cff1a;justify-content:center;align-items:center;display:inline-flex}.screenshot-window-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.screenshot-window-copy strong,.screenshot-window-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.screenshot-window-copy strong{font-size:12px}.screenshot-window-copy small,.screenshot-window-meta{color:var(--text-muted);font-size:11px}.screenshot-file-fallback{align-items:center;gap:7px;display:inline-flex}.screenshot-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.screenshot-strip{flex-wrap:wrap;gap:10px;display:flex}.screenshot-thumb{aspect-ratio:16/10;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-panel-elev);width:100%;position:relative;overflow:hidden}.screenshot-strip .screenshot-thumb{flex-shrink:0;width:130px}.screenshot-thumb img{object-fit:cover;width:100%;height:100%;display:block}.screenshot-thumb-button{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0}.screenshot-loading{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;display:flex}.screenshot-delete{color:#fff;opacity:0;background:#000000a6;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;transition:opacity .12s;display:inline-flex;position:absolute;top:4px;right:4px}.screenshot-thumb:hover .screenshot-delete,.screenshot-strip .screenshot-delete{opacity:1}.screenshot-lightbox-modal{width:fit-content;max-width:min(1180px,100vw - 24px)}.screenshot-lightbox-body{background:#05070ccc;justify-content:center;align-items:center;padding:12px;display:flex}.lightbox-image{max-width:min(1100px,100vw - 80px);max-height:calc(100vh - var(--topbar-height) - 150px);border-radius:var(--radius);object-fit:contain;box-shadow:0 20px 60px #00000080}.feeling-display{background:var(--bg-panel-elev);border-radius:var(--radius-sm);flex-direction:column;flex:0 0 56px;justify-content:center;gap:6px;height:56px;padding:10px 12px;display:flex}.feeling-meta{letter-spacing:.06em;text-transform:uppercase;min-height:16px;color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:11px;display:flex}.feeling-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feeling-value{color:var(--text);letter-spacing:0;font-size:13px;font-weight:600}.feeling-bar{flex:0 0 8px;grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.feeling-bar-large{margin-top:6px}.feeling-cell{background:var(--border-strong);border-radius:2px;height:8px;transition:background .12s}.feeling-cell.filled{background:linear-gradient(90deg, var(--accent), var(--accent-strong))}.feeling-slider{width:100%;accent-color:var(--accent)}.pre-feeling-value{color:var(--text);font-size:13px;font-weight:600}.modal-card-wide{max-width:760px}.empty-state{text-align:center;color:var(--text-muted);margin:0;padding:28px 18px;font-size:13px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;padding:calc(var(--topbar-height) + 12px) 32px 32px;background:#05070c99;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:640px;max-height:calc(100vh - var(--topbar-height) - 44px);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px;display:flex}.modal-header-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-heading,.modal-header-content{min-width:0}.modal-header h3{margin:0;font-size:15px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12px}.modal-header-actions{flex:none;align-items:center;gap:10px;display:inline-flex}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--bg-panel-elev);justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.modal-save-error{color:#ff8a8a;margin:0 auto 0 0;font-size:12px;line-height:1.4}.workflow-save-state{color:var(--text-muted);margin:0 auto 0 0;font-size:12px;line-height:1.4}.form-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.modal-card.workflow-modal-card{width:min(100vw - 64px,1320px);max-width:none}.trade-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.trade-workflow-grid-system{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-option-field{gap:8px}.strategy-target-plan{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);gap:12px;padding:12px;display:grid}.strategy-target-plan>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.strategy-target-plan h4,.strategy-target-plan p{margin:0}.strategy-target-plan h4{color:var(--text);font-size:13px}.strategy-target-plan header p,.strategy-custom-target-note{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.45}.strategy-target-unit{color:var(--text-muted);flex:none;font-size:11px}.strategy-target-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.strategy-target-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);cursor:pointer;gap:8px;padding:10px;display:flex}.strategy-target-mode.active{border-color:var(--accent);background:var(--accent-soft)}.strategy-target-mode input{width:auto;margin:2px 0 0}.strategy-target-mode>span{gap:3px;display:grid}.strategy-target-mode strong{color:var(--text);font-size:12px}.strategy-target-mode small{color:var(--text-muted);font-size:11px;line-height:1.35}.strategy-fixed-targets{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:12px;display:grid}.strategy-fixed-tp-list{gap:8px;display:grid}.strategy-fixed-tp-row{grid-template-columns:minmax(0,1fr) 36px;align-items:end;gap:8px;display:grid}.strategy-fixed-tp-remove,.workflow-remove-tp{margin-bottom:2px}.strategy-fixed-tp-add{justify-self:start}.strategy-rr-targets{max-width:300px}.strategy-rr-input{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.strategy-rr-input>span{color:var(--text-secondary);font-size:13px;font-weight:600}.strategy-option-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.strategy-option-add-button{min-width:76px}.instrument-library-row{grid-template-columns:minmax(140px,.8fr) minmax(240px,1.5fr) auto;align-items:end;gap:8px;display:grid}.instrument-library-control{gap:6px;display:grid}.instrument-library-control>span{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.instrument-selection-groups{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel-elev);gap:8px;padding:10px;display:grid}.instrument-selection-groups section{gap:5px;display:grid}.instrument-selection-groups section>small{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.strategy-option-chips{flex-wrap:wrap;gap:7px;display:flex}.strategy-option-chips button{border:1px solid var(--border);background:var(--bg-app);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;display:inline-flex}.account-detail-panel-wide{grid-column:1/-1}.modal-card.backtest-modal-card{width:min(100vw - 64px,1320px);max-width:none}.backtest-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.backtest-saved-count{color:var(--text-muted);margin:0 auto 0 0;font-size:12px}.modal-save-error+.backtest-saved-count{margin-left:0}.backtest-logger{gap:14px;display:grid}.backtest-logger-section,.backtest-screenshot-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel-elev);padding:16px}.backtest-logger-section>header,.backtest-screenshot-field>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.backtest-logger-section>header h4{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px}.backtest-logger-section>header span,.backtest-screenshot-field>header>span{color:var(--text-muted);font-size:12px}.backtest-trade-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.backtest-target-list{gap:10px;display:grid}.backtest-target-row{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr) 36px;align-items:end;gap:10px;display:grid}.backtest-rr-value{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);flex-direction:column;justify-content:center;gap:5px;min-height:59px;padding:8px 10px;display:flex}.backtest-rr-value span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.backtest-rr-value strong{font-size:13px}.backtest-remove-target{margin-bottom:2px}.backtest-screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.backtest-screenshot-field>header{margin-bottom:10px}.backtest-screenshot-field>header>span{color:var(--text);font-weight:600}.backtest-screenshot-field>p,.backtesting-card-empty{color:var(--text-muted);margin:0;font-size:12px}.backtesting-dashboard{min-height:0;padding-right:4px;overflow-y:auto}.backtesting-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.backtesting-metric-card{flex-direction:column;justify-content:space-between;gap:10px;min-height:94px;padding:16px;display:flex}.backtesting-metric-card>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.backtesting-metric-card>strong{font-size:22px}.backtesting-metric-card .positive,.backtesting-performance-rows .positive{color:#6cd49a}.backtesting-metric-card .negative,.backtesting-performance-rows .negative{color:#f08688}.backtesting-metric-card .flat,.backtesting-performance-rows .flat{color:var(--text-muted)}.backtesting-performance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.backtesting-performance-card{min-height:210px;padding:16px}.backtesting-performance-card.featured{grid-column:span 1}.backtesting-performance-rows{display:grid}.backtesting-performance-rows>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 0;display:grid}.backtesting-performance-rows>div:last-child{border-bottom:0}.backtesting-performance-rows span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.backtesting-performance-rows small{color:var(--text-muted);grid-column:1;font-size:11px}.backtesting-performance-rows strong{grid-area:1/2/span 2;align-self:center;font-size:13px}.backtesting-empty-state{text-align:center;place-items:center;min-height:260px;display:grid}.backtesting-empty-state h3,.backtesting-empty-state p{margin:0}.backtesting-empty-state p{color:var(--text-muted)}@media (max-width:1180px){.backtesting-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.backtest-trade-grid,.backtesting-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.backtest-setup-grid,.backtest-trade-grid,.backtest-screenshot-grid,.backtesting-summary-grid,.backtesting-performance-grid,.backtest-target-row{grid-template-columns:1fr}}.workflow-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel-elev);flex-direction:column;gap:14px;min-width:0;height:100%;padding:16px;display:flex}.workflow-card-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.workflow-card-footer .scale-field{margin-top:0}.workflow-screenshot-slot{align-items:center;gap:10px;min-height:74px;padding-top:4px;display:flex}.workflow-screenshot-preview{flex:1;min-width:0}.workflow-screenshot-preview .screenshot-gallery{gap:8px;padding:2px 0;display:flex;overflow-x:auto}.workflow-screenshot-preview .screenshot-thumb{flex:0 0 88px;width:88px}.workflow-card-pre{border-color:#f5b86c47}.workflow-card-entry{border-color:#6c8cff47}.workflow-card-exit{border-color:#4cc88247}.workflow-card-header{flex-direction:column;gap:2px;display:flex}.workflow-card-header h4{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:13px}.workflow-card-header span{color:var(--text-muted);font-size:12px}.stage-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;gap:12px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field-wide{grid-column:1/-1}.field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.field small{color:var(--text-muted);font-size:11px;line-height:1.4}.trade-target-summary{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.workflow-tp-plan{background:0 0;border:0;gap:10px;padding:0;display:grid}.workflow-tp-plan>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.workflow-tp-plan>header>div{gap:2px;display:grid}.workflow-tp-plan>header span{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.workflow-tp-plan>header small{color:var(--text-muted);font-size:11px}.workflow-tp-list{gap:9px;display:grid}.workflow-tp-row{grid-template-columns:minmax(0,1fr) 36px;align-items:end;gap:8px;display:grid}.workflow-tp-row:has(.trade-target-field:last-child){grid-template-columns:minmax(0,1fr)}.workflow-execution-plan{background:0 0;border:0;gap:10px;padding:0;display:grid}.workflow-execution-plan>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.workflow-execution-plan>header>div{gap:2px;display:grid}.workflow-execution-plan>header span{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.workflow-execution-plan>header small{color:var(--text-muted);font-size:11px}.workflow-execution-list{gap:9px;display:grid}.workflow-execution-row{grid-template-columns:repeat(2,minmax(0,1fr)) 36px;align-items:end;gap:8px;display:grid}.workflow-execution-row:not(:has(.workflow-remove-execution)){grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-execution-summary{grid-template-columns:repeat(2,minmax(0,1fr)) 36px;gap:8px;display:grid}.workflow-execution-total{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel-elev);font-variant-numeric:tabular-nums;grid-column:2;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:8px 10px;display:flex}.workflow-execution-total span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.workflow-execution-total strong{color:var(--text);font-size:13px;font-weight:700}.workflow-execution-total.positive strong{color:#6cd49a}.workflow-execution-total.negative strong,.workflow-amount-risked.is-over-limit>span,.workflow-amount-risked.is-over-limit small{color:var(--danger)}.workflow-amount-risked.is-over-limit input{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);box-shadow:0 0 0 1px var(--danger-soft)}.field input,.field select,.field textarea{background:var(--bg-panel-elev);width:100%;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--bg-app)}.field input:disabled,.field select:disabled,.field textarea:disabled{cursor:not-allowed;opacity:.55}.field textarea{resize:vertical;min-height:60px;font-family:inherit}.field textarea.strategy-expanding-textarea{resize:none;overflow-y:hidden}.workflow-notes-field textarea{min-height:160px}.workflow-notes-field{margin-top:var(--workflow-note-offset,0)}.scale-field{gap:8px;margin-top:auto}.scale-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.scale-label strong{color:var(--text);letter-spacing:0;font-size:13px;font-weight:600}@media (max-width:1180px){.trade-workflow-grid{grid-template-columns:1fr}}@media (max-width:700px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.sidebar{gap:12px;padding:10px 7px 12px}.brand,.sidebar.collapsed .brand{min-height:40px;padding:0}.brand-toggle,.brand-toggle-compact{width:40px;height:40px}.brand-lockup-image,.brand-symbol-image{object-fit:contain;width:46px;height:46px}.brand-badge,.sidebar-plan-panel,.sidebar-update-status{display:none}.account-context-picker,.sidebar.collapsed .account-context-picker{justify-content:center;width:40px;min-width:40px;padding:0}.account-context-picker select{display:none}.nav-list,.nav-section{align-items:center}.nav-item,.sidebar.collapsed .nav-item{justify-content:center;width:40px;padding:8px}.nav-item span{display:none}.topbar{min-width:0;padding:0 12px}.topbar>div:first-child{min-width:0}.topbar .eyebrow,.topbar h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar h1{font-size:18px}.app-content,.app-content-dashboard{padding:16px 12px 24px;overflow:auto}.account-create-form,.risk-field-grid,.risk-field-grid-three,.form-grid,.stage-field-grid,:is(.workflow-execution-row,.workflow-execution-row:not(:has(.workflow-remove-execution))),.workflow-execution-summary{grid-template-columns:1fr}.workflow-execution-total{grid-column:1}.workflow-remove-execution{justify-self:end}.instrument-library-row,.strategy-option-add-row,.strategy-target-mode-grid,.strategy-fixed-targets{grid-template-columns:1fr}}
