:root{--bg: #f6f8fb;--surface: #ffffff;--surface-elevated: #ffffff;--border: #dce3ec;--border-light: #eef2f7;--text: #000000;--text-secondary: #202020;--text-muted: #505050;--accent: #6fa8dc;--accent-hover: #5a96cf;--accent-light: #9cc6eb;--yes: #15803d;--yes-bg: #dcfce7;--yes-hover: #166534;--no: #b91c1c;--no-bg: #fee2e2;--no-hover: #991b1b;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(25, 46, 66, .08);--shadow-md: 0 12px 24px rgba(25, 46, 66, .12);--font: "Space Grotesk", sans-serif;--transition: .2s ease;--sidebar-width: 238px}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover);text-decoration:underline}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit}.dash-layout{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.dash-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--surface-elevated);border-right:1px solid var(--border);padding:1rem 0 .75rem;display:flex;flex-direction:column;transform:translate(0);transition:transform .2s ease,border-color .2s ease;z-index:2}.dash-layout.is-collapsed .dash-sidebar{transform:translate(calc(-1 * var(--sidebar-width)));border-right-color:transparent;pointer-events:none}.sidebar-brand{padding:0 1.1rem .95rem;border-bottom:1px solid var(--border-light);margin-bottom:.4rem}.sidebar-brand__name{font-size:1.15rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.sidebar-brand__tagline{font-size:.75rem;color:var(--text-muted);margin-top:1px}.sidebar-nav{display:flex;flex-direction:column;gap:.18rem;padding:.35rem .5rem;min-height:0;overflow-y:auto}.dash-main{flex:1;overflow:auto;padding:1.75rem 2rem;min-width:0;margin-left:var(--sidebar-width);transition:margin-left .2s ease}.dash-layout.is-collapsed .dash-main{margin-left:0}@media(max-width:600px){.dash-main{padding:1.25rem 1rem}.dash-header{margin-bottom:1.25rem}.dash-header h1{font-size:1.35rem}}.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light);flex-wrap:wrap;gap:1rem}.dash-header__left,.dash-header__right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dash-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.sidebar-chevron{position:fixed;top:120px;left:calc(var(--sidebar-width) - 10px);transform:translateY(-50%);width:20px;height:20px;border-radius:999px;border:1px solid var(--border);background:#f8fafc;color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:3;box-shadow:0 1px 4px #192e421f;transition:left .2s ease,background .15s ease,box-shadow .15s ease,border-color .15s ease}.sidebar-chevron:hover{background:#eef3f9;border-color:#d6deea;box-shadow:0 2px 8px #192e4229}.sidebar-chevron.is-collapsed{left:7px;transform:translateY(-50%)}.sidebar-chevron__icon{width:10px;height:10px;position:relative;transform:rotate(0);transition:transform .2s ease}.sidebar-chevron__icon:before,.sidebar-chevron__icon:after{content:"";position:absolute;top:50%;left:0;width:7px;height:1.4px;background:#4b5563;border-radius:999px;transform-origin:left center}.sidebar-chevron__icon:before{transform:translateY(-50%) rotate(45deg)}.sidebar-chevron__icon:after{transform:translateY(-50%) rotate(-45deg)}.sidebar-chevron.is-collapsed .sidebar-chevron__icon{transform:rotate(180deg)}.cell--neg{color:var(--no);font-weight:600}.cell--pos{color:var(--yes);font-weight:600}.trade-row-clickable{cursor:pointer}.trade-actions-cell{white-space:nowrap}.trade-row-actions{display:inline-flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .15s ease}.trade-row:hover .trade-row-actions,.trade-row-actions.is-visible{opacity:1}.trade-icon-btn{border:1px solid transparent;background:transparent;color:var(--text-muted);width:24px;height:24px;padding:4px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;line-height:0}.trade-icon-btn:hover{background:#f2f4f8;color:#626b78}.trade-icon-btn.is-danger{color:var(--no)}.market-status-bar{display:flex;align-items:center;justify-content:flex-end;width:100%;min-height:3.5rem;padding:0;margin-bottom:0;background:transparent;font-family:var(--font)}.market-status-bar__right{display:flex;align-items:center;gap:.75rem}.market-status-bar__badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;border-radius:6px}.market-status-bar__badge--open{background:#dcfce7;color:#16a34a}.market-status-bar__badge--extended{background:#eff6ff;color:#2563eb}.market-status-bar__badge--closed{background:#f1f5f9;color:var(--text-muted)}.market-status-bar__countdown{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border-light);background:var(--border-light);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.market-status-bar__countdown--warning{background:#fef3c7;border-color:#fcd34d;color:#92400e}.market-status-bar__countdown--open{background:#dcfce7;border-color:#bbf7d0;color:#166534}.market-status-bar__countdown--neutral{background:var(--border-light);border-color:var(--border-light);color:var(--text-secondary)}.market-status-bar__vix{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border-light);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.market-status-bar__vix--bull{background:#dcfce7;border-color:#bbf7d0;color:#166534}.market-status-bar__vix--fear{background:#fee2e2;border-color:#fecaca;color:#991b1b}.market-status-bar__vix--neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;overflow:hidden;transition:box-shadow var(--transition),border-color var(--transition)}.card:hover{box-shadow:none;border-color:var(--border)}.card-header{padding:1rem 1.5rem;font-weight:600;font-size:.95rem;color:var(--text);border-bottom:1px solid var(--border-light);background:transparent}.card-body{padding:1.5rem}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:hover{background:transparent}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000}.modal-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:#fafbfc;font-weight:600}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:.75rem}.modal-row{display:flex;justify-content:space-between;font-size:.9rem}.quickfind-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1.5rem 1.5rem;z-index:1200;backdrop-filter:blur(2px)}.quickfind-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.quickfind-header{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid var(--border-light);background:#fafbfc}.quickfind-input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .7rem;font-size:.95rem;background:var(--surface)}.quickfind-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}.quickfind-close{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);padding:.45rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}.quickfind-results{display:flex;flex-direction:column;max-height:45vh;overflow:auto}.quickfind-item{text-align:left;padding:.8rem 1rem;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font);border-bottom:1px solid var(--border-light)}.quickfind-item:hover{background:var(--border-light)}.quickfind-item__label{font-weight:600;color:var(--text)}.quickfind-item__path{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.quickfind-empty{padding:1rem;color:var(--text-muted)}.quickfind-hint{padding:.75rem 1rem 1rem;font-size:.75rem;color:var(--text-muted)}.metric-block{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;background:var(--border-light);border-radius:var(--radius-sm);min-width:100px}.metric-label{font-size:.8rem;color:var(--text-muted)}.metric-value{font-weight:700;font-size:1.1rem;color:var(--text)}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.form-control{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}.form-control::placeholder{color:var(--text-muted)}.search-input{width:100%;max-width:320px;padding:.5rem 1rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--transition),border-color var(--transition),color var(--transition),transform .15s ease}.btn:not(:disabled):active{transform:translateY(.5px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--border-light);color:var(--text)}.btn-yes{background:var(--yes);color:#fff;border-color:var(--yes)}.btn-yes:hover:not(:disabled){background:var(--yes-hover);border-color:var(--yes-hover)}.btn-no{background:var(--no);color:#fff;border-color:var(--no)}.btn-no:hover:not(:disabled){background:var(--no-hover);border-color:var(--no-hover)}.btn-danger{background:var(--no);color:#fff;border-color:var(--no)}.btn-danger:hover:not(:disabled){background:var(--no-hover);border-color:var(--no-hover)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-outline.btn-yes{background:transparent;color:var(--yes);border-color:#15803d73}.btn-outline.btn-yes:hover:not(:disabled){background:var(--yes-bg);border-color:var(--yes);color:var(--yes)}.btn-outline.btn-no{background:transparent;color:var(--no);border-color:var(--no)}.btn-outline.btn-no:hover:not(:disabled){background:var(--no);border-color:var(--no);color:#fff}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.btn-group{display:inline-flex;gap:.35rem}.execution-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);background:var(--border-light);color:var(--text-muted)}.execution-badge.is-enabled{background:#10b9811f;color:#065f46;border-color:#10b98159}.execution-badge.is-readonly{background:#ef44441f;color:#7f1d1d;border-color:#ef444459}.execution-pill{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border)}.execution-pill.is-enabled{background:#10b9811f;color:#065f46;border-color:#10b98159}.execution-pill.is-readonly{background:#ef44441f;color:#7f1d1d;border-color:#ef444459}.execution-preview,.execution-market{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.75rem;background:var(--surface)}.execution-preview__grid{display:grid;grid-template-columns:auto auto;gap:.5rem 1rem;font-size:.85rem;color:var(--text)}.execution-confirm{display:grid;gap:.5rem}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.data-table{width:100%;border-collapse:collapse;font-size:.875rem}table.data-table th,table.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-light);white-space:nowrap}table.data-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:transparent}table.data-table td{white-space:normal}table.data-table tbody tr{transition:background var(--transition)}table.data-table tbody tr:hover td{background:#6fa8dc1f}table.data-table tbody tr.clickable-row:active td{background:#6fa8dc33}table.data-table .cell--mono{font-variant-numeric:tabular-nums}table.data-table .cell-iv-edit:hover{text-decoration:underline;text-underline-offset:2px}table.data-table .th-sort{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;text-align:left;width:100%;transition:color var(--transition)}table.data-table .th-sort:hover{color:var(--accent)}table.data-table .th-sort-icon{font-weight:700;color:var(--accent)}.close-scanner-controls{display:grid;gap:.9rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.close-scanner-input-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:.75rem}.close-scanner-config-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.75rem}.close-scanner-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.75rem}.close-scanner-filter{min-width:0}.close-scanner-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.close-scanner-toggle{min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fbff;padding:.55rem .65rem}.close-scanner-toggle__label{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-secondary);user-select:none}.close-scanner-footer{padding-top:0}.close-scanner-note{font-size:.82rem;color:var(--text-muted);margin-top:.35rem}.close-scanner-meta{display:flex;flex-wrap:wrap;gap:.65rem;font-size:.82rem;color:var(--text-secondary)}.close-scanner-meta span{border:1px solid var(--border);border-radius:999px;background:#f8fbff;padding:.18rem .55rem}.close-scanner-help{margin-top:.7rem}.close-scanner-help summary{font-size:.84rem;color:var(--text-secondary);font-weight:600;cursor:pointer}.close-scanner-help[open] summary{margin-bottom:.2rem}.close-scanner-status{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.close-scanner-countdown{font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums}.close-scanner-state{font-size:.9rem;border-radius:999px;padding:.3rem .7rem;border:1px solid var(--border)}.close-scanner-state.is-active{color:var(--yes);background:var(--yes-bg)}.close-scanner-state.is-waiting{color:var(--text-secondary);background:var(--border-light)}table.close-scanner-table tbody tr.close-scanner-row--qualified td{background:#22c55e1a}table.close-scanner-table tbody tr.close-scanner-row--qualified:hover td{background:#22c55e29}table.close-scanner-table tbody tr.close-scanner-row--blue td{background:#3b82f624}table.close-scanner-table tbody tr.close-scanner-row--blue:hover td{background:#3b82f638}table.close-scanner-table td.edge-tier{font-weight:700}table.close-scanner-table td.edge-tier--pos1{color:#4f9f61}table.close-scanner-table td.edge-tier--pos2{color:#2f8a4b}table.close-scanner-table td.edge-tier--pos3{color:#18743a}table.close-scanner-table td.edge-tier--neg1{color:#c46a63}table.close-scanner-table td.edge-tier--neg2{color:#b6453d}table.close-scanner-table td.edge-tier--neg3{color:#982f2a}@media(max-width:1024px){.close-scanner-input-grid{grid-template-columns:1fr}.close-scanner-config-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.close-scanner-toggle-grid{grid-template-columns:1fr}}@media(max-width:640px){.close-scanner-config-grid{grid-template-columns:1fr}.close-scanner-actions{display:grid;grid-template-columns:1fr}.close-scanner-actions .btn{width:100%}.close-scanner-countdown{font-size:1.25rem}}.lastcall-topbar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);padding:.75rem .95rem}.lastcall-countdown{font-size:.95rem;font-weight:700;color:var(--text)}.lastcall-countdown.is-warning{color:#b45309}.lastcall-countdown.is-urgent{color:#b91c1c;animation:lastcallPulse 1.2s ease-in-out infinite}.lastcall-countdown.is-closed{color:#6b7280}.lastcall-pattern{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.lastcall-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end}.lastcall-updated{font-size:.78rem;color:var(--text-muted);margin-top:.35rem}table.lastcall-table tbody tr.lastcall-hot td{background:#f59e0b29;font-weight:700}table.lastcall-table tbody tr.lastcall-warm td{background:#f59e0b14}table.lastcall-table tbody tr.lastcall-empty td{color:#6b7280;background:#f7f7f8}table.lastcall-table td.lastcall-pos{color:#0f766e;font-weight:700}table.lastcall-table td.lastcall-neg{color:#b91c1c;font-weight:700}table.lastcall-table td.lastcall-wait{color:#a16207;font-weight:700}table.lastcall-table td.lastcall-buy-yes{color:#166534;font-weight:700}table.lastcall-table td.lastcall-buy-no{color:#991b1b;font-weight:700}@keyframes lastcallPulse{0%,to{opacity:1}50%{opacity:.45}}@media(max-width:900px){.lastcall-topbar{align-items:flex-start;flex-direction:column}.lastcall-pattern{white-space:normal}}.input-iv-edit::-webkit-inner-spin-button,.input-iv-edit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-iv-edit{-moz-appearance:textfield}.saved-markets-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light)}.saved-markets-page-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--text)}.saved-markets-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;padding:1.25rem 1.5rem}.saved-markets-group{border-top:1px solid var(--border-light)}.saved-markets-group:first-of-type{border-top:none}.saved-markets-group__header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.5rem;background:var(--bg);cursor:pointer;transition:background var(--transition)}.saved-markets-group__header:hover{background:#eef2f7}.saved-markets-group__title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.saved-markets-group__subtitle{margin:.15rem 0 0;font-size:.85rem;color:var(--text-muted)}.saved-markets-group__count{font-size:.85rem;color:var(--text-muted)}.saved-markets-page-hint{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}@media(max-width:900px){.saved-markets-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.saved-markets-grid{grid-template-columns:1fr}}.saved-market-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:visible;display:flex;flex-direction:column;padding:1rem;cursor:pointer;transition:box-shadow var(--transition),border-color var(--transition),background var(--transition)}.saved-market-card.is-draggable{cursor:grab}.saved-market-card.is-dragging{opacity:.6;cursor:grabbing}.saved-market-card.is-drop-target{outline:2px dashed var(--accent);outline-offset:2px}.saved-market-card:hover{box-shadow:var(--shadow-md);border-color:var(--border);background:#f8fafc}.saved-market-card.staleness-fresh{border-left:3px solid var(--yes)}.saved-market-card.staleness-stale{border-left:3px solid #d97706}.saved-market-card.staleness-very_stale{border-left:3px solid var(--no);opacity:.96}.saved-market-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:0 0 .25rem;min-height:0}.saved-market-card__menu-wrap{position:relative;flex-shrink:0}.saved-market-card__kebab{width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.saved-market-card__kebab:hover{background:var(--border-light);color:var(--text)}.saved-market-card__dropdown{position:absolute;top:100%;right:0;margin-top:2px;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;padding:.25rem 0}.saved-market-card__dropdown button{width:100%;padding:.5rem .75rem;text-align:left;font-size:.85rem;border:none;background:none;color:var(--no);cursor:pointer}.saved-market-card__dropdown button:hover{background:var(--no-bg)}.saved-market-card__title{font-weight:600;font-size:.95rem;line-height:1.35;color:var(--text);margin:0;padding:0;flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.saved-market-card__meta{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0 0;padding:0}.saved-market-card__freshness{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0;padding:0}.saved-market-card__freshness.staleness-fresh{color:var(--yes)}.saved-market-card__freshness.staleness-stale{color:#b45309}.saved-market-card__freshness.staleness-very_stale{color:var(--no)}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.58rem .75rem;color:var(--text-secondary);font-weight:600;font-size:.92rem;border:1px solid transparent;border-radius:10px;margin:0 .2rem;text-decoration:none;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}.nav-link__icon{flex:0 0 auto;opacity:.9}.nav-link:hover{background:#6fa8dc24;color:var(--text);text-decoration:none}.nav-link.active{background:#6fa8dc33;color:var(--text);border-color:#d5e1f0;box-shadow:none;font-weight:600}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;border-radius:6px}.badge-yes{background:var(--yes-bg);color:var(--yes)}.badge-no{background:var(--no-bg);color:var(--no)}.badge-neutral{background:#f1f5f9;color:var(--text-muted)}.stat-value{font-weight:700;font-size:1.5rem;color:var(--text);font-variant-numeric:tabular-nums}.stat-label{font-size:.7rem;color:var(--text-muted);margin-top:.35rem}.open-trades-hero{background:var(--surface);border:1px solid var(--border);box-shadow:none}.open-trades-hero__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.open-trades-hero__title{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.open-trades-hero__subtitle{font-size:.9rem;color:var(--text-muted);margin-top:.45rem}.open-trades-hero__meta{display:flex;align-items:center;gap:.65rem;font-size:.7rem;color:var(--text-muted);font-weight:600;text-transform:none;letter-spacing:.02em}.open-trades-refresh{padding:.3rem .6rem;font-size:.7rem;border-color:var(--border-light);text-transform:none;letter-spacing:0}.open-trades-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.1rem;margin-top:1.25rem}.open-trades-stat{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:1.35rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:none}.open-trades-stat__content{min-width:0;display:flex;flex-direction:column}.stat-icon{width:2rem;height:2rem;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#6fa8dc2e;color:var(--accent)}.stat-icon svg{width:1rem;height:1rem;fill:currentColor}.stat-icon--positions,.stat-icon--exposure,.stat-icon--attention,.stat-icon--confidence{background:#6fa8dc2e;color:var(--accent)}.open-trades-list{display:flex;flex-direction:column;gap:1rem}.trade-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.scanner-opportunities-grid{display:grid;gap:.75rem;padding:.75rem}.trade-card--scanner{padding:.95rem 1rem;gap:.55rem;cursor:pointer}.trade-card--scanner .trade-card__header{gap:.6rem}.trade-card--scanner .trade-card__question{font-size:.9rem;line-height:1.35;margin:.1rem 0 .2rem;padding:0}.scanner-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.scanner-card-metric{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#fafbfd;padding:.35rem .45rem;display:flex;flex-direction:column;gap:.1rem}.scanner-card-metric__label{font-size:.64rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.scanner-card-metric__value{font-size:.82rem;line-height:1.2;font-weight:700;color:var(--text)}.scanner-card-footnote{font-size:.72rem;line-height:1.35;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:1100px){.scanner-opportunities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.trade-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.trade-card__identity{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.trade-asset-text{font-size:1rem;font-weight:700;color:var(--text)}.trade-asset-link{border:0;background:transparent;padding:0;margin:0;font-size:1rem;font-weight:700;color:var(--text);text-decoration:none;cursor:pointer}.trade-asset-link:hover{color:var(--text);opacity:.9}.trade-meta-text{font-size:.75rem;color:var(--text-muted)}.trade-direction-badge{padding:.2rem .45rem;font-size:.65rem;border-radius:999px}.trade-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;border:1px solid transparent;background:#f1f5f9;color:var(--text-muted)}.trade-pill--asset{background:#6fa8dc2e;border-color:#6fa8dc59;color:var(--text);font-weight:700}.trade-pill--meta{background:var(--border-light);border-color:var(--border-light);color:var(--text-muted)}.trade-pill--distance{background:#f8fafc;border-color:var(--border-light);color:var(--text-muted);font-weight:500}.trade-pill--direction{text-transform:uppercase;letter-spacing:.06em}.trade-pill--yes{background:var(--yes-bg);color:var(--yes);border-color:#bbf7d0}.trade-pill--no{background:var(--no-bg);color:var(--no);border-color:#fecaca}.trade-pill--action{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.trade-pill--danger{background:#ef44441f;color:#b91c1c;border-color:transparent}.trade-pill--warning{background:#f59e0b26;color:#b45309;border-color:transparent}.trade-pill--success{background:#10b98124;color:#0f766e;border-color:transparent}.trade-pill--neutral{background:#f1f5f9;color:#6b7280;border-color:transparent}.trade-card__action{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.trade-card__action-text{font-size:.75rem;color:var(--text-muted);max-width:180px}.badge-action{border-radius:999px;padding:.3rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.badge-action--danger{background:#fef2f2;color:#991b1b;border-color:#fee2e2}.badge-action--warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.badge-action--success{background:#ecfdf5;color:#0f766e;border-color:#d1fae5}.badge-action--neutral{background:#f4f4f5;color:#52525b;border-color:#e4e4e7}.trade-card__question{font-size:1rem;font-weight:600;color:var(--text);margin:.5rem 0 .9rem;padding:.25rem 0}.trade-card__summary{font-size:.85rem;color:var(--text-muted);margin:-.4rem 0 .9rem;line-height:1.5}.trade-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;background:transparent;padding:.6rem 0 .75rem;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.trade-metric{padding:1rem 0}.metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:.95rem;font-weight:600;color:var(--text)}.metric-value--pos{color:var(--yes)}.metric-value--neg{color:var(--no)}.metric-value--flat{color:var(--text-muted)}.trade-card__advice{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.trade-card__advice-text{font-size:.85rem;color:var(--text-secondary);flex:1;min-width:240px}.trade-card__advice-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.trade-guide{display:flex;flex-direction:column;gap:.9rem;padding-top:.25rem}.trade-guide-section{display:flex;flex-direction:column;gap:.35rem}.trade-guide-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.trade-guide-body{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.trade-guide-body strong{color:var(--text)}.trade-guide-list div+div{margin-top:.25rem}.trade-guide-final .trade-guide-body{color:var(--text);font-weight:600}.trade-chip{font-size:.7rem;font-weight:600;background:#f4f4f5;color:var(--text-muted);padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border-light)}.trade-link{font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.trade-link:after{content:"→";font-weight:700}.trade-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.trade-timestamp{font-size:.75rem;color:var(--text-muted)}.open-trades-catchup{margin-top:1.5rem;padding:2.5rem 2rem;border-radius:18px;border:1px dashed var(--border);background:var(--border-light);text-align:center;color:var(--text-muted)}.open-trades-catchup__icon{width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:999px;background:var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.open-trades-catchup__icon svg{width:2rem;height:2rem;fill:currentColor}.open-trades-catchup__title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.35rem}.open-trades-catchup__text{font-size:.85rem;max-width:420px;margin:0 auto}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--radius-sm);border:1px solid transparent}.alert__content{flex:1;min-width:0}.alert__title{font-weight:600;font-size:.9rem;margin-bottom:.25rem}.alert__body{font-size:.875rem}.alert__dismiss{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);font-size:1.25rem;line-height:1;color:inherit;opacity:.8;transition:opacity var(--transition),background var(--transition)}.alert__dismiss:hover{opacity:1;background:#0000000f}.alert--error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.alert--warning{background:#fffbeb;border-color:#fde68a;color:#b45309}.alert--success{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.empty-state{text-align:center;padding:3rem 2rem}.empty-state__icon{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.empty-state__title{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text)}.empty-state__description{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-muted);max-width:360px;margin-left:auto;margin-right:auto}.empty-state__action{margin-top:1rem}.skeleton{padding:1rem}.skeleton__line{height:.875rem;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite;border-radius:4px;margin-bottom:.75rem}.skeleton__line:last-child{margin-bottom:0}.skeleton__inline{display:inline-block;width:60%;height:.875rem;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite;border-radius:4px;vertical-align:middle}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.page-fallback{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem;font-size:.9rem;color:var(--text-muted)}.page-fallback__spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:page-spin .7s linear infinite}@keyframes page-spin{to{transform:rotate(360deg)}}.progress{height:8px;background:var(--border-light);border-radius:999px;overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.page-section{margin-bottom:1.5rem}.page-section:last-child{margin-bottom:0}@media(max-width:900px){:root{--sidebar-width: 220px}.dash-main{padding:1.25rem}.dash-header{flex-direction:column;align-items:flex-start}.search-input{max-width:100%}}
