:root{--bg:#091017;--panel:#111820;--panel2:#17212b;--line:#24313d;--text:#edf4f7;--muted:#8da0af;--green:#2ed38a;--amber:#f2aa4c;--blue:#5295ff;--red:#f05b67;--font:"Inter",sans-serif;--display:"Space Grotesk",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#132434 0,transparent 36%),var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}h1,h2,h3{font-family:var(--display);margin:0}p{color:var(--muted)}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{min-height:78px;padding:15px clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:rgba(9,16,23,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:5}.brand,.header-actions{display:flex;align-items:center;gap:14px}.brand h1{font-size:20px}.brand p{margin:2px 0 0;font-size:12px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--blue),#7567ff);font-family:var(--display);font-weight:700;color:#fff;box-shadow:0 12px 30px #5295ff30}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:13px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);padding:38px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#16212b,#0e151d);box-shadow:0 24px 80px #0008}.auth-card .brand-mark{margin-bottom:22px}.auth-card h1{font-size:31px}.auth-card>p{margin:8px 0 28px}.auth-card label{display:grid;gap:8px;margin-top:16px;color:#c5d1d9;font-size:13px;font-weight:600}input,select{width:100%;background:#0a1118;border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--text);font:inherit;outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #5295ff20}button{font:inherit;font-weight:600;border-radius:10px;padding:10px 15px;cursor:pointer;border:0}.primary-button{width:100%;margin-top:18px;background:var(--blue);color:white}.secondary-button{background:#1c2a37;color:var(--text);border:1px solid #304353}.ghost-button{background:transparent;color:var(--muted)}button:disabled{opacity:.55;cursor:progress}.form-error{color:var(--red);font-size:13px;min-height:18px}.user-chip{font-size:12px;color:var(--muted);padding:8px 11px;background:#111a22;border-radius:9px}main{max-width:1440px;margin:auto;padding:38px clamp(20px,4vw,56px) 70px}.hero-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.hero-row h2{font-size:clamp(25px,3vw,40px)}.eyebrow{margin:0 0 7px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.14em}.weight-legend{display:flex;gap:7px;flex-wrap:wrap}.weight-legend span{font-size:11px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.filters{display:grid;grid-template-columns:minmax(240px,1fr) 220px;gap:12px;margin-bottom:18px}.status-message{font-size:12px;color:var(--muted);margin-bottom:14px}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.stock-card{position:relative;overflow:hidden;display:block;padding:19px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--panel2),var(--panel));transition:.18s transform,.18s border-color}.stock-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#596978}.stock-card:hover{transform:translateY(-3px);border-color:#3b5164}.stock-card.recommendation-buy:before{background:var(--green)}.stock-card.recommendation-wait:before{background:var(--amber)}.stock-card.recommendation-watch:before{background:var(--blue)}.stock-card.recommendation-avoid:before{background:var(--red)}.card-top{display:flex;justify-content:space-between;align-items:center}.ticker{font-family:var(--display);font-size:13px}.recommendation-badge{font-size:10px;font-weight:800;letter-spacing:.06em;padding:5px 7px;border-radius:6px;background:#ffffff10}.recommendation-buy .recommendation-badge{color:var(--green);background:#2ed38a18}.recommendation-wait .recommendation-badge{color:var(--amber);background:#f2aa4c18}.recommendation-watch .recommendation-badge{color:var(--blue);background:#5295ff18}.recommendation-avoid .recommendation-badge{color:var(--red);background:#f05b6718}.stock-card h3{font-size:18px;margin-top:16px}.stock-meta{font-size:12px;margin:5px 0 18px}.score-main{display:flex;align-items:baseline;gap:8px}.score-main strong{font-family:var(--display);font-size:38px}.score-main span{font-size:11px;color:var(--muted)}.score-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.score-trio span{display:grid;font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.score-trio b{font-size:16px;color:var(--text);margin-bottom:3px}.back-link{color:var(--muted);font-size:13px}.detail-main{max-width:1300px}.detail-summary{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}.detail-summary h1{font-size:36px}.detail-scores{display:flex;align-items:center;gap:22px;padding:17px 20px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.detail-scores>div{display:grid;text-align:center}.detail-scores strong{font:700 24px var(--display)}.detail-scores>div span{font-size:9px;color:var(--muted);text-transform:uppercase}.chart-panel,.analysis-panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:20px}.panel-heading{margin-bottom:10px}.panel-heading h2,.analysis-panel h2{font-size:18px}.detail-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}.reason-item{padding:12px 14px;border-left:3px solid var(--blue);background:#ffffff05;border-radius:0 8px 8px 0;color:#c5d1d9;font-size:13px}.metric-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.metric-row span{color:var(--muted)}@media(max-width:760px){.topbar,.hero-row,.detail-summary{align-items:flex-start;flex-direction:column}.header-actions{width:100%;flex-wrap:wrap}.filters,.detail-columns{grid-template-columns:1fr}.detail-scores{width:100%;justify-content:space-between;gap:8px}.stock-grid{grid-template-columns:1fr}}
