@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:light;--bg: #eef3f1;--bg-soft: #f7faf8;--panel: #ffffff;--panel-border: #d7dfdb;--sidebar: #17322e;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-text: #eff8f4;--sidebar-muted: rgba(239, 248, 244, .7);--text: #192321;--muted: #5d6c68;--accent: #0f766e;--accent-strong: #115e59;--accent-soft: #d7eeeb;--info-soft: #e5f2f0;--danger: #b42318;--danger-soft: #fde8e8;--success: #166534;--success-soft: #e8f6ed;--shadow: 0 18px 45px rgba(23, 50, 46, .08);--radius: 10px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Space Grotesk,Trebuchet MS,sans-serif;color:var(--text);background:linear-gradient(180deg,#eef3f1,#f8fbfa)}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--panel-border);border-radius:var(--radius);background:#fff;color:var(--text);padding:.82rem .92rem}textarea{resize:vertical}label{display:grid;gap:.45rem}label span{font-size:.92rem;color:var(--muted)}.eyebrow{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong);font-size:.75rem;font-family:IBM Plex Mono,monospace}.muted,.form-hint,.intro-copy,.field-note,.page-copy{color:var(--muted)}.primary-button,.secondary-button,.mode-switch button{border-radius:var(--radius);padding:.82rem 1rem;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.secondary-button{background:#fff;border-color:var(--panel-border);color:var(--text)}.secondary-button:hover,.mode-switch button:hover,.coin-row:hover{background:#f4f8f7}.auth-layout,.auth-callback{min-height:100vh;display:grid;place-items:center}.auth-panel,.callback-panel{width:min(100%,420px);padding:2rem}.auth-panel,.callback-panel{display:grid;align-content:center;gap:1.5rem;background:#fff;border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow)}.auth-panel--compact{min-height:auto}.mode-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.mode-switch button{background:#fff;border-color:var(--panel-border);color:var(--muted)}.mode-switch__active{background:var(--accent-soft)!important;border-color:#0f766e38!important;color:var(--text)!important}.auth-form{display:grid;gap:1rem}.form-error{margin:0;color:var(--danger)}.workspace-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.workspace-sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid var(--sidebar-border)}.workspace-sidebar .eyebrow{color:#dff2eed1}.sidebar-brand h1{margin:0;font-size:1.8rem;line-height:1.05}.sidebar-copy{margin:.8rem 0 0;color:var(--sidebar-muted);line-height:1.6}.sidebar-nav{display:grid;gap:.75rem}.sidebar-link{text-decoration:none;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);padding:.95rem 1rem;background:#ffffff08;display:grid;gap:.35rem}.sidebar-link strong{font-size:1rem}.sidebar-link span{color:var(--sidebar-muted);font-size:.88rem;line-height:1.45}.sidebar-link:hover{background:#d7eeeb1a;border-color:#d7eeeb33}.sidebar-link--active{background:#d7eeeb24;border-color:#d7eeeb47}.sidebar-user{margin-top:auto;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1rem;background:#ffffff0a;display:grid;gap:.95rem}.sidebar-user__identity{display:flex;align-items:center;gap:.8rem;min-width:0}.sidebar-user__identity>div{min-width:0}.sidebar-user strong,.sidebar-user p{margin:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user p{color:var(--sidebar-muted)}.sidebar-signout{width:100%}.workspace-main{padding:1.8rem;display:grid;gap:1.2rem;align-content:start}.page-header{padding:.25rem 0}.page-header h2{margin:0;font-size:clamp(2rem,3vw,2.7rem);line-height:1.05}.page-copy{margin:.6rem 0 0;max-width:720px;line-height:1.6}.page-content{display:grid;align-content:start;align-items:start}.content-split{display:grid;gap:1.2rem}.content-split--profile{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.content-split--coins{grid-template-columns:minmax(320px,380px) minmax(0,1fr)}.panel{padding:1.25rem;border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.panel-heading--stacked{align-items:flex-end}.panel-heading h3{margin:0;font-size:1.4rem}.badge{display:inline-flex;align-items:center;padding:.32rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.85rem;white-space:nowrap}.avatar{width:3.5rem;height:3.5rem;border-radius:999px;object-fit:cover;border:1px solid var(--panel-border);flex-shrink:0}.avatar-large{width:4.75rem;height:4.75rem}.avatar-sidebar{width:3rem;height:3rem;border-color:#ffffff26}.avatar-fallback{display:grid;place-items:center;font-weight:700;background:var(--accent-soft);color:var(--accent-strong)}.profile-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius);background:var(--bg-soft);margin-bottom:1rem}.profile-card strong,.profile-card p{margin:0}.detail-list{margin:0;display:grid;gap:1rem}.detail-list div{padding-top:.95rem;border-top:1px solid var(--panel-border)}.detail-list dt{margin-bottom:.35rem;color:var(--muted);font-size:.88rem}.detail-list dd{margin:0;line-height:1.6}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.profile-form__full{grid-column:1 / -1}.profile-actions{grid-column:1 / -1;display:flex;align-items:center;gap:1rem}.field-note{margin:-.15rem 0 0;font-size:.88rem}.inline-message{margin:0;padding:.78rem .92rem;border-radius:var(--radius);border:1px solid transparent;font-size:.95rem}.inline-message--error{color:var(--danger);background:var(--danger-soft);border-color:#b4231824}.inline-message--success{color:var(--success);background:var(--success-soft);border-color:#16653429}.inline-message--info{color:var(--accent-strong);background:var(--info-soft);border-color:#0f766e24}.filters{display:grid;grid-template-columns:1.3fr .9fr .7fr;gap:.8rem;margin-bottom:1rem}.coin-list{display:grid;gap:.6rem;max-height:62vh;overflow:auto}.coin-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.9rem;padding:.92rem .95rem;border:1px solid var(--panel-border);border-radius:var(--radius);background:#fff;text-align:left}.coin-row__meta strong,.coin-row__meta span,.coin-row__numbers strong,.coin-row__numbers span{display:block}.coin-row__meta span,.coin-row__numbers span{color:var(--muted);font-size:.86rem}.coin-row__numbers{text-align:right}.coin-row--active{border-color:#0f766e47;background:var(--accent-soft)}.trend-positive{color:var(--success)!important}.trend-negative{color:#b45309!important}.empty-state{display:grid;place-items:center;min-height:240px;text-align:center;border:1px dashed var(--panel-border);border-radius:var(--radius);background:var(--bg-soft);color:var(--muted);margin-bottom:1rem;padding:1.5rem}.empty-state h4{margin:0 0 .35rem;color:var(--text);font-size:1.2rem}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin-bottom:1rem}.stat-row{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--panel-border)}.chart-shell{height:340px}.interval-control{min-width:120px}.weather-table{display:grid;gap:.6rem}.weather-table__header,.weather-table__row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.75fr) minmax(0,1fr);gap:.8rem;align-items:center}.weather-table__header{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:.45rem}.weather-table__row{padding:.95rem 0;border-top:1px solid var(--panel-border)}@media (max-width: 1100px){.content-split--profile,.content-split--coins{grid-template-columns:1fr}}@media (max-width: 900px){.workspace-shell{grid-template-columns:1fr}.workspace-sidebar{padding-bottom:1rem}.sidebar-user{margin-top:0}}@media (max-width: 720px){.workspace-main,.auth-panel,.callback-panel{padding:1.1rem}.profile-form,.filters,.stats-grid,.weather-table__header,.weather-table__row{grid-template-columns:1fr}.panel-heading,.profile-actions,.sidebar-user__identity{align-items:stretch}.panel-heading,.panel-heading--stacked,.profile-actions{flex-direction:column}}
