:root{--ink:#20202c;--muted:#7b7c8e;--line:#e9e8f0;--paper:#f7f7fb;--white:#fff;--violet:#6254d8;--violet-dark:#4437b5;--lilac:#a59af4;--mint:#c8f0dd;--coral:#f08b74;--shadow:0 18px 55px rgba(46,40,102,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.app-shell{max-width:1440px;margin:auto;padding:0 5.4vw}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-weight:600;letter-spacing:-.02em}.brand b{font-weight:800}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--violet);border-radius:9px;color:#fff;font-family:Manrope;font-size:18px}.topbar-meta{font-size:12px;color:var(--muted);display:flex;gap:9px;align-items:center}.live-dot,.pulse{width:7px;height:7px;border-radius:50%;background:#5ec791;box-shadow:0 0 0 4px rgba(94,199,145,.14)}.divider{height:15px;width:1px;background:var(--line)}main{padding-bottom:60px}.hero{min-height:340px;display:flex;align-items:center;justify-content:space-between;position:relative}.hero-copy{max-width:690px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--violet);font-weight:700;margin:0 0 15px}.hero h1{font:800 clamp(44px,6vw,78px)/.98 Manrope;margin:0;letter-spacing:-.07em}.hero h1 em{font-style:normal;color:var(--violet)}.hero-text{font-size:16px;line-height:1.65;color:var(--muted);max-width:590px;margin:26px 0 0}.hero-orbit{width:250px;height:250px;position:relative;margin-right:8%;color:var(--violet)}.orbit{position:absolute;border:1px solid #d6d1fd;border-radius:50%;inset:0;transform:rotate(-25deg)}.orbit-1{inset:25px -15px 25px 15px;border-color:#b8adf6}.orbit-2{inset:45px 20px;border-color:#e1defc;transform:rotate(50deg)}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:70px;width:70px;background:var(--violet);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 13px 30px rgba(98,84,216,.32)}.orbit-label{position:absolute;right:-6px;bottom:20px;font-size:9px;line-height:1.3;letter-spacing:.18em;font-weight:700}.control-panel{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr auto;gap:20px;align-items:end;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.control-heading{display:flex;gap:12px;align-items:center;padding-bottom:10px}.step{font:700 24px Manrope;color:var(--violet)}.control-heading strong,.control-heading small{display:block}.control-heading strong{font-size:13px}.control-heading small{font-size:11px;color:var(--muted);margin-top:4px}label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);padding:12px 13px;border-radius:9px;background:#fff;color:var(--ink);font:500 13px 'DM Sans';outline:none}select:focus{border-color:var(--violet)}.primary-button{height:42px;border:0;background:var(--violet);color:#fff;border-radius:9px;padding:0 17px;font:600 12px 'DM Sans';cursor:pointer;display:flex;align-items:center;gap:16px;white-space:nowrap}.primary-button:hover{background:var(--violet-dark)}.primary-button b{font-size:16px}.status{margin:24px 0 0;padding:13px 16px;border-radius:10px;background:#efedff;color:var(--violet-dark);font-size:12px}.status.error{background:#fff0ed;color:#bb5744}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #cfc8fc;border-top-color:var(--violet);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.dashboard{padding-top:62px}.section-intro,.panel-head{display:flex;justify-content:space-between;align-items:flex-end}.section-intro h2{font:700 30px Manrope;letter-spacing:-.04em;margin:0}.data-badge,.panel-note{font-size:11px;color:var(--muted)}.data-badge{display:flex;gap:9px;align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 30px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 23px;min-height:143px}.metric-card.accent{background:var(--violet);color:#fff;border-color:var(--violet)}.metric-card.risk{background:#fff8f5;border-color:#f9d6cd}.metric-label{font-size:11px;color:var(--muted)}.accent .metric-label{color:#dcd7ff}.metric-value{font:700 36px Manrope;letter-spacing:-.05em;margin-top:20px}.metric-foot{font-size:10px;color:var(--muted);margin-top:9px}.accent .metric-foot{color:#dcd7ff}.content-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-bottom:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.panel h3{font:700 18px Manrope;letter-spacing:-.035em;margin:0}.chart-wrap{height:235px;margin-top:22px}.chart-wrap canvas{max-height:235px}.legend-row{display:flex;gap:21px;font-size:10px;color:var(--muted);margin-top:7px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}.violet{background:var(--violet)}.lilac{background:var(--lilac)}.mint{background:#75c89b}.insight{font-size:11px;line-height:1.5;color:var(--muted);background:#f7f6ff;padding:10px 12px;border-radius:8px;margin-top:12px}.lower{grid-template-columns:1.25fr 1fr}.risk-chip{font-size:10px;color:#b95b46;background:#fff0eb;border-radius:20px;padding:7px 11px}.forecast-body{display:flex;gap:27px;align-items:center;margin:28px 0 18px}.forecast-score{color:var(--violet);font:800 54px Manrope;letter-spacing:-.07em;min-width:150px}.forecast-score small{font:600 16px Manrope;color:var(--muted);letter-spacing:0}.forecast-copy{width:100%}.forecast-copy strong{font-size:14px}.forecast-copy p{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0 15px}.progress{height:8px;background:#efedf8;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--coral));width:0;transition:width .7s}.progress-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:6px}.method-note{border-top:1px solid var(--line);padding-top:13px;color:#9898a7;font-size:10px;line-height:1.45}.recommendations{display:flex;flex-direction:column;gap:10px;margin-top:21px}.recommendation{display:flex;gap:11px;align-items:flex-start;font-size:11px;line-height:1.45;color:var(--muted);padding-bottom:10px;border-bottom:1px solid #f0eff5}.recommendation:last-child{border:0}.rec-icon{flex:0 0 24px;height:24px;background:#efedff;color:var(--violet);border-radius:7px;display:grid;place-items:center;font-size:13px}.table-panel{margin-top:14px}.table-scroll{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:12px;min-width:570px}th{text-align:left;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:10px 13px;border-bottom:1px solid var(--line)}td{padding:13px;border-bottom:1px solid #f2f1f6}td:first-child{color:var(--muted)}.status-pill{font-size:10px;padding:5px 9px;border-radius:20px;background:#e7f7ee;color:#378762}.status-pill.warn{background:#fff0eb;color:#bd604d}.status-pill.mid{background:#efedff;color:#6154b4}footer{border-top:1px solid var(--line);padding:23px 0 28px;display:flex;justify-content:space-between;color:#9a9aa9;font-size:10px}@media(max-width:900px){.hero-orbit{display:none}.control-panel{grid-template-columns:1fr 1fr}.control-heading{grid-column:span 2}.primary-button{justify-content:center}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.lower{grid-template-columns:1fr}}@media(max-width:560px){.app-shell{padding:0 18px}.topbar{height:70px}.topbar-meta{display:none}.hero{min-height:330px}.hero h1{font-size:49px}.control-panel{grid-template-columns:1fr}.control-heading{grid-column:span 1}.metric-grid{gap:9px}.metric-card{padding:17px;min-height:125px}.metric-value{font-size:29px}.panel{padding:18px}.section-intro h2{font-size:24px}.data-badge{font-size:10px}footer{display:block;line-height:1.8}}
