html, body { overflow-x: clip; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: var(--z-sidebar); display: flex; width: 17rem; flex-direction: column; padding: var(--space-6) var(--space-4); background: var(--color-night-900); color: var(--text-inverse); transform: translateX(-100%); transition: transform var(--duration-slow) var(--ease-enter); }
.sidebar.is-open { transform: translateX(0); }
.brand { display: flex; align-items: center; gap: var(--space-3); margin: 0 var(--space-2) var(--space-6); font-size: 1.25rem; font-weight: var(--weight-bold); letter-spacing: .08em; }
.brand__mark { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--radius-sm); background: rgba(255, 255, 255, .05); }
.brand__mark img { width: 2rem; height: 2rem; }
.space-switcher { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-3); width: 100%; margin-bottom: var(--space-6); padding: var(--space-3); border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--radius-md); background: rgba(255, 255, 255, .055); color: inherit; text-align: left; cursor: pointer; }
.space-switcher__avatar { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: var(--radius-sm); background: linear-gradient(135deg, var(--color-electric-500), var(--color-violet-500)); font-size: var(--font-size-xs); font-weight: var(--weight-bold); }
.space-switcher small, .profile small { display: block; color: var(--color-neutral-400); font-size: var(--font-size-2xs); }.space-switcher strong, .profile strong { display: block; font-size: var(--font-size-xs); }
.nav-list { display: grid; gap: var(--space-1); }
.nav-item svg, .topbar svg, .bottom-nav svg, .entity-card svg, .empty-state svg, .quick-add svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; }
.nav-item { display: flex; min-height: 2.75rem; align-items: center; gap: var(--space-3); padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--color-neutral-300); font-size: var(--font-size-sm); font-weight: var(--weight-medium); transition: color var(--duration-normal), background var(--duration-normal); }
.nav-item:hover, .nav-item.is-active { background: rgba(79, 107, 255, .13); color: var(--color-white); }.nav-item.is-active { box-shadow: inset 2px 0 var(--color-turquoise-500); }.nav-item.is-active .icon { color: var(--color-turquoise-400); }
.sidebar__footer { display: grid; gap: var(--space-3); margin-top: auto; }
.profile { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-2) 0; border-top: 1px solid rgba(255, 255, 255, .09); }
.profile__avatar { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: var(--color-night-700); font-size: var(--font-size-2xs); font-weight: var(--weight-bold); }

