:root{color-scheme:light dark;font-family:-apple-system,system-ui,Segoe UI,sans-serif;--bg: var(--tg-theme-bg-color, #ffffff);--bg-secondary: var(--tg-theme-secondary-bg-color, #f2f2f7);--paper: var(--tg-theme-secondary-bg-color, #f2f2f7);--ink: var(--tg-theme-text-color, #000000);--muted: var(--tg-theme-hint-color, #8e8e93);--accent: var(--tg-theme-button-color, #2481cc);--accent-text: var(--tg-theme-button-text-color, #ffffff);--link: var(--tg-theme-link-color, #2481cc);--line: rgba(0, 0, 0, .1);--shadow: rgba(0, 0, 0, .06);--positive: #30a84e;--positive-soft: rgba(48, 168, 78, .12);--negative: #e03a30;--negative-soft: rgba(224, 58, 48, .11);--gold: #e89800;--gold-soft: rgba(232, 152, 0, .12);--neutral-soft: rgba(0, 0, 0, .06);--admin: #5856d6;--admin-soft: rgba(88, 86, 214, .12);--danger: #e03a30;--danger-soft: rgba(224, 58, 48, .11)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;max-width:720px;margin:0 auto;padding:16px 16px calc(156px + env(safe-area-inset-bottom))}.app-shell-loading{opacity:.98}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--bg)}.app-header,.brand-block,.screen-stack,.metrics-grid,.two-up-grid,.plan-stack,.summary-stack,.score-stack,.watchlist-stack,.admin-stack,.feature-list,.action-grid{display:grid;gap:12px}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:12px}.brand-block{gap:6px}.brand-mark,.hero-kicker,.section-kicker,.metric-card-label{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted)}.app-header h1,.hero-card h2,.section-intro h2,.profile-card h2{margin:0;line-height:1}.app-header h1{font-size:clamp(24px,8vw,32px)}.brand-subtitle,.section-intro p,.hero-description,.helper-copy,.admin-card p,.watchlist-row p,.action-card span,.empty-state p,.ai-copy p{margin:0;color:var(--muted);line-height:1.45}.identity-chip,.search-bar,.hero-card,.content-card,.section-intro,.metric-card,.plan-card,.empty-state,.score-ring-card{border:1px solid var(--line);background:var(--paper);box-shadow:0 1px 0 var(--line)}.identity-chip,.content-card,.section-intro,.plan-card,.empty-state{border-radius:24px;padding:16px}.identity-chip{justify-items:end;gap:8px}.identity-name{font-size:14px;font-weight:700;color:var(--ink)}.plan-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.plan-badge-neutral{background:var(--neutral-soft);color:var(--muted)}.plan-badge-gold{background:var(--gold-soft);color:var(--gold)}.plan-badge-positive{background:var(--positive-soft);color:var(--positive)}.plan-badge-admin{background:var(--admin-soft);color:var(--admin)}.search-sticky-wrap{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:10}.search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px;border-radius:999px;background:var(--bg-secondary)}.search-input{width:100%;min-width:0;min-height:48px;padding:0 16px;border:0;border-radius:999px;background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px #0000001a}.search-input::placeholder{color:var(--muted)}.submit-button,.ghost-button,.text-button,.tab-chip,.action-card,.bottom-nav-button,.back-button{min-height:44px;border:0;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.submit-button{padding:0 18px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:700;box-shadow:none}.submit-button:disabled{opacity:.6;cursor:wait}.submit-button:active,.ghost-button:active,.tab-chip:active,.action-card:active,.back-button:active{opacity:.72;transform:scale(.97)}.bottom-nav-button:active{opacity:.6}.hero-card{display:grid;gap:16px;padding:18px;border-radius:28px;background:var(--paper)}.hero-copy{display:grid;gap:10px}.hero-card h2{font-size:clamp(26px,8vw,38px)}.hero-meta{display:flex;flex-wrap:wrap;gap:8px}.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.status-pill-positive{background:var(--positive-soft);color:var(--positive)}.status-pill-negative{background:#e7c7c0;color:#6d2b22}.status-pill-neutral,.status-pill-muted{background:var(--neutral-soft);color:var(--muted)}.score-ring-card{place-self:center;width:176px;height:176px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--paper)}.score-ring{width:148px;height:148px}.score-ring-track,.score-ring-progress{fill:none;stroke-width:10;stroke-linecap:round}.score-ring-track{stroke:#0000001a}.score-ring-progress-positive{stroke:var(--positive)}.score-ring-progress-negative{stroke:var(--negative)}.score-ring-progress-neutral{stroke:var(--gold)}.score-ring-center{position:absolute;display:grid;gap:4px;place-items:center}.score-ring-center strong{font-size:34px;line-height:1;color:var(--ink)}.score-ring-center span{color:var(--muted);font-size:12px}.tab-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tab-strip::-webkit-scrollbar{display:none}.tab-chip{flex:0 0 auto;padding:0 14px;border-radius:999px;background:var(--bg-secondary);color:var(--ink);white-space:nowrap;font-weight:600;border:1px solid rgba(0,0,0,.1)}.tab-chip-active{background:var(--accent);color:var(--accent-text);border-color:transparent}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{display:grid;gap:6px;min-height:126px;padding:16px;border-radius:22px}.metric-card strong{font-size:clamp(24px,7vw,30px);line-height:1;color:var(--ink)}.metric-card-note{color:var(--muted);font-size:13px}.metric-card-positive{background:var(--positive-soft)}.metric-card-negative{background:#ead2cc;border-color:#78493d3d}.metric-card-neutral{background:var(--gold-soft)}.section-intro{display:grid;gap:8px}.section-intro h2,.section-head h3,.empty-state h3{margin:0;font-size:clamp(22px,7vw,28px)}.content-card{display:grid;gap:14px}.section-head,.score-section-head,.summary-row,.metric-table-head,.metric-table-row{display:grid;align-items:center}.section-head,.score-section-head{grid-template-columns:minmax(0,1fr) auto;gap:10px}.section-meta{color:var(--muted);font-size:13px;font-weight:600}.summary-stack{gap:6px}.summary-row{grid-template-columns:1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.summary-row span,.metric-table-row span,.metric-table-head span,.summary-row strong,.metric-table-row strong,.score-row strong,.section-head h3,.score-section-head h4,.empty-state h3,.action-card strong,.admin-card strong,.watchlist-row strong{color:var(--ink)}.summary-row:last-child{border-bottom:0}.risk-stack{display:grid;gap:10px}.risk-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border-left:3px solid var(--danger);border-radius:14px;background:var(--bg-secondary)}.risk-item p{margin:0}.metric-table{display:grid}.metric-table-head,.metric-table-row{grid-template-columns:minmax(0,1.3fr) minmax(78px,.8fr) minmax(78px,.8fr);gap:10px}.metric-table-head{padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.1);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.metric-table-row{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1)}.score-section+.score-section{margin-top:16px}.score-stack{gap:8px}.score-total{padding:6px 10px;border-radius:999px}.score-total-positive{background:var(--positive-soft);color:var(--positive)}.score-total-negative{background:#e7c7c0;color:#6d2b22}.score-total-neutral{background:var(--gold-soft);color:#6f624c}.score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1)}.score-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.score-row span{color:var(--ink)}.quarterly-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.quarterly-table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0}.quarterly-table thead th,.quarterly-table tbody td,.quarterly-table tbody th{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.1);text-align:left;white-space:nowrap}.quarterly-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-secondary);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.quarterly-table thead th:first-child,.quarterly-table tbody th{position:sticky;left:0;z-index:2;background:var(--bg-secondary)}.quarterly-table tbody th{font-weight:700}.ai-copy{display:grid;gap:12px}.watchlist-stack,.admin-stack,.feature-list{gap:10px}.watchlist-row,.admin-card{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--paper);border:1px solid rgba(0,0,0,.1)}.watchlist-row-active{background:var(--positive-soft)}.watchlist-row strong,.admin-card strong{display:block;margin-bottom:6px}.watchlist-actions,.plan-actions,.admin-actions,.profile-meta{display:flex;flex-wrap:wrap;gap:8px}.form-stack,.inline-input{display:grid;gap:10px}.ghost-button,.back-button{padding:0 14px;border-radius:14px;background:var(--bg-secondary);color:var(--ink);border:1px solid rgba(0,0,0,.1);font-weight:600}.ghost-button-danger{background:var(--danger-soft);color:var(--danger)}.text-button{justify-self:start;padding:0;background:transparent;color:var(--link);font-weight:700}.plan-card{display:grid;gap:14px}.plan-card-active{border-color:#2481cc59;background:#2481cc0f}.feature-list p{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.1)}.feature-list p:last-child{border-bottom:0}.helper-copy{font-size:13px}.profile-card{background:var(--paper)}.action-grid{grid-template-columns:1fr}.action-card{display:grid;gap:6px;align-items:start;padding:14px;border-radius:18px;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.1);text-align:left}.action-card strong{font-size:16px}.back-button{justify-self:start}.empty-state{display:grid;justify-items:start;gap:10px}.empty-state h3,.empty-state p{color:var(--ink)}.empty-state-compact{padding:14px}.empty-state-icon{font-size:28px}.skeleton-card,.inline-skeleton-line{position:relative;overflow:hidden;background:var(--bg-secondary)}.skeleton-card:after,.inline-skeleton-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:shimmer 1.4s infinite}.skeleton-card{border-radius:24px}.skeleton-card-hero{height:220px}.skeleton-card-metric{min-height:126px}.skeleton-card-panel{height:180px}.inline-skeleton{display:grid;gap:10px}.inline-skeleton-line{height:14px;border-radius:999px}.inline-skeleton-line-short{width:62%}.bottom-nav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;width:min(92vw,520px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-radius:26px;background:#111b29ed;box-shadow:0 -1px #ffffff0f,0 8px 32px #0003;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav-button{display:grid;justify-items:center;align-content:center;gap:4px;padding:8px 4px;border-radius:18px;background:transparent;color:#ffffff80;font-size:12px;font-weight:700}.bottom-nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.bottom-nav-icon svg{width:18px;height:18px}.bottom-nav-button-active{background:#2481cc40;color:#5ab3f0}@keyframes shimmer{to{transform:translate(100%)}}@media(min-width:640px){.app-shell{padding:20px 20px calc(132px + env(safe-area-inset-bottom))}.hero-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.two-up-grid,.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-input{grid-template-columns:minmax(0,1fr) auto}.watchlist-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media(max-width:430px){.tab-strip{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.tab-chip{width:100%;min-height:46px}.bottom-nav{grid-template-columns:1fr 1fr;width:min(92vw,360px);bottom:calc(10px + env(safe-area-inset-bottom))}}@media(min-width:900px){.app-shell{padding-left:24px;padding-right:24px}.metrics-grid,.two-up-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{padding:22px}.section-intro,.content-card,.plan-card,.empty-state,.identity-chip{padding:18px}}
