:root{--bg: #111214;--bg-elevated: #17191d;--panel: #1b1d21;--panel-soft: #20242a;--panel-strong: #262a31;--line: #2a2f36;--line-strong: #353b44;--text: #eceef2;--muted: #a0a7b1;--muted-soft: #7c8591;--accent: #10a37f;--accent-soft: rgba(16, 163, 127, .12);--accent-strong: rgba(16, 163, 127, .22);--danger: #ea8c8c;--danger-soft: rgba(234, 140, 140, .12);--shadow: 0 18px 48px rgba(0, 0, 0, .3);--radius-lg: 12px;--radius-md: 10px;--radius-sm: 8px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:IBM Plex Sans,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(255,255,255,.03),transparent 32%),linear-gradient(180deg,#111214,#15171a)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent)}button,input,select{font:inherit}button{cursor:pointer}input,select{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#17191d;color:var(--text);transition:border-color .16s ease,background .16s ease}input::placeholder{color:var(--muted-soft)}input:focus,select:focus{outline:none;border-color:#10a37f80;background:#1a1d22}.splash-shell,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.page-shell{max-width:1380px;margin:0 auto;padding:18px;display:grid;gap:14px}.splash-card,.auth-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.splash-card{width:min(420px,100%);padding:22px}.auth-card{width:min(440px,100%);padding:18px;display:grid;gap:14px}.auth-card-wide{width:min(520px,100%)}.auth-copy{display:grid;gap:8px}.auth-copy h1,.splash-card h1,.header-copy h1,.panel-header h2{margin:0;font-size:1.38rem;font-weight:600;letter-spacing:-.02em}.auth-copy p,.splash-card p,.header-copy p,.panel-header p,.message-banner,.field span,.stat-card span,.empty-panel p,.loading-state,.snapshot-subtle{color:var(--muted)}.eyebrow{color:var(--muted-soft);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:600}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 0}.header-copy{min-width:0}.header-copy p{margin:6px 0 0;max-width:780px;font-size:.88rem;line-height:1.45}.header-account,.toolbar-row,.toolbar-group,.mode-switch,.modal-actions,.button-content,.loading-state{display:flex;align-items:center;gap:10px}.header-account{flex-wrap:wrap;justify-content:flex-end;align-items:center}.toolbar-row{justify-content:space-between;flex-wrap:wrap}.toolbar-group{flex-wrap:wrap}.toolbar-group-wide{min-width:min(540px,100%);flex:1 1 520px}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-heading-row .panel-header{margin-bottom:0}.stat-card,.empty-panel{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md)}.stat-card{min-height:76px;padding:12px;display:grid;gap:6px}.stat-card strong{font-size:1.08rem;font-weight:600;line-height:1.25}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panel{padding:14px}.panel-header{display:grid;gap:5px;margin-bottom:12px}.panel-header.compact{margin-bottom:8px}.panel-header p{margin:0;font-size:.84rem;line-height:1.45}.stack{display:grid;gap:10px}.field{display:grid;gap:6px}.field.compact{min-width:170px}.field span{font-size:.78rem}.field-wide{min-width:0}.mode-button,.primary-button,.danger-button,.ghost-button,.icon-button{padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease}.mode-button:hover,.primary-button:hover,.danger-button:hover,.ghost-button:hover,.icon-button:hover,.row-main:hover{transform:translateY(-1px)}.mode-button{background:transparent;color:var(--muted)}.mode-button.active{color:#ddf8f1;background:#10a37f14;border-color:#10a37f4d}.primary-button{background:#1a3b34;color:#effdf8;border-color:#10a37f57}.primary-button:hover{background:#20453d}.danger-button{background:#ea8c8c14;color:#f7d4d4;border-color:#ea8c8c3d}.danger-button:hover{background:#ea8c8c1f}.ghost-button,.icon-button{background:#17191d;color:var(--text)}.ghost-button:hover,.icon-button:hover{background:#1f2227}.icon-button.danger{color:var(--danger);background:#ea8c8c0d;border-color:#ea8c8c33}.icon-button.danger:hover{background:#ea8c8c14}.user-chip{padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--muted);font-size:.84rem}.menu-shell{position:relative}.menu-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.menu-trigger.open{background:#1f2227;border-color:#10a37f3d}.menu-trigger-copy{min-width:0;display:grid;gap:2px}.menu-trigger-copy strong{max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600}.package-trigger{width:auto;max-width:360px}.package-trigger .menu-trigger-copy{display:block}.trigger-label{color:var(--muted-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.menu-caret{color:var(--muted-soft);flex:0 0 auto}.menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:280px;padding:6px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow);display:grid;gap:4px}.filter-menu{min-width:170px}.menu-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:stretch}.menu-option{width:100%;padding:10px 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;display:grid;gap:3px}.menu-option:hover,.menu-option.active,.menu-option-row.active .menu-option{background:var(--panel-strong)}.menu-option-primary{font-size:.84rem;font-weight:500;line-height:1.35}.menu-option-secondary{color:var(--muted);font-size:.74rem}.menu-option-icon{width:34px;min-height:42px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--danger);display:grid;place-items:center}.menu-option-icon:hover{background:#ea8c8c14}.menu-option-add{margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}.menu-empty{padding:10px 11px;color:var(--muted);font-size:.8rem}.trash-icon,.chevron-icon{width:14px;height:14px}.target-form{display:grid;grid-template-columns:minmax(0,2.5fr) 120px 120px auto;gap:10px;align-items:end}.target-table,.history-list{display:grid;gap:8px}.table-head,.table-row{display:grid;grid-template-columns:minmax(0,2fr) 76px 86px 92px 92px 182px 86px;gap:10px;align-items:center}.table-head{padding:0 10px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-soft)}.table-row{padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);font-size:.84rem}.table-row>span{white-space:nowrap}.row-main{padding:0;border:0;background:transparent;color:inherit;text-align:left;display:block;min-width:0}.row-main-inline{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap;min-width:0}.row-main strong{font-size:.9rem;font-weight:600;line-height:1.3}.row-main span{font-size:.76rem;color:var(--muted);line-height:1.3}.rank-pill,.change-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.rank-pill{background:var(--accent-soft);border:1px solid rgba(16,163,127,.2);color:#dcf9f1}.change-pill{border:1px solid var(--line);background:#181b1f}.change-pill.improved{color:#dffaf2;border-color:#10a37f38;background:#10a37f14}.change-pill.declined{color:#f7d4d4;border-color:#ea8c8c33;background:#ea8c8c14}.change-pill.neutral{color:var(--muted)}.message-banner{margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft);font-size:.84rem}.message-banner.error{background:var(--danger-soft);border-color:#ea8c8c38;color:#f3d2d2}.message-banner.success{background:var(--accent-soft);border-color:#10a37f38;color:#dcf9f1}.empty-panel{padding:18px 16px;display:grid;gap:8px;text-align:center}.empty-panel strong{font-size:.92rem}.loading-state{padding:4px 0;color:var(--muted);font-size:.84rem}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.18);border-top-color:currentColor;animation:spin .75s linear infinite}.button-content{justify-content:center}.history-chart{width:100%;height:auto;display:block;border-radius:var(--radius-sm);background:linear-gradient(180deg,#ffffff04,#fff0)}.chart-axis,.chart-grid{stroke:#ffffff1f;stroke-width:1}.chart-grid{stroke-dasharray:4 6}.chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:#101214;stroke:#c5ccd4;stroke-width:2}.chart-point.missing{stroke:#8f98a5}.chart-label{fill:var(--muted-soft);font-size:11px}.snapshot-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft)}.snapshot-meta{display:grid;align-content:start;gap:6px}.snapshot-meta strong{font-size:.84rem;font-weight:600}.snapshot-subtle{font-size:.74rem}.snapshot-results{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.result-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#17191d;color:var(--muted);font-size:.74rem;line-height:1.2}.result-chip.active{border-color:#10a37f47;background:#10a37f14;color:#e4fcf5}.result-rank{color:var(--muted-soft);font-size:.7rem}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#0000008f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{width:min(420px,100%);padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.modal-actions{justify-content:flex-end}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.summary-grid{grid-template-columns:1fr}.target-form{grid-template-columns:1fr 1fr}.target-form>button{grid-column:1 / -1}}@media(max-width:860px){.page-shell,.auth-shell,.splash-shell{padding:12px}.page-header,.toolbar-row,.section-heading-row,.header-account{flex-direction:column;align-items:stretch}.header-account{justify-content:flex-start}.toolbar-group,.toolbar-group-wide,.mode-switch,.menu-trigger{width:100%}.target-form,.table-row,.snapshot-row{grid-template-columns:1fr}.table-head{display:none}}
