:root { color-scheme: light; font-family: Inter, Arial, sans-serif; --bg: #f5f7fb; --card: #ffffff; --text: #14213d; --muted: #5f6b80; --accent: #0e2a5c; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); }
.shell { max-width: 1100px; margin: 0 auto; padding: 24px; }
.app-shell { min-height: 100vh; padding: 16px; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; padding:20px; border-radius:18px; background: var(--card); box-shadow: 0 8px 24px rgba(15,30,60,.08); }
.topbar h1 { margin: 0; color: var(--accent); }
.topbar p { margin: 4px 0 0; color: var(--muted); }
.topbar-actions { display:flex; gap:10px; align-items:center; }
.topbar-actions button, .auth-card button { border:0; border-radius:999px; padding:10px 14px; background: var(--accent); color:white; cursor:pointer; }
.panel, .summary-card, .auth-card { background: var(--card); border-radius:18px; box-shadow: 0 8px 24px rgba(15,30,60,.08); padding:18px; margin-bottom:16px; }
.summary-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:16px; margin-bottom:16px; }
.summary-card strong { font-size:28px; display:block; color: var(--accent); }
.auth-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-card { width:min(420px, 100%); }
.auth-card input { width:100%; margin-bottom:10px; padding:10px 12px; border:1px solid #d7dce7; border-radius:10px; }
.chip-list { display:flex; gap:8px; flex-wrap:wrap; }
.pill { background: #f0f4ff; color: var(--accent); padding:6px 10px; border-radius:999px; font-size:13px; }
.transaction-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.transaction-list li { display:flex; justify-content:space-between; border-bottom:1px solid #eceef4; padding-bottom:8px; }
.dashboard-host { border-radius: 20px; overflow: hidden; box-shadow: 0 12px 32px rgba(15,30,60,.14); background: #fff; min-height: calc(100vh - 140px); }
.dashboard-host .app { max-width: none; padding: 24px; }
.dashboard-host .header { margin-bottom: 24px; }
.dashboard-host .logout-btn { display: none; }
.error-card { padding: 24px; color: #c0392b; }
.error { color: #c0392b; margin-top: 8px; }
.hint { color: var(--muted); font-size: 13px; }
