:root{color:#162033;background:#f7f5ef;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.login-shell{display:grid;grid-gap:20px;gap:20px;min-height:100vh;align-content:center}.login-hero{align-items:center}.primary-button{padding:12px 18px;border:1px solid #245c42;border-radius:999px;color:#fff;background:#2f8f5b;cursor:pointer;font-weight:700}.primary-button:hover{background:#277a4e}.primary-button:disabled{cursor:not-allowed;opacity:.55}.onboarding-shell{display:grid;grid-gap:20px;gap:20px}.onboarding-form{display:grid;grid-gap:16px;gap:16px}.onboarding-form .panel h2{margin:0;font-size:1.15rem}.onboarding-form .muted{margin:14px 0 0;line-height:1.7}.option-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.option-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #e4dccb;border-radius:16px;background:#fff;cursor:pointer;line-height:1.5}.option-row:has(input:checked){border-color:#3d8b61;background:#ecf8f0;box-shadow:0 0 0 3px rgb(61 139 97/14%)}.option-row input[type=checkbox],.option-row input[type=radio]{flex:0 0 auto;margin-top:3px}.option-row-custom{flex-wrap:wrap;align-items:center}.capital-input{flex:1 1 180px;min-width:0;margin-left:auto;padding:10px 12px;border:1px solid #d8d2c4;border-radius:12px;background:#fffdf8}.capital-input:disabled{opacity:.5}.onboarding-actions{display:flex;justify-content:flex-end}.hero{display:flex;justify-content:space-between;gap:24px;padding:28px;border:1px solid #e7dfcf;border-radius:28px;background:linear-gradient(135deg,#fffaf0,#e9f6ef);box-shadow:0 18px 45px rgb(80 68 43/10%)}.dashboard h2,.hero h1,.panel h3{margin:0}.hero p{max-width:760px;line-height:1.7}.hero-link{align-self:flex-start;flex:0 0 auto;padding:12px 16px;border:1px solid #2f8f5b;border-radius:999px;color:#245c42;background:#fff;font-weight:700;text-decoration:none}.hero-actions{display:flex;flex:0 0 auto;flex-direction:column;gap:10px;align-items:flex-end}.dashboard,.races{display:grid;grid-gap:20px;gap:20px;margin-top:24px}.bet-list,.race-list{display:grid;grid-gap:16px;gap:16px}.racing-notice{padding:16px 18px}.warning-panel{border-color:#f0c36a;background:#fff8e8}.race-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);grid-gap:18px;gap:18px;margin-top:18px}.compact-list{display:grid;grid-gap:8px;gap:8px;margin:12px 0 0;padding:0;list-style:none}.bet-card,.compact-list li{border:1px solid #e4dccb;border-radius:16px;background:#fff}.compact-list li{padding:10px 12px}.bet-card{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px}.bet-card p{margin:6px 0 0;color:#667085}.copy-button{flex:0 0 auto;padding:10px 14px;border:1px solid #2f8f5b;cursor:pointer}.copy-button,.status-pill{border-radius:999px;color:#245c42;background:#ecf8f0;font-weight:700}.status-pill{padding:6px 10px;font-size:.82rem}.error-text,.muted{color:#667085}.dashboard-toolbar,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow{margin:0 0 6px;color:#58705f;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.refresh-state{display:flex;flex-direction:column;gap:4px;color:#667085;font-size:.86rem;text-align:right}.account-switcher{display:flex;gap:12px;overflow-x:auto;min-inline-size:0;margin:0;padding-bottom:2px;border:0}.account-switcher legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.account-switcher button{min-width:220px;padding:14px 16px;border:1px solid #d8d2c4;border-radius:18px;color:#28364a;background:#fff;cursor:pointer;text-align:left}.account-switcher button.selected{border-color:#3d8b61;background:#ecf8f0;box-shadow:0 0 0 3px rgb(61 139 97/14%)}.account-switcher small,.account-switcher span{display:block}.account-switcher small{margin-top:6px;color:#667085}.dashboard-grid,.kpi-grid{display:grid;grid-gap:16px;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}.disclaimer,.empty-state,.kpi-card,.panel{border:1px solid #e4dccb;border-radius:24px;background:#fffdf8;box-shadow:0 10px 30px rgb(80 68 43/8%)}.kpi-card{padding:20px}.kpi-card p{margin:0 0 8px;color:#667085}.kpi-card strong{font-size:clamp(1.35rem,3vw,2rem)}.panel{min-width:0;padding:22px}.panel svg{width:100%;height:auto;margin-top:18px;border-radius:18px;background:linear-gradient(#edf1e9 1px,transparent 0),linear-gradient(90deg,#edf1e9 1px,transparent 0);background-size:100% 25%,25% 100%}.chart-portfolio{color:#2f8f5b;stroke-width:5}.chart-benchmark,.chart-portfolio{stroke-linecap:round;stroke-linejoin:round}.chart-benchmark{color:#5166d6;stroke-width:4;stroke-dasharray:10 8}.legend{display:flex;gap:12px;color:#667085;font-size:.86rem}.legend span:before{display:inline-block;width:18px;height:3px;margin-right:6px;border-radius:999px;content:"";vertical-align:middle}.portfolio-line:before{background:#2f8f5b}.benchmark-line:before{background:#5166d6}.metric-list{display:grid;grid-gap:12px;gap:12px;margin:18px 0 0}.metric-list div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #efe8d9}.metric-list dt{color:#667085}.metric-list dd{margin:0;font-weight:700}.table-panel{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:16px;white-space:nowrap}td,th{padding:12px 10px;border-bottom:1px solid #efe8d9;text-align:left}th{color:#667085;font-size:.85rem}.report-list{display:grid;grid-gap:12px;gap:12px;padding:0;list-style:none}.report-list a,.report-list small{display:block}.report-list a{color:#245c42;font-weight:700}.report-list small{margin-top:4px;color:#667085}.positive{color:#217a4d}.error-message,.negative{color:#b42318}.disclaimer,.empty-state{padding:20px}.disclaimer{color:#695c48;line-height:1.7;background:#fff7df}.skeleton-shell{contain:content}.skeleton{position:relative;overflow:hidden;border-radius:22px;background:#e8e0d2}.skeleton:after{position:absolute;inset:0;transform:translateX(-100%);animation:shimmer 1.6s infinite;background:linear-gradient(90deg,transparent,rgb(255 255 255/48%),transparent);content:""}.hero-skeleton{height:116px}.kpi-skeleton{height:118px}.chart-skeleton{min-height:260px}.skeleton-note{color:#667085}.village-hero{align-items:flex-start}.village-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-gap:20px;gap:20px;margin-top:24px}.village-overlay,.village-stage-panel,.warning-box{border:1px solid #e4dccb;border-radius:24px;background:#fffdf8;box-shadow:0 10px 30px rgb(80 68 43/8%)}.village-stage-panel{position:relative;min-height:540px;overflow:hidden}.village-stage{width:100%;height:540px;background:radial-gradient(circle at 20% 10%,rgb(255 255 255/42%),transparent 32%),linear-gradient(180deg,#dcefd1,#bfe0a5)}.village-stage canvas{display:block}.village-empty{position:absolute;inset:24px;display:grid;place-content:center;border:1px dashed #d8d2c4;border-radius:20px;background:rgb(255 253 248/84%);text-align:center}.village-overlay{align-self:start;padding:22px}.refresh-pill{padding:6px 10px;border-radius:999px;color:#245c42;background:#ecf8f0;font-size:.82rem;font-weight:700}.agent-roster{display:grid;grid-gap:12px;gap:12px;margin:18px 0;padding:0;list-style:none}.agent-roster li{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid #efe8d9;border-radius:16px;background:#fffaf0}.agent-roster-button{padding:0;border:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.agent-roster-button[aria-pressed=true] strong{color:#2f8f5b;text-decoration:underline;text-underline-offset:4px}.agent-roster span{width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:999px;color:#245c42;background:#ecf8f0;font-size:.82rem;font-weight:700}.agent-roster span[data-status=disabled],.agent-roster span[data-status=failed],.agent-roster span[data-status=halted]{color:#b42318;background:#fff1f0}.agent-roster small,.village-note{color:#667085;line-height:1.6}.agent-bubble-preview{width:-moz-fit-content;width:fit-content;padding:6px 10px;border:1px solid #d8eadc;border-radius:12px;color:#245c42;background:#f0fbf3}.agent-log-panel{display:grid;grid-gap:12px;gap:12px;margin:18px 0;padding:14px;border:1px solid #e4dccb;border-radius:18px;background:#fffaf0}.agent-log-panel h3{margin:0}.empty-log-panel p{margin:6px 0 0}.agent-detail-log-list,.event-prefetch-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.agent-detail-log-list li,.event-prefetch-list li{padding:10px;border:1px solid #efe8d9;border-radius:12px;background:#fffdf8}.agent-detail-log-list span,.event-prefetch-list span{display:block;margin-bottom:4px;color:#667085;font-size:.78rem}.agent-detail-log-list p{margin:6px 0 0;color:#28364a;line-height:1.5}.warning-box{padding:14px;background:#fff7df}.village-stage-skeleton{min-height:540px}@keyframes shimmer{to{transform:translateX(100%)}}@media (max-width:900px){.dashboard-grid,.kpi-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.app-shell{width:min(100% - 20px,1180px);padding-top:16px}.dashboard-toolbar,.hero,.panel-heading{display:block}.dashboard-grid,.kpi-grid,.village-layout{grid-template-columns:1fr}.hero-link{display:inline-block;margin-top:16px}.village-stage,.village-stage-panel,.village-stage-skeleton{min-height:360px;height:360px}.refresh-state{margin-top:12px;text-align:left}}