:root{color:#17211f;background:#f4f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(120deg,#e2f1e2e6,#f4f7f3a6 42%,#eef2f8d9),#f4f7f3}button,input,select{font:inherit}.appShell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid #dfe6dd;background:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-weight:800;margin-bottom:34px}.brand div,.metricIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#103d36;color:#fff}nav{display:grid;gap:6px}nav button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:42px;padding:0 12px;border-radius:8px;border:0;background:transparent;color:#65736e;font-weight:650}nav button.active,nav button:hover{background:#e7f2ea;color:#103d36}.workspace{padding:28px;display:grid;gap:20px}.topbar,.sectionHeader,.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}p,h1,h2{margin:0}.topbar p,.sectionHeader p,.panelHeader p,.metric p{color:#697772;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.topbar h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin-top:6px}.marketStatus,.pill,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid #dbe3d8;background:#fff;color:#103d36;font-weight:800;min-height:40px;padding:0 12px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.72}input{width:100%;min-height:42px;border:1px solid #dbe3d8;border-radius:8px;padding:0 12px;color:#17211f;background:#fff;outline:none}input:focus{border-color:#1f7a5c;box-shadow:0 0 0 3px #1f7a5c1f}.metrics,.mainGrid,.bottomGrid,.pageStack{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.mainGrid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.bottomGrid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.metric,.section,.signalPanel{background:#ffffffeb;border:1px solid #dfe6dd;border-radius:8px;padding:18px;box-shadow:0 18px 48px #16262214}.metric{min-height:160px;display:grid;align-content:space-between}.metric strong{font-size:1.75rem;margin-top:12px}.metric span,.position span,.tradePlan span,.signalGrid span{color:#697772;font-size:.86rem}.metric-positive .metricIcon{background:#0f7a55}.metric-warning .metricIcon{background:#9b5a17}.signalPanel{display:grid;gap:18px}.scanControls{display:grid;gap:8px}.scanControls label{color:#697772;font-size:.82rem;font-weight:800;text-transform:uppercase}.scanControls div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panelHeader h2,.sectionHeader h2{font-size:1.5rem}.signalBadges{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.action-buy,.positive{color:#0a7a53}.action-wait{color:#9b5a17}.action-avoid,.negative{color:#b33434}.signalGrid,.tradePlan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.signalGrid div,.tradePlan div{border:1px solid #e5ebe3;border-radius:8px;padding:12px;display:grid;gap:5px;min-height:76px}.signalGrid strong{font-size:1.3rem}.aiSummary{border:1px solid #dbe7dc;background:#f6faf6;border-radius:8px;padding:12px;display:grid;gap:5px}.aiSummary span{color:#697772;font-size:.78rem;font-weight:800;text-transform:uppercase}.aiSummary p{color:#24342f;line-height:1.45}.priceChart{border:1px solid #dbe7dc;border-radius:8px;padding:12px;background:#fff;display:grid;gap:10px}.chartHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.chartHeader div:first-child{display:grid;gap:2px}.chartHeader span{color:#697772;font-size:.78rem;font-weight:800;text-transform:uppercase}.chartHeader strong{font-size:1.2rem}.chartLegend{display:flex;flex-wrap:wrap;gap:8px 14px;color:#61716b;font-size:.84rem;font-weight:750}.chartLegend span{display:inline-flex;align-items:center;gap:6px}.chartLegend span:before{content:"";width:10px;height:10px;border-radius:999px;background:#7d8b86}.chartLegend .legendClose:before{background:#0a7a53}.chartLegend .legendEma20:before{background:#2563eb}.chartLegend .legendEma50:before{background:#a855f7}.priceChart svg{width:100%;height:auto;min-height:320px;display:block}.chartAxis{stroke:#dfe7dd;stroke-width:1.2}.buyLine{stroke:#d39a2f;stroke-width:1.5;stroke-dasharray:6 6}.chartLine{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.thinLine{stroke-width:2.2}.chartLineUp{stroke:#0a7a53}.chartLineDown{stroke:#b33434}.ema20Line{stroke:#2563eb}.ema50Line{stroke:#a855f7}.subChartLine{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.macdLine{stroke:#334155}.rsiLine{stroke:#c27a1a}.rsiGuide{stroke:#ead7b9;stroke-width:1;stroke-dasharray:4 6}.volumeBar{fill:#9ab56e;opacity:.72}.chartDot{fill:#fff;stroke:#103d36;stroke-width:2}.chartLabel{fill:#687770;font-size:13px;font-weight:700}.percentPlan{border:1px solid #dbe7dc;border-radius:8px;background:#fbfdfb;padding:12px;display:grid;gap:12px}.planHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.planHeader div{display:grid;gap:2px}.planHeader span,.planGrid span{color:#697772;font-size:.78rem;font-weight:800;text-transform:uppercase}.planGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.planGrid div{border:1px solid #e5ebe3;border-radius:8px;background:#fff;padding:10px;display:grid;gap:4px;min-height:82px}.planGrid small{color:#697772;font-weight:700}.scoreBox{display:grid;gap:10px}.scoreRow{display:grid;grid-template-columns:72px minmax(90px,1fr) 32px;align-items:center;gap:10px;font-size:.9rem}.scoreTrack{height:8px;border-radius:999px;overflow:hidden;background:#e4ebe2}.scoreTrack div{height:100%;background:#1f7a5c}.reasonList{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.reasonList li{border:1px solid #dbe7dc;background:#f4faf4;border-radius:8px;padding:7px 10px;color:#31423d;font-size:.9rem}.signalResults{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.signalResults button{display:grid;grid-template-columns:1fr auto;align-items:center;justify-content:stretch;text-align:left;gap:4px 8px;min-height:66px;padding:10px}.signalResults span{font-weight:850}.signalResults small{color:#697772;grid-column:1 / -1}.selectedSignal{border-color:#1f7a5c;background:#edf8f0}.selectedRow{background:#f0f8f2}tbody tr{cursor:pointer}.riskGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.riskItem{display:grid;grid-template-columns:1fr repeat(3,minmax(0,.8fr));gap:10px;align-items:center;border:1px solid #e5ebe3;border-radius:8px;padding:14px}.riskItem div{display:grid;gap:4px}.riskItem span{color:#697772;font-size:.86rem}.checklist{display:grid;gap:10px;margin-top:14px}.checklist label{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid #e5ebe3;border-radius:8px;padding:0 12px;color:#24342f;font-weight:650}.checklist input{width:18px;min-height:18px}.positionList{display:grid;gap:10px;margin-top:14px}.position{display:grid;grid-template-columns:.9fr repeat(4,1fr);gap:8px;align-items:center;border:1px solid #e5ebe3;border-radius:8px;padding:14px}.position div{display:grid;gap:4px}.tableWrap{overflow-x:auto;margin-top:14px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #e3e9e1;white-space:nowrap}th{color:#6a7773;font-size:.78rem;text-transform:uppercase}.status-open{background:#eef7ef;color:#0a7a53}.status-closed{color:#52625d}.performance{min-height:330px}.bars{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;height:230px;align-items:end;margin-top:18px}.barColumn{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;align-items:end;text-align:center;color:#687770;font-weight:700}.bar{width:100%;min-height:16px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#1f7a5c,#9ab56e)}@media(max-width:1180px){.metrics,.mainGrid,.bottomGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mainGrid,.bottomGrid{grid-template-columns:1fr}}@media(max-width:760px){.appShell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dfe6dd}nav{grid-template-columns:repeat(4,minmax(0,1fr))}nav button{justify-content:center;padding:0 8px}nav button svg{flex:0 0 auto}nav button{font-size:0}.workspace{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.metrics,.signalGrid,.tradePlan,.planGrid,.signalResults,.scanControls div{grid-template-columns:1fr}.position{grid-template-columns:repeat(2,minmax(0,1fr))}.riskGrid,.riskItem{grid-template-columns:1fr}}
