:root{--glass-bg:#ffffff8c;--glass-border:#ffffff73;--glass-shadow:0 8px 32px #0f172a14;--glass-blur:blur(24px);--radius-card:18px;--radius-btn:12px;--radius-badge:10px;--radius-input:12px;--radius-dialog:18px;--radius-lg:24px;--radius-xl:32px;--primary:#2563eb;--primary-light:#2563eb1f;--success:#16a34a;--success-light:#16a34a1f;--danger:#ef4444;--danger-light:#ef44441f;--warning:#f59e0b;--warning-light:#f59e0b1f;--text-primary:#1a1d1f;--text-secondary:#6b7280;--font-family-base:system-ui,-apple-system,"Segoe UI",sans-serif;--font-xs:12px;--font-sm:14px;--font-md:16px;--font-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px}
.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px)saturate(180%);border-radius:var(--radius-card);border:none;transition:all .25s;box-shadow:0 1px 3px #0000000d}.glass-card:hover{translatey:-2px;box-shadow:0 8px 24px #0f172a14}.glass-card--empty{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#ffffff59;border:1px solid #0000000a}.glass-card--empty:hover{translatey:-1px;box-shadow:0 4px 16px #0f172a0d}.glass-button{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-btn);min-height:44px;font-weight:600;font-size:var(--font-sm);cursor:pointer;background:#ffffff73;border:1px solid #ffffff59;justify-content:center;align-items:center;gap:6px;padding:0 16px;transition:all .2s;display:inline-flex}.glass-button:hover{background:#ffffffa6;transform:translateY(-1px)}.glass-button:active{background:#ffffff59;transform:translateY(0)}.glass-button--primary{color:var(--primary);background:#2563eb26}.glass-button--primary:hover{background:#2563eb40}.glass-button--success{color:var(--success);background:#16a34a1f}.glass-button--success:hover{background:#16a34a38}.glass-button--danger{color:var(--danger);background:#ef44441f}.glass-button--danger:hover{background:#ef444438}.glass-nav{-webkit-backdrop-filter:blur(30px);z-index:1200;width:100%;padding:6px 8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:#ffffffd1;border-top:1px solid #ffffff73;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -4px 20px #00000014}.glass-fab{-webkit-backdrop-filter:blur(20px);cursor:pointer;color:#fff;z-index:1300;background:#2563ebe6;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 10px 30px #2563eb40}.glass-fab:hover{transform:scale(1.05);box-shadow:0 14px 36px #2563eb59}.glass-fab:active{transform:scale(.95)}.glass-badge{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-badge);font-size:var(--font-xs);align-items:center;padding:4px 12px;font-weight:600;display:inline-flex}.glass-badge--pending{color:#b45309;background:#f59e0b26}.glass-badge--paid{color:#15803d;background:#16a34a1f}.glass-badge--partial,.glass-badge--overdue{color:#dc2626;background:#ef44441f}.glass-badge--no-bill{color:#9ca3af;background:#9ca3af1a}.glass-section-header{height:56px;padding:0 var(--space-4);color:var(--text-primary);border-radius:var(--radius-card)var(--radius-card)0 0;background:linear-gradient(90deg,#f59e0b1f,#f59e0b08);align-items:center;font-weight:600;display:flex}.glass-section-header--credit{background:linear-gradient(90deg,#22c55e1f,#22c55e08)}.glass-pagination{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-card);background:#ffffff8c;border:1px solid #ffffff59;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.glass-pagination .btn-page{width:40px;height:40px;font-weight:600;font-size:var(--font-sm);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.glass-pagination .btn-page:hover{background:#0000000d}.glass-pagination .btn-page--active{background:var(--primary);color:#fff}.glass-pagination .btn-page--active:hover{background:var(--primary);opacity:.9}.glass-pagination .btn-nav{border-radius:var(--radius-btn);min-width:100px;height:40px;font-weight:600;font-size:var(--font-sm);cursor:pointer;background:0 0;border:1px solid #00000014;padding:0 16px;transition:all .2s}.glass-pagination .btn-nav:hover:not(:disabled){background:#0000000d}.glass-pagination .btn-nav:disabled{opacity:.4;cursor:not-allowed}@media (max-width:639px){.glass-fab{width:56px;height:56px;bottom:calc(88px + env(safe-area-inset-bottom,0px));right:16px}}@media (min-width:640px) and (max-width:1279px){.glass-fab{bottom:calc(32px + env(safe-area-inset-bottom,0px));right:32px}}@media (min-width:1280px){.glass-fab{bottom:32px;right:32px}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.animate-fade-up{animation:.25s forwards fadeUp}.animate-fade-in{animation:.25s forwards fadeIn}.animate-slide-up{animation:.2s forwards slideUp}.stagger-1{animation-delay:30ms}.stagger-2{animation-delay:60ms}.stagger-3{animation-delay:90ms}.stagger-4{animation-delay:.12s}.stagger-5{animation-delay:.15s}@media (prefers-reduced-motion:reduce){.animate-fade-up,.animate-fade-in,.animate-slide-up{animation:none}}
.app-background{pointer-events:none;z-index:0;background:linear-gradient(#f8fafc 0%,#eef2ff 100%);position:fixed;inset:0}.app-background-blur{filter:blur(120px);pointer-events:none;z-index:1;border-radius:50%;width:420px;height:420px;position:fixed}.app-background-blur--top-left{background:#3b82f61f;top:-120px;left:-120px}.app-background-blur--bottom-right{background:#a855f71a;bottom:-120px;right:-120px}.app-shell{z-index:2;width:100%;min-height:100dvh;margin:0 auto;position:relative}@media (max-width:767px){.app-shell{max-width:480px}}@media (min-width:768px) and (max-width:1279px){.app-shell{max-width:1000px;padding:0 16px}.dashboard-container,.bills-container{padding-left:0;padding-right:0}}@media (min-width:1280px){.app-shell{max-width:none;padding:0 16px}}.dashboard-container{padding:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.bills-container{padding:16px}@media (min-width:1280px){.dashboard-container,.bills-container{padding:32px 0}}.page-heading{font-size:var(--font-lg);color:var(--text-primary);margin:0 0 24px;font-weight:700;line-height:1.4}.section-heading{font-size:var(--font-lg);color:var(--text-primary);font-weight:600;line-height:1.4}.dashboard-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.month-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:1280px){.dashboard-grid{grid-template-columns:1fr 1fr;gap:24px}.month-grid{gap:16px}.page-heading{margin-bottom:32px}}
*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{font-family:var(--font-sora),var(--font-family-base);font-size:var(--font-sm);color:var(--text-primary);overscroll-behavior-y:none;min-height:100dvh;margin:0;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);line-height:1.4}input,select,textarea{font-size:16px!important}a{color:var(--primary);text-decoration:none}