.main-content { min-width: 0; padding: 0 var(--space-4) 6.5rem; }
.topbar { display: flex; min-height: 5rem; align-items: center; gap: var(--space-3); }
.topbar__title { flex: 1; }.topbar__title .eyebrow { display:none; }.topbar__title h1 { margin: 0; font-size: var(--font-size-xl); }.topbar__actions { display: flex; gap: var(--space-2); }
.hero { position: relative; display: flex; min-height: 15rem; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; margin-bottom: var(--space-5); padding: var(--space-8) var(--space-6); border-radius: var(--radius-xl); background: linear-gradient(125deg, var(--color-night-900), #172654 58%, #47348a); color: var(--text-inverse); box-shadow: var(--shadow-md); }
.hero::before { position: absolute; inset: -70% -20% auto auto; width: 26rem; height: 26rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; }
.hero > * { position: relative; z-index: 1; }.hero h2 { max-width: 42rem; margin-bottom: var(--space-2); font-size: var(--font-size-2xl); line-height: var(--line-height-tight); }.hero h2 span { color: var(--color-turquoise-400); }.hero p:not(.eyebrow) { max-width: 35rem; margin-bottom: var(--space-6); color: var(--color-neutral-200); }.hero .eyebrow { color: var(--color-turquoise-400); }
.metrics { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-bottom: var(--space-5); }
.stat-card__spark { position: absolute; right: var(--space-4); bottom: var(--space-3); width: 6.5rem; color: var(--color-turquoise-500); }
.stat-card--income .stat-card__icon { background: var(--color-success-soft); color: var(--color-success); }.stat-card--expense .stat-card__icon { background: var(--color-danger-soft); color: var(--color-danger); }.stat-card--saving .stat-card__icon { background: #f2edff; color: var(--color-violet-600); }
.dashboard-grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }.dashboard-grid > *, .metrics > *, .page-grid > * { min-width: 0; }.spending-layout { display: grid; align-items: center; gap: var(--space-6); }
.donut { display: grid; width: 10.5rem; height: 10.5rem; place-self: center; place-items: center; border-radius: 50%; background: conic-gradient(var(--color-electric-600) 0 35%, var(--color-turquoise-500) 35% 59%, var(--color-violet-500) 59% 77%, #6578bd 77% 90%, var(--color-neutral-300) 90%); }
.donut::before { grid-area: 1/1; width: 7rem; height: 7rem; border-radius: 50%; background: var(--surface-card); content: ''; }.donut div { z-index: 1; display: grid; grid-area: 1/1; text-align: center; }.donut strong { font-size: 1.25rem; }.donut small { color: var(--text-secondary); }
.legend { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }.legend li { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: var(--space-2); font-size: var(--font-size-xs); }.legend li small { min-width: 1.75rem; color: var(--text-secondary); text-align: right; }.dot { width: .5rem; height: .5rem; border-radius: 50%; }.dot--electric{background:var(--color-electric-600)}.dot--turquoise{background:var(--color-turquoise-500)}.dot--violet{background:var(--color-violet-500)}.dot--blue{background:#6578bd}.dot--neutral{background:var(--color-neutral-300)}
.score { display: grid; align-items: center; gap: var(--space-5); }.score__ring { --score: 0; display: grid; width: 8rem; height: 8rem; place-self: center; place-items: center; border-radius: 50%; background: conic-gradient(var(--color-electric-600) calc(var(--score) * 1%), var(--color-neutral-100) 0); }.score__ring--78 { --score: 78; }.score__ring::before { grid-area: 1/1; width: 6.25rem; height: 6.25rem; border-radius: 50%; background: var(--surface-card); content: ''; }.score__ring span { z-index: 1; display: flex; grid-area: 1/1; align-items: baseline; }.score__ring strong { font-size: 1.9rem; }.score__ring small { color: var(--text-secondary); }.score p { margin: var(--space-2) 0 var(--space-1); font-weight: var(--weight-semibold); }.score > div > small { color: var(--text-secondary); font-size: var(--font-size-2xs); }
.insight { display: flex; gap: var(--space-3); margin-top: var(--space-5); padding: var(--space-4); border: 1px solid #dfe3ff; border-radius: var(--radius-md); background: var(--color-info-soft); color: var(--text-secondary); font-size: var(--font-size-xs); }.insight .icon { color: var(--color-violet-600); }.insight p { margin: 0; }.insight strong { color: var(--text-primary); }
.movement { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-top: 1px solid var(--border-subtle); }.movement:first-of-type { border-top: 0; }.movement__icon { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: var(--radius-sm); background: var(--surface-subtle); color: var(--color-electric-600); }.movement strong { font-size: var(--font-size-xs); }.movement small { display: block; color: var(--text-secondary); font-size: var(--font-size-2xs); }.amount { white-space: nowrap; }.amount--positive { color: var(--color-success); }
.bottom-nav { position: fixed; z-index: var(--z-sticky); right: var(--space-3); bottom: max(var(--space-3), env(safe-area-inset-bottom)); left: var(--space-3); display: grid; grid-template-columns: repeat(5, 1fr); padding: var(--space-2); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: var(--surface-card); box-shadow: var(--shadow-lg); }.bottom-nav__item { display: grid; min-height: 3rem; place-items: center; gap: .15rem; border-radius: var(--radius-sm); color: var(--color-neutral-700); font-size: var(--font-size-2xs); font-weight: var(--weight-semibold); }.bottom-nav__item svg { color:var(--color-electric-600); }.bottom-nav__item.is-active { background: var(--color-electric-600); color: var(--color-white); box-shadow:var(--shadow-xs); }.bottom-nav__item.is-active svg { color:var(--color-white); }
.page-backdrop { position: fixed; inset: 0; z-index: var(--z-sticky); background: rgba(8,11,22,.58); backdrop-filter: blur(3px); }
.space-form { margin-bottom: var(--space-5); }.space-form .space-switcher { display:block; margin:0; padding-right:2.5rem; border-color:var(--color-night-700); color:var(--color-white); background-color:var(--color-night-800); }
.space-form .space-switcher:hover,.space-form .space-switcher:focus { border-color:var(--color-turquoise-400); }.space-form .space-switcher option { color:var(--color-night-900); background:var(--color-white); }
.space-form__label { display:block; margin:0 0 var(--space-2); color:var(--color-neutral-400); font-size:var(--font-size-2xs); font-weight:var(--weight-semibold); text-transform:uppercase; letter-spacing:.08em; }
.notice { margin-bottom:var(--space-4); padding:var(--space-4); border:1px solid; border-radius:var(--radius-md); }.notice--success { border-color:#86efac; background:var(--color-success-soft); color:#166534; }.notice--error { border-color:#fca5a5; background:var(--color-danger-soft); color:#991b1b; }
.hero--compact { min-height:12rem; }.page-grid { display:grid; min-width:0; grid-template-columns:minmax(0,1fr); gap:var(--space-4); }.form-card { margin-bottom:var(--space-5); }.form-grid { display:grid; gap:var(--space-4); }.card-grid { display:grid; gap:var(--space-3); margin-top:var(--space-5); }.account-card { display:grid; gap:var(--space-2); min-width:0; padding:var(--space-5); border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-subtle); }.account-card h3 { margin:0; }.account-card strong { font-size:var(--font-size-xl); }.account-card small,.empty { color:var(--text-secondary); }.account-card--link:hover { border-color:var(--color-electric-500); box-shadow:var(--shadow-sm); }.data-list { display:grid; gap:var(--space-3); margin:0; padding:0; list-style:none; }.data-list li { display:flex; justify-content:space-between; gap:var(--space-3); padding-bottom:var(--space-3); border-bottom:1px solid var(--border-subtle); }.inline-form { display:inline; }.text-button--danger { color:var(--color-danger); }

.auth-page { display: grid; min-height: 100vh; background: var(--surface-canvas); }.auth-visual { position: relative; display: none; overflow: hidden; padding: var(--space-12); background: linear-gradient(145deg, var(--color-night-900), #1a2857 58%, #4c328b); color: var(--text-inverse); }.auth-visual::after { position: absolute; right: -10rem; bottom: -12rem; width: 35rem; height: 35rem; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ''; }.auth-visual__content { position: relative; z-index: 1; display: flex; max-width: 34rem; flex-direction: column; justify-content: space-between; }.auth-visual__message h1 { margin-bottom: var(--space-5); font-size: var(--font-size-display); }.auth-visual__message p { color: var(--color-neutral-200); font-size: var(--font-size-lg); }.auth-panel { display: grid; place-items: center; padding: var(--space-6); }.auth-card { width: min(100%, 27rem); }.auth-logo { width: 11rem; margin-bottom: var(--space-10); }.auth-card h2 { margin-bottom: var(--space-2); font-size: 1.75rem; }.auth-card__intro { margin-bottom: var(--space-8); color: var(--text-secondary); }.auth-form { display: grid; gap: var(--space-5); }.auth-row { display: flex; justify-content: space-between; gap: var(--space-3); font-size: var(--font-size-xs); }.auth-link { color: var(--color-electric-600); font-weight: var(--weight-semibold); }.auth-divider { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-6) 0; color: var(--text-tertiary); font-size: var(--font-size-2xs); }.auth-divider::before, .auth-divider::after { height: 1px; flex: 1; background: var(--border-subtle); content: ''; }.auth-note { color: var(--text-secondary); font-size: var(--font-size-xs); text-align: center; }
.error-page { display: grid; min-height: 100vh; place-items: center; padding: var(--space-6); text-align: center; }.error-page main { max-width: 30rem; }.error-page h1 { font-size: var(--font-size-2xl); }.error-page p:not(.eyebrow) { color: var(--text-secondary); }

/* Post-validation mobile-first experience */
.topbar__actions { align-items:center; }.profile-chip { display:grid; width:2.5rem; height:2.5rem; place-items:center; flex:0 0 auto; border-radius:50%; background:linear-gradient(135deg,var(--color-electric-600),var(--color-violet-500)); color:#fff; font-size:var(--font-size-2xs); font-weight:var(--weight-bold); }.profile-chip--large { width:3rem; height:3rem; }
.financial-header { position:relative; display:grid; min-height:13rem; align-content:space-between; gap:var(--space-5); overflow:hidden; margin:0 calc(var(--space-4) * -1) var(--space-4); padding:var(--space-5) var(--space-4) var(--space-6); background:linear-gradient(140deg,#07152f 0%,#10346c 58%,#5931a5 125%); color:#fff; }
.financial-header::after { position:absolute; right:-4rem; bottom:-7rem; width:18rem; height:18rem; border:1px solid rgba(29,220,207,.25); border-radius:50%; content:""; }.financial-header > * { position:relative; z-index:1; }.financial-header__space { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }.financial-header__space span,.financial-header__balance p { margin:0; color:rgba(255,255,255,.7); font-size:var(--font-size-xs); }.financial-header__space strong { max-width:60%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.financial-header__balance { display:grid; gap:var(--space-1); }.balance-line { display:flex; align-items:center; gap:var(--space-2); }.balance-line > strong { font-size:clamp(1.8rem,9vw,2.55rem); letter-spacing:-.04em; }.balance-trend { color:var(--color-turquoise-400); }.balance-trend.is-negative { color:#ff9da8; }.icon-button--inverse { color:#fff; background:rgba(255,255,255,.1); }.quick-add { position:absolute; right:var(--space-4); bottom:var(--space-5); display:grid; width:3.2rem; height:3.2rem; place-items:center; border:1px solid rgba(255,255,255,.32); border-radius:50%; background:linear-gradient(135deg,var(--color-turquoise-500),var(--color-electric-600)); box-shadow:0 10px 24px rgba(0,0,0,.25); color:#fff; }.quick-add span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.monthly-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:var(--space-4); border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-card); box-shadow:var(--shadow-sm); }.monthly-strip article { display:grid; min-width:0; gap:.25rem; padding:var(--space-3) var(--space-2); text-align:center; }.monthly-strip article+article { border-left:1px solid var(--border-subtle); }.monthly-strip span:first-child { overflow:hidden; color:var(--text-secondary); font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }.monthly-strip strong { overflow:hidden; font-size:clamp(.7rem,3vw,var(--font-size-sm)); text-overflow:ellipsis; }
.amount--negative { color:var(--color-danger); }.money-placeholder { display:none; }.is-money-hidden .money-value { display:none!important; }.is-money-hidden .money-placeholder { display:inline!important; }
.dashboard-home { display:grid; min-width:0; gap:var(--space-4); }.timeline-panel,.analysis-panel,.content-section { min-width:0; padding:var(--space-4); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); background:var(--surface-card); box-shadow:var(--shadow-sm); }.section-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); margin-bottom:var(--space-4); }.section-heading h2,.section-heading p { margin:0; }.transaction-timeline { display:grid; gap:var(--space-4); }.transaction-day > header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); padding:0 var(--space-1) var(--space-2); }.transaction-day > header h3 { margin:0; font-size:var(--font-size-sm); }.transaction-day > header span { color:var(--text-tertiary); font-size:var(--font-size-2xs); }
.transaction-row { display:grid; min-width:0; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:var(--space-3); padding:var(--space-3) var(--space-1); border-top:1px solid var(--border-subtle); color:var(--text-primary); }.transaction-row:hover { background:var(--surface-subtle); }.transaction-icon { display:grid; width:2.6rem; height:2.6rem; place-items:center; flex:none; border-radius:50%; background:var(--color-info-soft); color:var(--color-electric-700); font-size:.65rem; font-weight:var(--weight-bold); }.transaction-icon--income { background:var(--color-success-soft); color:var(--color-success); }.transaction-icon--expense { background:var(--color-danger-soft); color:var(--color-danger); }.transaction-icon--transfer { background:#eaf5ff; color:var(--color-electric-700); }.transaction-icon--adjustment { background:#f2edff; color:var(--color-violet-600); }.transaction-row__main,.transaction-row__meta { display:grid; min-width:0; gap:.2rem; }.transaction-row__main strong,.transaction-row__main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.transaction-row__main strong { font-size:var(--font-size-xs); }.transaction-row__main small,.transaction-row__meta small { color:var(--text-secondary); font-size:var(--font-size-2xs); }.transaction-row__meta { justify-items:end; text-align:right; }.transaction-row__meta strong { font-size:var(--font-size-xs); }.is-void { opacity:.55; }.transaction-entry > summary { cursor:pointer; list-style:none; }.transaction-entry > summary::-webkit-details-marker { display:none; }.transaction-entry__detail { padding:var(--space-3) var(--space-3) var(--space-4) 3.8rem; background:var(--surface-subtle); }.transaction-entry__detail dl { display:flex; flex-wrap:wrap; gap:var(--space-3); margin:0 0 var(--space-3); }.transaction-entry__detail dl div { min-width:6rem; }.transaction-entry__detail dt { color:var(--text-secondary); font-size:var(--font-size-2xs); }.transaction-entry__detail dd { margin:0; font-size:var(--font-size-xs); }
.analysis-panel { align-self:start; }.category-breakdown { display:grid; gap:var(--space-3); margin:0 0 var(--space-5); padding:0; list-style:none; }.category-breakdown li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:var(--space-2); font-size:var(--font-size-xs); }.category-dot { width:.65rem; height:.65rem; border-radius:50%; background:var(--color-electric-600); }.category-dot--2{background:var(--color-turquoise-500)}.category-dot--3{background:var(--color-violet-500)}.category-dot--4{background:var(--color-success)}
.empty-state { display:grid; justify-items:center; gap:var(--space-2); padding:var(--space-10) var(--space-4); color:var(--text-secondary); text-align:center; }.empty-state svg { width:2rem; height:2rem; color:var(--color-electric-600); }.empty-state h3,.empty-state p { margin:0; }
.content-section { margin-bottom:var(--space-4); }.entity-grid { display:grid; min-width:0; gap:var(--space-3); }.entity-card { --entity-color:var(--color-electric-600); display:grid; min-width:0; gap:var(--space-4); padding:var(--space-4); border:1px solid var(--border-subtle); border-top:3px solid var(--entity-color); border-radius:var(--radius-md); background:var(--surface-subtle); }.entity-card > header,.entity-card > footer,.entity-actions,.danger-actions { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); }.entity-card h3,.entity-card p { margin:0; }.entity-card p { color:var(--text-secondary); font-size:var(--font-size-xs); }.entity-card__icon { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:var(--radius-sm); background:color-mix(in srgb,var(--entity-color) 12%,transparent); color:var(--entity-color); }.entity-card__amount { display:block; margin:.35rem 0; font-size:var(--font-size-lg); }.entity-card.is-muted { opacity:.68; }.danger-actions { justify-content:flex-end; padding-top:var(--space-2); border-top:1px solid var(--border-subtle); }.danger-actions form { margin:0; }
.creation-panel { min-width:0; margin-bottom:var(--space-5); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); background:var(--surface-card); box-shadow:var(--shadow-sm); }.creation-panel > summary { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-4); cursor:pointer; list-style:none; }.creation-panel > summary::-webkit-details-marker { display:none; }.creation-panel > summary span:first-child { display:grid; }.creation-panel > summary strong::before { content:'+ '; }.creation-panel > summary small { color:var(--text-secondary); }.creation-panel > summary svg { display:none; }.creation-panel > summary::after { width:1.15rem; height:.72rem; flex:0 0 auto; border:2px solid currentColor; border-radius:70% 0; background:radial-gradient(circle,currentColor 0 2px,transparent 3px); content:''; transform:rotate(45deg); opacity:.7; transition:opacity var(--duration-normal); }.creation-panel[open] > summary::after { opacity:1; }.creation-panel__body { padding:0 var(--space-4) var(--space-5); border-top:1px solid var(--border-subtle); }.creation-panel__body form { padding-top:var(--space-4); }.choice-group { display:grid; gap:var(--space-2); min-width:0; margin:0; padding:var(--space-3); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); }.choice-group legend { padding-inline:.25rem; font-size:var(--font-size-xs); font-weight:var(--weight-semibold); }.choice-group label,.check-field { display:flex; min-height:2.75rem; align-items:center; gap:var(--space-2); font-size:var(--font-size-xs); }.input--color { min-height:3rem; padding:.25rem; }.member-secret-panel { padding-top:var(--space-3); border-top:1px solid var(--border-subtle); }.member-secret-panel summary { cursor:pointer; color:var(--color-electric-700); font-size:var(--font-size-xs); font-weight:var(--weight-semibold); }.member-secret-panel form { margin-top:var(--space-3); }.member-delete { display:grid; justify-items:start; gap:.25rem; }.member-delete small,.field-help { color:var(--text-secondary); font-size:var(--font-size-2xs); }.progress { height:.4rem; overflow:hidden; margin:.75rem 0; border-radius:999px; background:var(--color-neutral-200); }.progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--color-electric-600),var(--color-turquoise-500)); }
.bottom-nav__item svg { width:1.3rem; height:1.3rem; }.bottom-nav__item--add { position:relative; margin-top:-1.5rem; color:var(--color-white); }.bottom-nav__item--add svg { width:2.9rem; height:2.9rem; padding:.8rem; border-radius:50%; background:linear-gradient(135deg,var(--color-turquoise-500),var(--color-electric-600)); box-shadow:var(--shadow-md); color:var(--color-white); }.bottom-nav__item--add span { color:var(--color-night-700); }.notice[data-toast] { transition:opacity .3s,transform .3s; }.notice[data-toast].is-hiding { opacity:0; transform:translateY(-.5rem); }
.pager { display:flex; justify-content:center; gap:var(--space-3); margin:var(--space-5) 0; }

/* Movimientos por cuenta */
.movement-overview { position:relative; overflow:hidden; margin:0 calc(var(--space-4) * -1) var(--space-5); padding:var(--space-5) 0 var(--space-4); background:linear-gradient(140deg,var(--color-night-900),var(--color-electric-700),var(--color-violet-600)); color:var(--text-inverse); }
.account-carousel-shell { position:relative; }.account-carousel { display:grid; grid-auto-columns:minmax(calc(var(--space-20) * 4),82%); grid-auto-flow:column; gap:var(--space-3); overflow-x:auto; padding:0 var(--space-4) var(--space-2); scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }.account-carousel::-webkit-scrollbar { display:none; }
.movement-account-card { display:grid; min-height:calc(var(--space-20) * 2); align-content:space-between; gap:var(--space-3); padding:var(--space-4); border:1px solid color-mix(in srgb,var(--color-white) 25%,transparent); border-radius:var(--radius-lg); background:color-mix(in srgb,var(--color-night-950) 64%,transparent); color:var(--text-inverse); box-shadow:var(--shadow-sm); scroll-snap-align:center; transition:transform var(--duration-normal),border-color var(--duration-normal),background var(--duration-normal); }.movement-account-card:hover { transform:translateY(calc(var(--space-1) * -1)); }.movement-account-card.is-selected { border-color:var(--color-turquoise-400); background:color-mix(in srgb,var(--color-night-950) 82%,transparent); box-shadow:inset 0 0 0 1px var(--color-turquoise-500),var(--shadow-md); }.movement-account-card__top { display:flex; align-items:start; justify-content:space-between; gap:var(--space-3); }.movement-account-card__top > span { font-weight:var(--weight-bold); text-transform:uppercase; letter-spacing:.06em; }.movement-account-card__top small,.movement-account-card__action { color:var(--color-neutral-300); font-size:var(--font-size-2xs); }.movement-account-card > strong { font-size:var(--font-size-2xl); letter-spacing:-.04em; }.movement-account-card__action { color:var(--color-turquoise-400); }
.account-carousel__control { position:absolute; z-index:1; top:50%; display:none; width:var(--space-10); height:var(--space-10); place-items:center; border:1px solid var(--border-strong); border-radius:var(--radius-full); background:var(--surface-card); color:var(--text-primary); box-shadow:var(--shadow-sm); transform:translateY(-50%); }.account-carousel__control--previous { left:var(--space-2); }.account-carousel__control--next { right:var(--space-2); }

/* Lanzador global del botón + */
.quick-create { position:relative; display:grid; min-width:0; }.quick-create > summary { list-style:none; cursor:pointer; }.quick-create > summary::-webkit-details-marker { display:none; }.quick-create[open] .bottom-nav__item--add svg { transform:rotate(45deg); }.bottom-nav__item--add svg { transition:transform var(--duration-normal) var(--ease-standard); }
.quick-create__menu { position:fixed; z-index:var(--z-modal); right:var(--space-3); bottom:calc(max(var(--space-3),env(safe-area-inset-bottom)) + var(--space-16) + var(--space-4)); left:var(--space-3); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); max-height:calc(100vh - var(--space-20) * 2); overflow-y:auto; padding:var(--space-4); border:1px solid var(--border-subtle); border-radius:var(--radius-xl); background:var(--surface-card); box-shadow:var(--shadow-lg); color:var(--text-primary); }.quick-create__menu header { grid-column:1/-1; display:grid; gap:var(--space-1); padding:0 var(--space-1) var(--space-2); }.quick-create__menu header small { color:var(--text-secondary); }.quick-create__menu a { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--space-3); min-height:var(--space-16); padding:var(--space-3); border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-subtle); }.quick-create__menu a:hover,.quick-create__menu a:focus-visible { border-color:var(--color-electric-500); background:var(--color-info-soft); }.quick-create__menu svg { width:var(--space-6); height:var(--space-6); color:var(--color-electric-600); }.quick-create__menu a span { display:grid; min-width:0; }.quick-create__menu strong { font-size:var(--font-size-xs); }.quick-create__menu small { overflow:hidden; color:var(--text-secondary); font-size:var(--font-size-2xs); text-overflow:ellipsis; white-space:nowrap; }.anchor-target { display:block; scroll-margin-top:var(--space-4); }

