@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg: #eef3f1;--bg-grad: radial-gradient(1100px 620px at 88% -8%, rgba(13, 148, 136, .16) 0%, transparent 58%), radial-gradient(900px 520px at -12% 108%, rgba(15, 52, 67, .1) 0%, transparent 52%), linear-gradient(165deg, #f5f8f6 0%, #e8efec 48%, #e4ebe8 100%);--ink: #0b1f2a;--surface: rgba(255, 255, 255, .78);--surface-solid: #ffffff;--surface-2: #f2f7f5;--surface-3: #e5eeea;--border: rgba(11, 31, 42, .08);--border-strong: rgba(11, 31, 42, .14);--text: #0b1f2a;--text-2: #2a4450;--muted: #5b7380;--faint: #8aa0ab;--accent: #0d9488;--accent-2: #14b8a6;--accent-ink: #0f766e;--accent-soft: rgba(13, 148, 136, .12);--accent-ring: rgba(13, 148, 136, .28);--up: #0f9f6e;--up-soft: #e4f7ef;--down: #d64545;--down-soft: #fdeceb;--warn: #b45309;--warn-soft: #fff4e5;--info: #0d9488;--success: var(--up);--danger: var(--down);--radius: 16px;--radius-sm: 11px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(11, 31, 42, .04);--shadow: 0 10px 28px -16px rgba(11, 31, 42, .18);--shadow-lg: 0 22px 48px -20px rgba(11, 31, 42, .28);--sidebar-w: 268px;--font: "Outfit", "Segoe UI", sans-serif;--display: "Source Serif 4", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{background:var(--accent-ring)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0b1f2af5,#0b1f2aeb),radial-gradient(500px 280px at 0% 0%,rgba(20,184,166,.22),transparent 70%);color:#e8f2ef;border-right:1px solid rgba(255,255,255,.06);padding:18px 14px 28px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:6px 10px 18px}.brand svg{color:var(--accent-2);filter:drop-shadow(0 0 12px rgba(20,184,166,.45))}.brand h1{font-family:var(--display);font-size:1.35rem;margin:0;letter-spacing:-.03em;font-weight:700;color:#fff;line-height:1.1}.brand small{display:block;color:#e8f2ef8c;font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}.nav-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#e8f2ef61;font-weight:600;padding:16px 12px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;color:#e8f2ef9e;font-weight:500;transition:background .18s,color .18s,transform .18s}.nav-item svg{opacity:.8;transition:transform .18s,opacity .18s}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item:hover svg{transform:translate(2px);opacity:1}.nav-item.active{background:linear-gradient(90deg,#14b8a638,#14b8a614);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #14b8a647}.nav-item.active svg{opacity:1;color:var(--accent-2)}.nav-item.active:before{content:"";position:absolute;left:-14px;top:22%;bottom:22%;width:3px;border-radius:0 3px 3px 0;background:var(--accent-2)}.main{display:flex;flex-direction:column;min-width:0}.content{padding:28px 32px 72px;max-width:1240px;width:100%;margin:0 auto}.status-header{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 32px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-2);box-shadow:var(--shadow-sm);transition:transform .12s,border-color .12s}button.pill{cursor:pointer;font:inherit}button.pill:hover{transform:translateY(-1px);border-color:var(--border-strong)}.pill .k{color:var(--faint);font-weight:500}.pill.ok{background:var(--up-soft);color:var(--up);border-color:transparent}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.pill.bad{background:var(--down-soft);color:var(--down);border-color:transparent}.pill.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.spacer{flex:1}.page-title{font-family:var(--display);font-size:clamp(1.75rem,2.4vw,2.15rem);font-weight:700;margin:2px 0 6px;letter-spacing:-.03em;color:var(--ink)}.page-sub{color:var(--muted);margin:0 0 24px;max-width:62ch;font-size:.98rem}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}.page-toolbar .seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.page-toolbar .seg .btn{padding:6px 12px;box-shadow:none;border-radius:10px}.page-toolbar .seg .btn.primary{box-shadow:none}.empty-state{text-align:center;padding:36px 20px;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-solid) 70%,transparent)}.empty-state strong{display:block;color:var(--text-2);margin-bottom:6px;font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.pre-block{margin:0;padding:14px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);font-size:12px;overflow:auto;max-height:360px}.table-card{padding:0;overflow:hidden}.table-card h3{padding:16px 18px 0;margin-bottom:10px}.table-card .table-wrap{border-radius:0}.table-card table{font-size:13px}.row-action .btn{padding:5px 10px;font-size:12px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1000px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;transform:translate(-100%)}.content,.status-header{padding-left:18px;padding-right:18px}}@media (max-width: 640px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.card{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px;transition:box-shadow .2s,border-color .2s}.card:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.card h3{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.grid>.card{margin-bottom:0}.stat{display:flex;flex-direction:column;gap:6px}.stat .label{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px;font-weight:500}.stat .value{font-size:1.7rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1;font-family:var(--display)}.stat .value.pos{color:var(--up)}.stat .value.neg{color:var(--down)}.card.stat{position:relative;overflow:hidden}.card.stat:after{content:"";position:absolute;right:-24px;top:-24px;width:88px;height:88px;border-radius:50%;background:var(--accent-soft);opacity:.7}.card.stat>*{position:relative}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);white-space:nowrap}thead th{color:var(--faint);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;background:var(--surface-2);position:sticky;top:0}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.mono.pos,td.mono.pos,.pos{color:var(--up)}.mono.neg,td.mono.neg,.neg{color:var(--down)}.stat-note{color:var(--muted);font-size:12px;margin-top:2px}.decision-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.decision-row .mono{font-size:1.05rem;font-weight:700}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 18px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .label{color:var(--muted);font-size:11.5px;font-weight:600}.meta-item .value{font-family:var(--mono);font-weight:600;font-size:14px}.card-foot{margin:0;padding:12px 18px 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--border)}.notif-row.read{opacity:.55}.selectable-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}.selectable-card.selected{border-color:color-mix(in srgb,var(--down) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--down) 18%,transparent)}.depth-bid{--depth-fill: var(--up-soft)}.depth-ask{--depth-fill: var(--down-soft)}.otp-input{letter-spacing:.35em;font-family:var(--mono)}a.inline-link{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.tag.buy{background:var(--up-soft);color:var(--up)}.tag.sell,.tag.no_trade{background:var(--down-soft);color:var(--down)}.tag.hold{background:var(--warn-soft);color:var(--warn)}.tag.neutral{background:var(--surface-3);color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--text);font-weight:600;cursor:pointer;font-size:13.5px;font-family:inherit;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--surface-2);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.btn.primary{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#fff;border-color:transparent;box-shadow:0 8px 22px -10px #0d9488a6}.btn.primary:hover{filter:brightness(1.04)}.btn.danger{background:linear-gradient(135deg,#e85d5d,var(--down));color:#fff;border-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.gate-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--border)}.gate-row:last-child{border-bottom:none}.gate-row .g-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:7px}.gate-row .g-icon.pass{color:var(--up);background:var(--up-soft)}.gate-row .g-icon.fail{color:var(--down);background:var(--down-soft)}.gate-row .g-name{font-weight:600}.gate-row .g-reason{color:var(--muted);margin-left:auto;font-size:12px;font-family:var(--mono)}.factor{display:flex;align-items:flex-start;gap:9px;padding:6px 0}.factor .fi{margin-top:1px;flex:none}.factor .fi.pro{color:var(--up)}.factor .fi.con{color:var(--down)}.banner{border-radius:14px;padding:13px 16px;display:flex;gap:11px;align-items:center;font-weight:500;margin-bottom:16px;border:1px solid transparent}.banner svg{flex:none}.banner.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 22%,transparent)}.banner.danger{background:var(--down-soft);color:var(--down);border-color:color-mix(in srgb,var(--down) 22%,transparent)}.banner.info{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.muted{color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}.field input,.field select,select{padding:11px 13px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-solid);color:var(--text);font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.field input::placeholder{color:var(--faint)}hr{border:none;border-top:1px solid var(--border);margin:16px 0}.login-stage{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;background:radial-gradient(900px 500px at 80% 10%,rgba(20,184,166,.22),transparent 55%),radial-gradient(700px 480px at 10% 90%,rgba(11,31,42,.18),transparent 50%),linear-gradient(145deg,#0b1f2a,#123040 45%,#0d3d38)}.login-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);pointer-events:none;animation:gridDrift 28s linear infinite}.login-panel{width:min(420px,100%);position:relative;z-index:1;padding:28px 28px 24px;border-radius:22px;background:#fffffff0;border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 60px -28px #0000008c;animation:rise .45s ease both}.login-brand{text-align:left;margin-bottom:22px}.login-brand .mark{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}.login-brand .mark svg{color:var(--accent);width:36px;height:36px}.login-brand h1{font-family:var(--display);font-size:clamp(2rem,5vw,2.45rem);margin:0;letter-spacing:-.04em;color:var(--ink);line-height:1}.login-brand p{margin:8px 0 0;color:var(--muted);font-size:.95rem;max-width:32ch}.login-status{margin:0 0 14px;padding:10px 12px;border-radius:12px;font-size:12.5px;font-weight:500}.login-status.ok{background:var(--up-soft);color:var(--up)}.login-status.warn{background:var(--warn-soft);color:var(--warn)}.login-status.bad{background:var(--down-soft);color:var(--down)}.content>*{animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes gridDrift{0%{transform:translateZ(0)}to{transform:translate3d(48px,24px,0)}}.loading-stage{min-height:100vh;display:grid;place-items:center;background:var(--bg-grad);color:var(--muted);font-weight:500}.loading-stage .pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 #0d948873;animation:pulse 1.4s ease-out infinite;margin:0 auto 12px}@keyframes pulse{0%{box-shadow:0 0 #0d948873}70%{box-shadow:0 0 0 14px #0d948800}to{box-shadow:0 0 #0d948800}}
