:root{--font-display: "Space Grotesk", sans-serif;--font-mono: "IBM Plex Mono", monospace;--page-bg: #f4f7fb;--page-text: #152033;--muted-text: #607086;--panel-bg: rgba(255, 255, 255, .9);--panel-strong: rgba(255, 255, 255, .96);--panel-border: rgba(28, 40, 58, .1);--soft-border: rgba(28, 40, 58, .12);--surface: #f7f9fc;--accent: #0a7a5c;--accent-soft: #dff5ee;--positive: #138a5b;--negative: #d45b43;--shadow: 0 18px 54px rgba(19, 33, 54, .08);--page-gradient: radial-gradient(circle at top left, rgba(174, 214, 255, .55), transparent 22%), radial-gradient(circle at bottom right, rgba(213, 245, 226, .75), transparent 28%), linear-gradient(180deg, #f6f9fc 0%, #eef3f8 100%)}:root[data-theme=dark]{--page-bg: #09131f;--page-text: #edf2f7;--muted-text: #9fb0c2;--panel-bg: rgba(13, 23, 37, .84);--panel-strong: rgba(14, 25, 40, .92);--panel-border: rgba(255, 255, 255, .08);--soft-border: rgba(255, 255, 255, .12);--surface: rgba(255, 255, 255, .04);--accent: #4bd0a3;--accent-soft: #c2f0e2;--positive: #49d59d;--negative: #ff8b74;--shadow: 0 20px 64px rgba(0, 0, 0, .28);--page-gradient: radial-gradient(circle at top left, rgba(39, 104, 168, .26), transparent 22%), radial-gradient(circle at bottom right, rgba(42, 130, 90, .22), transparent 28%), linear-gradient(180deg, #08111b 0%, #101b2b 100%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-display);background:var(--page-gradient);color:var(--page-text);line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.page-shell{min-height:100vh;padding:20px}.topbar,.brand-lockup,.topbar-actions,.panel-header,.feature-item,.stock-card,.portfolio-row,.bottom-nav{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px;margin-bottom:20px;padding:14px 18px;border-radius:20px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-lockup{gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--accent),#7bd9b4)}.brand-title{margin:0;font-size:1.1rem}.topbar-actions{gap:10px;flex-wrap:wrap}.eyebrow,.badge,.muted,.field-label,.auth-footer-note{font-family:var(--font-mono)}.eyebrow{margin-bottom:8px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.muted,.hero-copy{color:var(--muted-text)}.positive{color:var(--positive)}.negative{color:var(--negative)}.badge,.nav-link,.theme-toggle,.ghost-button,.bottom-nav-link{min-height:42px;border-radius:999px}.badge{display:inline-flex;align-items:center;padding:0 12px;width:fit-content;background:var(--accent-soft);color:var(--accent)}.theme-toggle,.nav-link,.ghost-button,.bottom-nav-link{border:1px solid var(--soft-border);background:var(--surface);color:var(--page-text)}.theme-toggle,.ghost-button{padding:0 14px}.theme-toggle{display:inline-flex;align-items:center;gap:10px}.toggle-dot{width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,#f5d069,#f18d4a)}.toggle-dot.light{background:linear-gradient(135deg,#fff,#c9d5e6)}.nav-links{display:flex;gap:10px}.nav-link,.bottom-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:0 16px}.nav-link.active,.bottom-nav-link.active,.primary-cta{background:linear-gradient(135deg,#28c78a,#6ed0af);color:#042719;border-color:transparent}.auth-stage{display:grid;grid-template-columns:1fr .95fr;min-height:calc(100vh - 110px);border-radius:28px;overflow:hidden;border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:var(--shadow)}.auth-hero{padding:48px;display:grid;align-content:center;gap:20px;background:radial-gradient(circle at 85% 20%,rgba(76,194,162,.18),transparent 20%),linear-gradient(145deg,#091c2ee6,#102439c2)}:root:not([data-theme=dark]) .auth-hero{background:radial-gradient(circle at 85% 20%,rgba(76,194,162,.12),transparent 20%),linear-gradient(145deg,#ecf6fcf2,#e1eff8eb)}.auth-hero h1{max-width:10ch;margin-bottom:0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.96}.hero-badge{width:fit-content;padding:10px 14px;border-radius:999px;background:#ffffff14;color:var(--accent-soft)}:root:not([data-theme=dark]) .hero-badge{background:#0a7a5c14;color:var(--accent)}.feature-list,.auth-form,.stack,.stats,.orders-table,.portfolio-page,.dashboard-main,.dashboard-side,.stock-list{display:grid;gap:14px}.feature-item{gap:14px;align-items:flex-start;padding:16px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}:root:not([data-theme=dark]) .feature-item{background:#ffffff8f;border-color:#0c1c2c14}.feature-icon{min-width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#ffffff1a;color:var(--accent-soft)}.auth-form-shell{display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 20%,rgba(183,220,255,.4),transparent 18%),radial-gradient(circle at 80% 80%,rgba(187,246,210,.34),transparent 18%),linear-gradient(180deg,#ffffffc7,#ffffff9e)}:root[data-theme=dark] .auth-form-shell{background:radial-gradient(circle at 20% 20%,rgba(70,95,132,.26),transparent 18%),radial-gradient(circle at 80% 80%,rgba(34,114,85,.2),transparent 18%),linear-gradient(180deg,#08121ecc,#0e1927b3)}.auth-card,.panel,.feedback{width:100%;border-radius:24px;border:1px solid var(--panel-border);background:var(--panel-strong);box-shadow:var(--shadow)}.auth-card,.panel{padding:22px}.auth-card{max-width:640px}.auth-card-header{margin-bottom:20px;text-align:center}.auth-card-header h2{margin:14px 0 8px;font-size:clamp(2rem,3vw,2.8rem)}.field{display:grid;gap:8px}.field-label{color:var(--muted-text);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}label{display:grid}input,select,button{border-radius:16px;padding:14px 16px}input,select{border:1px solid var(--soft-border);background:var(--surface);color:var(--page-text)}button{border:none;font-weight:700}.primary-cta{min-height:52px}.compact-button{min-height:44px;padding:0 16px}.strength-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.strength-segment{height:8px;border-radius:999px;background:#94a3b83d}.strength-segment.filled{background:linear-gradient(135deg,#27c98c,#6dd1b1)}.compact-muted{margin:-4px 0 2px}.check-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.check-row input{width:20px;height:20px;margin-top:2px}.auth-footer-note{margin-top:18px;text-align:center;color:var(--muted-text)}.app-content{padding-bottom:92px}.dashboard-page,.dashboard-layout{display:grid;gap:18px}.order-page-layout{align-items:start}.dashboard-hero{display:flex;justify-content:space-between;gap:18px}.dashboard-hero h1,.portfolio-page h1{max-width:16ch;margin-bottom:0;font-size:clamp(2rem,3vw,2.8rem);line-height:1.02}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.dashboard-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start}.dashboard-panel-header{align-items:flex-start}.panel-header{justify-content:space-between;gap:14px}.stock-picker{min-width:240px;gap:8px}.stock-card,.mini-stock-card,.portfolio-row,.order-row{border:1px solid var(--panel-border);background:var(--surface)}.stock-card{justify-content:space-between;gap:16px;width:100%;padding:16px 18px;text-align:left;border-radius:20px}.stock-card.active{border-color:#28c78a7a;background:#28c78a14}.stock-card span,.portfolio-row span{display:block;color:var(--muted-text)}.stock-price-block{text-align:right}.frequent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:12px}.order-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-stock-card{display:grid;gap:6px;padding:14px;border-radius:18px;text-align:left}.chart-panel{gap:16px}.chart-summary{display:flex;align-items:baseline;gap:12px}.chart-summary strong{font-size:2rem}.chart-shell{position:relative;min-height:360px;border-radius:22px;background:var(--surface);border:1px solid var(--panel-border);overflow:hidden}.chart-frame{width:100%;height:360px}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;text-align:center;background:#ffffff0a}.compact-stats{grid-template-columns:repeat(3,1fr)}.stats article{display:grid;gap:6px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--panel-border)}.text-link-button{padding:0;color:var(--accent);background:transparent}.compact-portfolio-page{gap:14px}.compact-panel-header{align-items:flex-start}.portfolio-balance-strip{display:flex;flex-wrap:wrap;gap:12px 20px;padding:14px 16px;border-radius:16px;border:1px solid var(--panel-border);background:var(--surface)}.portfolio-balance-strip span{white-space:nowrap}.portfolio-table{display:grid;gap:12px}.compact-portfolio-table{gap:8px}.portfolio-row{justify-content:space-between;gap:16px;padding:16px;border-radius:18px}.compact-portfolio-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 14px;border-radius:14px}.compact-portfolio-row span{white-space:nowrap}.order-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:16px;border-radius:18px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.feedback{padding:14px 16px}.feedback.error{border-color:#d45b4366}.feedback.success{border-color:#138a5b52}.bottom-nav{position:fixed;left:50%;bottom:18px;transform:translate(-50%);justify-content:center;gap:10px;padding:10px;border-radius:999px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20}@media (max-width: 1120px){.auth-stage,.dashboard-layout{grid-template-columns:1fr}}@media (max-width: 760px){.page-shell{padding:14px}.topbar,.dashboard-hero,.portfolio-row{flex-direction:column;align-items:stretch}.auth-hero,.auth-form-shell,.auth-card,.panel{padding:18px}.compact-stats,.portfolio-stats,.order-form-grid,.portfolio-row,.order-row{grid-template-columns:1fr}.stock-picker{min-width:0}.bottom-nav{width:calc(100% - 28px)}.bottom-nav-link{flex:1;padding:0 10px}}