[data-theme="dark"] .financial-header { background:linear-gradient(140deg,#040b1b,#102a59 62%,#432482); }
[data-theme="dark"] .transaction-icon--transfer { background:rgba(37,99,235,.2); color:#8fb4ff; }
[data-theme="dark"] .transaction-icon--adjustment { background:rgba(139,92,246,.2); color:#bba3ff; }
[data-theme="dark"] .progress { background:var(--color-night-700); }
[data-theme="dark"] .bottom-nav__item { color:var(--color-neutral-200); }
[data-theme="dark"] .bottom-nav__item svg { color:var(--color-turquoise-400); }
[data-theme="dark"] .bottom-nav__item.is-active,[data-theme="dark"] .bottom-nav__item.is-active svg { color:var(--color-white); }
[data-theme="dark"] .bottom-nav__item--add span { color:var(--color-neutral-200); }

@media (min-width: 600px) {
  .topbar__title .eyebrow { display:block; }.main-content { padding-inline: var(--space-8); }.financial-header,.movement-overview { margin-inline:0; padding-inline:var(--space-6); border-radius:var(--radius-xl); }.account-carousel { padding-inline:0; grid-auto-columns:minmax(calc(var(--space-20) * 4),45%); }.account-carousel__control { display:grid; }.account-carousel__control--previous { left:calc(var(--space-6) * -1); }.account-carousel__control--next { right:calc(var(--space-6) * -1); }.hero { padding: var(--space-10); }.hero .button { position: absolute; right: var(--space-10); bottom: var(--space-10); }.metrics { grid-template-columns: repeat(2, 1fr); }.spending-layout, .score { grid-template-columns: auto 1fr; }.form-grid,.card-grid,.entity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.form-grid--wide { grid-template-columns:repeat(3,minmax(0,1fr)); }.choice-group { grid-column:span 2; }
}
@media (min-width: 1024px) {
  .sidebar { transform: none; }.main-content { margin-left: 17rem; padding: 0 var(--space-8) var(--space-10); }.menu-button, .page-backdrop, .bottom-nav { display: none; }.topbar { min-height: 5.75rem; }.metrics { grid-template-columns: repeat(4, 1fr); }.dashboard-grid { grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .85fr); }.dashboard-home { grid-template-columns:minmax(0,1.55fr) minmax(18rem,.65fr); }.financial-header { min-height:14rem; }.movements-widget { grid-column: 1 / -1; }.auth-page { grid-template-columns: minmax(30rem, 1.05fr) minmax(30rem, .95fr); }.auth-visual { display: flex; }.entity-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1280px) {
  .dashboard-grid { grid-template-columns: 1.15fr .85fr .9fr; }.movements-widget { grid-column: auto; }.spending-layout { grid-template-columns: 10.5rem 1fr; }.score { grid-template-columns: 8rem 1fr; }.page-grid { grid-template-columns:minmax(0,1.7fr) minmax(20rem,.8fr); }.card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.page-grid .form-card .form-grid { grid-template-columns:1fr; }
}
