:root{--bg: #0f1419;--surface: #1a2332;--border: #2d3a4f;--text: #e8edf4;--muted: #8b9cb3;--accent: #3d8bfd;--success: #3ecf8e;--danger: #f07178;--warn: #e6b450;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{max-width:1400px;margin:0 auto;padding:1rem 1.25rem 2rem}header.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}header.app-header h1,header.app-header .app-logo-heading{margin:0;font-size:inherit;font-weight:inherit;line-height:1}.app-logo{display:flex;align-items:center;gap:.75rem}.app-logo-mark{flex-shrink:0;width:2.5rem;height:2.5rem;filter:drop-shadow(0 0 10px rgba(61,139,253,.35))}.app-logo-mark-bg{fill:#1a2332f2}.app-logo-mark-ring{fill:none;stroke:url(#logo-mark-grad);stroke-width:2}.app-logo-mark-line{stroke-dasharray:48;animation:logo-line-draw 3.5s ease-in-out infinite}.app-logo-mark-node{fill:#3d8bfd;animation:logo-node-pulse 2.4s ease-in-out infinite}.app-logo-mark-node--2{animation-delay:.35s}.app-logo-mark-node--3{fill:#3ecf8e;animation-delay:.7s}.app-logo-mark-candle{animation:logo-candle-bob 2.8s ease-in-out infinite}.app-logo-wordmark{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.app-logo-part--screener{color:var(--text)}.app-logo-part--route{background:linear-gradient(105deg,#3d8bfd,#5aa0ff 45%,#3ecf8e);-webkit-background-clip:text;background-clip:text;color:transparent}.app-logo-part--quest{color:var(--warn);text-shadow:0 0 20px rgba(230,180,80,.25)}.app-logo-sep{color:var(--muted);opacity:.55;margin:0 .05em;font-weight:400}@keyframes logo-line-draw{0%,to{stroke-dashoffset:48;opacity:.65}50%{stroke-dashoffset:0;opacity:1}}@keyframes logo-node-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.2);opacity:1}}@keyframes logo-candle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@media(max-width:640px){.app-logo-wordmark{font-size:.95rem}.app-logo-mark{width:2.15rem;height:2.15rem}}@media(prefers-reduced-motion:reduce){.app-logo-mark-line,.app-logo-mark-node,.app-logo-mark-candle{animation:none!important}.app-logo-mark-line{stroke-dashoffset:0}}nav.app-nav{display:flex;gap:.5rem}nav.app-nav a{padding:.4rem .85rem;border-radius:6px;color:var(--muted);text-decoration:none}nav.app-nav a.active{background:var(--surface);color:var(--text);border:1px solid var(--border)}.page-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.refresh-control{display:flex;align-items:center;gap:.75rem;flex-shrink:0;padding-top:.15rem}.refresh-meta{font-size:.8rem;color:var(--muted);white-space:nowrap}.btn-secondary{padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-weight:500;cursor:pointer}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem 1rem;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#3c4043;font-weight:500;cursor:pointer}.btn-google:hover{background:#f8f9fa;border-color:#d2d4d8}.btn-google-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.header-auth{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:.4rem;max-width:14rem}.user-menu-trigger-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{font-size:.7rem;opacity:.75}.user-menu-panel{position:absolute;top:calc(100% + .35rem);right:0;z-index:50;min-width:15rem;padding:.35rem 0;background:#1a2332fa;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000059}.user-menu-meta{padding:.55rem .85rem .65rem;border-bottom:1px solid var(--border)}.user-menu-meta-name{font-size:.9rem;font-weight:600}.user-menu-meta-email,.user-menu-meta-sync{margin-top:.25rem;font-size:.75rem;color:var(--muted);line-height:1.35}.user-menu-item{display:block;width:100%;padding:.55rem .85rem;border:none;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.user-menu-item:hover:not(:disabled){background:#3d8bfd1f}.user-menu-item:disabled{opacity:.6;cursor:not-allowed}.user-menu-item-danger{color:#f87171}.header-user{font-size:.85rem;color:var(--muted)}.header-universe-message{margin:-.75rem 0 1rem;font-size:.875rem}.login-panel{position:relative;z-index:2;max-width:420px;width:100%;margin:0;padding:2rem;background:#1a2332eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 5.5rem);margin:0 -1.25rem;padding:2rem 1.25rem 3rem;overflow:hidden}.login-loading{position:relative;z-index:2;margin:0;padding:1rem 1.5rem;background:#1a2332e6;border:1px solid var(--border);border-radius:8px}.login-panel-copy{margin:0 0 1.25rem;color:var(--muted)}.login-panel-cta{width:100%}.login-panel-secondary{width:100%;margin-top:.65rem}.login-panel h2{margin:0 0 .75rem}.reco-version-section{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.v2-detail-panel{margin-top:1rem;padding:1rem;background:#1a233299;border:1px solid var(--border);border-radius:8px;overflow:auto}.v2-detail-panel pre{margin:.75rem 0 0;font-size:.75rem;white-space:pre-wrap}.login-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-scene-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(61,139,253,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,139,253,.06) 1px,transparent 1px);background-size:40px 40px;animation:login-grid-drift 18s linear infinite;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 45%,black 15%,transparent 78%);mask-image:radial-gradient(ellipse 90% 80% at 50% 45%,black 15%,transparent 78%)}.login-scene-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4}.login-scene-glow--left{width:480px;height:480px;left:-12%;top:10%;background:#3d8bfd66;animation:login-glow-drift 12s ease-in-out infinite}.login-scene-glow--right{width:420px;height:420px;right:-10%;bottom:5%;background:#3ecf8e52;animation:login-glow-drift 14s ease-in-out infinite reverse}.login-scene-glow--center{width:360px;height:360px;left:50%;top:55%;transform:translate(-50%,-50%);background:#e6b45026;animation:login-glow-pulse 9s ease-in-out infinite}.login-scene-graph-track{position:absolute;left:0;width:200%;display:flex;opacity:.7}.login-scene-graph-track--top{top:12%;height:22%;animation:login-graph-scroll 22s linear infinite}.login-scene-graph-track--mid{top:32%;height:16%;opacity:.5;animation:login-graph-scroll 16s linear infinite reverse}.login-scene-graph-svg{flex:0 0 50%;width:50%;height:100%}.login-scene-area{fill:url(#login-area-green);opacity:.55}.login-scene-defs{position:absolute;width:0;height:0;overflow:hidden}.login-scene-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 8;animation:login-line-flow 1.2s linear infinite}.login-scene-line--green{stroke:#3ecf8ed9}.login-scene-line--blue{stroke:#3d8bfdbf}.login-scene-line--thin{stroke-width:1.5;opacity:.55;stroke-dasharray:6 10}.login-scene-money{position:absolute;display:flex;gap:2.5rem;font-size:1.1rem;white-space:nowrap}.login-scene-money--1{top:8%;left:-10%;animation:login-money-flow-1 14s linear infinite}.login-scene-money--2{top:26%;right:-15%;animation:login-money-flow-2 18s linear infinite}.login-scene-money--3{bottom:38%;left:-20%;animation:login-money-flow-3 20s linear infinite}.login-scene-money--4{bottom:22%;right:-12%;animation:login-money-flow-4 16s linear infinite}.login-scene-rupee{color:#e6b450d9;font-weight:700;text-shadow:0 0 12px rgba(230,180,80,.45);animation:login-money-bob 2.4s ease-in-out infinite}.login-scene-coin{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;font-size:.65rem;color:#e6b450f2;background:radial-gradient(circle at 35% 35%,#e6b45080,#b4822840);border:1px solid rgba(230,180,80,.45);box-shadow:0 0 10px #e6b45040;animation:login-coin-spin 3s linear infinite}.login-scene-candle-track{position:absolute;left:0;right:0;bottom:14%;height:100px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.login-scene-candle-scroll{display:flex;width:max-content;animation:login-candle-scroll 28s linear infinite}.login-scene-candle-svg{flex:0 0 auto;width:840px;height:88px}.login-scene-candle-svg line,.login-scene-candle-r rect{stroke:#f07178e6;fill:#f0717873;stroke-width:1.5}.login-scene-candle-r line{stroke:#f07178e6}.login-scene-candle-g line,.login-scene-candle-g rect{stroke:#3ecf8ef2;fill:#3ecf8e80;stroke-width:1.5}.login-scene-candle-g,.login-scene-candle-r{animation:login-candle-wiggle 2.8s ease-in-out infinite}.login-scene-volume-track{position:absolute;left:0;right:0;bottom:4%;height:56px;overflow:hidden;opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent);mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent)}.login-scene-volume-scroll{display:flex;align-items:flex-end;gap:6px;height:100%;width:max-content;animation:login-volume-scroll 20s linear infinite}.login-scene-volume-bar{flex:0 0 10px;width:10px;min-height:8px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#3d8bfdbf,#3d8bfd26);animation:login-volume-pulse 1.6s ease-in-out infinite}.login-scene-volume-bar:nth-child(3n){background:linear-gradient(180deg,#3ecf8eb3,#3ecf8e1f)}.login-scene-volume-bar:nth-child(5n){background:linear-gradient(180deg,#f07178a6,#f071781a)}.login-scene-nse{position:absolute;left:6%;bottom:18%;width:min(130px,20vw);opacity:.88;filter:drop-shadow(0 8px 28px rgba(61,139,253,.25));animation:login-nse-float 6s ease-in-out infinite}.login-scene-nse-base,.login-scene-nse-tower,.login-scene-nse-spire,.login-scene-nse-antenna{fill:#243044f2;stroke:#3d8bfd80;stroke-width:1.2}.login-scene-nse-windows rect{fill:#3d8bfd38;stroke:none;animation:login-window-blink 3s ease-in-out infinite}.login-scene-nse-windows rect:nth-child(2n){animation-delay:.6s}.login-scene-nse-windows rect:nth-child(3n){animation-delay:1.2s}.login-scene-nse-label{fill:#8b9cb3f2;font-size:11px;font-weight:600;letter-spacing:.12em;font-family:IBM Plex Sans,system-ui,sans-serif}.login-scene-ticker-tape{position:absolute;top:0;left:0;right:0;height:2rem;background:#0f1419bf;border-bottom:1px solid rgba(62,207,142,.2);overflow:hidden;display:flex;align-items:center}.login-scene-ticker-scroll{display:flex;gap:3rem;white-space:nowrap;animation:login-ticker-scroll 35s linear infinite;font-family:ui-monospace,IBM Plex Mono,monospace;font-size:.75rem;color:var(--success)}.login-scene-ticker-scroll span:nth-child(6n+5),.login-scene-ticker-scroll span:nth-child(6n+6){color:var(--danger)}.login-scene-ticker{position:absolute;padding:.35rem .7rem;border-radius:999px;font-size:.7rem;font-family:ui-monospace,IBM Plex Mono,monospace;font-weight:500;color:var(--success);background:#3ecf8e1f;border:1px solid rgba(62,207,142,.28);white-space:nowrap}.login-scene-ticker--float-1{top:18%;right:8%;animation:login-badge-float 8s ease-in-out infinite}.login-scene-ticker--float-2{top:48%;left:10%;animation:login-badge-float 10s ease-in-out infinite 1s}.login-scene-ticker--float-3{bottom:32%;right:12%;animation:login-badge-float 9s ease-in-out infinite .5s}@keyframes login-grid-drift{0%{transform:translate(0)}to{transform:translate(40px,40px)}}@keyframes login-glow-drift{0%,to{transform:translate(0) scale(1);opacity:.32}50%{transform:translate(30px,-20px) scale(1.1);opacity:.48}}@keyframes login-glow-pulse{0%,to{opacity:.12;transform:translate(-50%,-50%) scale(1)}50%{opacity:.22;transform:translate(-50%,-50%) scale(1.15)}}@keyframes login-graph-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes login-line-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-40}}@keyframes login-money-flow-1{0%{transform:translate(0) rotate(-8deg);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translate(120vw,-40px) rotate(-8deg);opacity:0}}@keyframes login-money-flow-2{0%{transform:translate(0) rotate(6deg);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translate(-115vw,30px) rotate(6deg);opacity:0}}@keyframes login-money-flow-3{0%{transform:translate(0) rotate(-4deg);opacity:0}10%{opacity:.75}90%{opacity:.75}to{transform:translate(110vw,20px) rotate(-4deg);opacity:0}}@keyframes login-money-flow-4{0%{transform:translate(0) rotate(5deg);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translate(-105vw,-25px) rotate(5deg);opacity:0}}@keyframes login-money-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes login-coin-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes login-candle-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes login-candle-wiggle{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-3px) scaleY(1.06)}}@keyframes login-volume-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes login-volume-pulse{0%,to{transform:scaleY(.85);opacity:.6}50%{transform:scaleY(1.15);opacity:1}}@keyframes login-nse-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes login-window-blink{0%,to{fill:#3d8bfd26}50%{fill:#e6b450a6}}@keyframes login-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes login-badge-float{0%,to{transform:translate(0);opacity:.65}50%{transform:translate(12px,-14px);opacity:1}}@media(max-width:768px){.login-scene-nse{left:2%;bottom:16%;width:80px;opacity:.6}.login-scene-candle-track{bottom:12%;height:72px}.login-scene-candle-svg{width:640px;height:72px}.login-scene-money{font-size:.9rem;gap:1.5rem}.login-scene-graph-track--top{top:10%;opacity:.45}.login-scene-ticker--float-2,.login-scene-ticker--float-3{display:none}}@media(prefers-reduced-motion:reduce){.login-scene-grid,.login-scene-glow,.login-scene-graph-track,.login-scene-line,.login-scene-candle-scroll,.login-scene-candle-g,.login-scene-candle-r,.login-scene-volume-scroll,.login-scene-volume-bar,.login-scene-nse,.login-scene-nse-windows rect,.login-scene-ticker-scroll,.login-scene-ticker,.login-scene-money,.login-scene-rupee,.login-scene-coin{animation:none!important}}.order-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:.75rem}.order-form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted)}.order-form-grid input,.order-form-grid select{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.confirm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1100}.confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;max-width:420px;width:90%}.confirm-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.order-disclaimer{font-size:.8rem;color:var(--muted)}.orders-table .order-message{max-width:280px;white-space:normal;font-size:.8rem;color:var(--muted);line-height:1.35}.code-block{overflow:auto;max-height:280px;padding:.75rem;background:var(--bg);border-radius:8px;border:1px solid var(--border);font-size:.75rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin-bottom:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.filters input,.filters select{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.9rem;min-width:140px}.filters button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}.filters button:disabled{opacity:.5;cursor:not-allowed}.summary-cards{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.summary-card{padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:120px}.summary-card .label{font-size:.7rem;color:var(--muted);text-transform:uppercase}.summary-card .value{font-size:1.25rem;font-weight:600}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}table.data-table{width:100%;border-collapse:collapse;font-size:.85rem}table.data-table th,table.data-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}table.data-table th{position:sticky;top:0;background:#243044;color:var(--muted);font-weight:500;font-size:.72rem;text-transform:uppercase}.sortable-th{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.sortable-th:hover,.sortable-th.active{color:var(--text)}.sort-indicator{font-size:.65rem;opacity:.55}.sortable-th.active .sort-indicator{opacity:1;color:var(--accent)}table.data-table tr:hover td{background:#3d8bfd0f}tr.table-group-header td{background:#1a2332;color:var(--text);font-size:.82rem;font-weight:600;border-bottom:1px solid var(--border);border-top:1px solid var(--border)}tr.table-group-header:first-child td{border-top:none}.table-group-count{margin-left:.75rem;color:var(--muted);font-weight:400;font-size:.78rem}.table-group-pnl{margin-left:.75rem;font-weight:600;font-size:.78rem}.table-group-pnl-positive{color:var(--success)}.table-group-pnl-negative{color:var(--danger)}.perf-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.75rem}.perf-status-legend{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.perf-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted)}.perf-legend-swatch{width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.perf-legend-swatch-open{background:var(--accent)}.perf-legend-swatch-t1{background:#5fd4a4}.perf-legend-swatch-t2{background:var(--success)}.perf-legend-swatch-stop{background:var(--danger)}.perf-status-badge{display:inline-block;padding:.12rem .45rem;border-radius:4px;font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.perf-status-badge-open{color:#9ec5ff;background:#3d8bfd2e}.perf-status-badge-t1{color:#8ef0c8;background:#5fd4a42e}.perf-status-badge-t2{color:#b8f5d8;background:#3ecf8e38}.perf-status-badge-stop{color:#ffb4b9;background:#f071782e}tr.perf-row-open td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.perf-row-t1 td:first-child{box-shadow:inset 3px 0 #5fd4a4}tr.perf-row-t2 td:first-child{box-shadow:inset 3px 0 0 var(--success)}tr.perf-row-stop td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tr.perf-row-open td{background:#3d8bfd0f}tr.perf-row-t1 td{background:#5fd4a412}tr.perf-row-t2 td{background:#3ecf8e17}tr.perf-row-stop td{background:#f0717812}tr.table-group-header.perf-group-open td{box-shadow:inset 3px 0 0 var(--accent);background:#3d8bfd1f}tr.table-group-header.perf-group-t1 td{box-shadow:inset 3px 0 #5fd4a4;background:#5fd4a41f}tr.table-group-header.perf-group-t2 td{box-shadow:inset 3px 0 0 var(--success);background:#3ecf8e24}tr.table-group-header.perf-group-stop td{box-shadow:inset 3px 0 0 var(--danger);background:#f071781f}table.data-table tr.perf-row-open:hover td,table.data-table tr.perf-row-t1:hover td,table.data-table tr.perf-row-t2:hover td,table.data-table tr.perf-row-stop:hover td{filter:brightness(1.08)}.badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.72rem;font-weight:500}.badge.long{background:#3ecf8e26;color:var(--success)}.badge.short{background:#f0717826;color:var(--danger)}.badge.btst{background:#e6b45026;color:var(--warn)}.badge.success{background:#3ecf8e26;color:var(--success)}.badge.fail,.badge.failure{background:#f0717826;color:var(--danger)}.badge.pending{background:#8b9cb326;color:var(--muted)}.error-banner{padding:.75rem 1rem;margin-bottom:1rem;background:#f071781f;border:1px solid var(--danger);border-radius:8px;color:var(--danger)}.empty-state{padding:2rem;text-align:center;color:var(--muted)}.tabs{display:flex;gap:.25rem;margin-bottom:1rem}.tabs button{padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.num-pos{color:var(--success)}.num-neg{color:var(--danger)}.row-clickable{cursor:pointer}.row-clickable:hover{background:#3d8bfd14}.row-selected{background:#3d8bfd1f}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;justify-content:flex-end}.drawer-panel{width:min(720px,100vw);height:100%;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-sub{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.drawer-close{padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);cursor:pointer}.drawer-body{overflow:auto;padding:0 1.25rem 1.5rem}.drawer-muted{padding:1rem 1.25rem;color:var(--muted)}.detail-section{margin-top:1.25rem}.detail-section h3{margin:0 0 .5rem;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pattern-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pattern-item{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.85rem}.pattern-label{font-weight:500;color:var(--text)}.pattern-confidence{color:var(--muted);font-size:.78rem}.badge.pattern-continuation{background:#3d8bfd26;color:var(--accent)}.badge.pattern-reversal{background:#ffb45426;color:var(--warn)}.badge.pattern-structure{background:#8ca0b426;color:var(--muted)}.detail-dl{display:grid;grid-template-columns:140px 1fr;gap:.35rem 1rem;margin:0}.detail-dl dt{color:var(--muted);font-size:.85rem}.detail-dl dd{margin:0}.detail-dl-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.detail-dl-item{display:contents}.detail-cell{max-width:280px;white-space:normal;font-size:.85rem;color:var(--muted)}.mono{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:.8rem;word-break:break-all}.price-chart-wrap{width:100%}.price-chart-svg{width:100%;height:auto;display:block;background:var(--bg);border:1px solid var(--border);border-radius:8px}.price-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-top:.5rem;font-size:.8rem;color:var(--muted)}.price-chart-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:middle}.price-chart-range{margin-left:auto;font-size:.75rem}
