@charset "UTF-8";
/* Mi Dinero V9.7 · layout: the app column, the top bar, pages, the five-tab bar, the «Registrar» button and dialogs
   as bottom sheets. Mobile first; wider screens keep the same centered column. */
.app-shell{max-width:560px;min-height:100dvh;margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;min-height:56px;padding:calc(var(--safe-top) + 6px) 10px 6px 16px;background:var(--md-bar);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px)}
.topbar #back-button{margin-left:-10px}
.topbar h1{flex:1;min-width:0;overflow:hidden;font-size:var(--md-fs-xl);font-weight:850;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
/* Inicio carries the brand in large type, as in the reference. */
.home-title h1{font-size:30px;font-weight:900;letter-spacing:-.03em}
#more-button{background:var(--md-surface-3)}
.month-control{position:relative;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;background:var(--md-surface);box-shadow:var(--md-shadow-1);font-size:var(--md-fs-s);font-weight:700}
.month-control::after{content:"";width:14px;height:14px;background:var(--md-chevron) center/14px no-repeat}
.month-control input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer}
.main{padding:8px max(16px,var(--safe-right)) calc(176px + var(--safe-bottom)) max(16px,var(--safe-left))}
.page{display:grid;gap:16px}
.page.active{animation:page-in .22s var(--md-ease)}
@keyframes page-in{from{opacity:0;transform:translateY(6px)}}

/* The tab bar floats as one white card; the open tab is pink, lifted and underlined. */
.bottom-nav{position:fixed;right:max(8px,var(--safe-right));bottom:max(8px,var(--safe-bottom));left:max(8px,var(--safe-left));z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;max-width:544px;margin:0 auto;padding:6px;border-radius:28px;background:var(--md-nav);box-shadow:var(--md-shadow-nav)}
.bottom-nav button{position:relative;display:grid;justify-items:center;gap:2px;min-height:56px;padding:7px 0 9px;border-radius:22px;color:var(--md-muted);font-size:11px;font-weight:700;text-align:center;transition:background .2s,color .2s}
.bottom-nav button.active{background:var(--md-nav-active);color:var(--md-brand-text)}
.bottom-nav button.active svg{stroke-width:2.4;fill:var(--md-brand-soft)}
.bottom-nav button.active::after{content:"";position:absolute;bottom:3px;left:50%;width:30px;height:3px;margin-left:-15px;border-radius:2px;background:var(--md-brand)}
.bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Narrow iPhones: every tab name still fits whole. */
@media (max-width:389px){.bottom-nav button{font-size:10px;letter-spacing:-.02em}}
/* «Registrar»: a round pink button just above the tab bar, its name inside. */
.fab{position:fixed;right:max(16px,calc(50% - 264px));bottom:calc(max(8px,var(--safe-bottom)) + 80px);z-index:25;display:grid;place-items:center;align-content:center;width:72px;height:72px;border-radius:50%;background:var(--md-cta);color:var(--md-on-brand);font-size:11px;font-weight:800;box-shadow:var(--md-shadow-cta),var(--md-shadow-2)}
.fab svg{width:30px;height:30px;stroke-width:2.8}
.fab:active{transform:scale(.96)}

/* Dialogs open as bottom sheets: the thumb reaches every action. */
dialog{position:fixed;inset:auto 0 0;width:100%;max-width:560px;max-height:92dvh;margin:0 auto;padding:0 20px calc(24px + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:var(--md-radius-xl) var(--md-radius-xl) 0 0;background:var(--md-surface);color:var(--md-ink);box-shadow:var(--md-shadow-2)}
dialog[open]{animation:sheet-in .25s var(--md-ease)}
dialog::backdrop{background:var(--md-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@keyframes sheet-in{from{opacity:.4;transform:translateY(32px)}}
.dialog-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:16px 0 10px;background:var(--md-surface)}
.dialog-heading::before{content:"";position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--md-line-strong)}
.dialog-heading h2{flex:1;min-width:0;font-size:var(--md-fs-xl);font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}
.dialog-heading .icon-button{margin-right:-8px;background:var(--md-surface-3)}
#detail-content{display:grid;gap:14px}
#detail-error{margin-top:12px}
