*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-brand-900: #4a0a14;--color-brand-800: #6b1020;--color-brand-700: #8c1a2e;--color-brand-600: #a8253d;--color-brand-500: #c23051;--color-brand-400: #d9536e;--color-brand-300: #e8849a;--color-brand-100: #fce8ed;--color-brand-50: #fff5f7;--color-gold-700: #7a5400;--color-gold-500: #c49a00;--color-gold-400: #e0b300;--color-gold-300: #f5cc33;--color-gold-100: #fdf5d0;--color-neutral-900: #1a1215;--color-neutral-800: #2e2226;--color-neutral-700: #453540;--color-neutral-600: #5e4a56;--color-neutral-500: #7a6572;--color-neutral-400: #9e8e98;--color-neutral-300: #c5b8c0;--color-neutral-200: #e2dae0;--color-neutral-100: #f4f0f2;--color-neutral-50: #faf8f9;--color-surface: #ffffff;--color-surface-alt: var(--color-neutral-50);--color-border: var(--color-neutral-200);--color-text: var(--color-neutral-900);--color-text-muted: var(--color-neutral-500);--color-link: var(--color-brand-600);--color-link-hover: var(--color-brand-800);--color-success-bg: #ecfdf5;--color-success-text: #065f46;--color-error-bg: #fef2f2;--color-error-text: #991b1b;--color-warning-bg: var(--color-gold-100);--color-warning-text: var(--color-gold-700);--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--max-width-sm: 480px;--max-width-md: 768px;--max-width-lg: 1024px;--max-width-xl: 1280px;--max-width-2xl: 1440px;--sidebar-width: 240px;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .05);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-surface-alt);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-neutral-900)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-brand-500);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-600)}.btn-primary:active:not(:disabled){background-color:var(--color-brand-700)}.btn-secondary{background-color:var(--color-neutral-100);color:var(--color-neutral-800);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-neutral-200)}.btn-ghost{background-color:transparent;color:var(--color-brand-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-brand-50)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--text-base)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-700)}.input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{border-color:var(--color-brand-400);box-shadow:0 0 0 3px #c230511f}.input::placeholder{color:var(--color-neutral-400)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.alert-error{background-color:var(--color-error-bg);color:var(--color-error-text)}.alert-success{background-color:var(--color-success-bg);color:var(--color-success-text)}.alert-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.badge{display:inline-flex;align-items:center;padding:.125rem var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full)}.badge-brand{background-color:var(--color-brand-100);color:var(--color-brand-700)}.badge-gold{background-color:var(--color-gold-100);color:var(--color-gold-700)}.badge-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-text-muted);font-size:var(--text-sm)}.container{width:100%;max-width:var(--max-width-xl);margin-inline:auto;padding-inline:var(--space-6)}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);background:radial-gradient(120% 80% at 50% 0%,#d4a0172e,#0f0f0f00 55%),#0f0f0f}.auth-page h1{color:#fff}.dashboard-page,.admin-page{padding:var(--space-8)}.page-header{margin-bottom:var(--space-6)}.page-header__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-header__title{margin:0;font-size:var(--text-2xl);color:var(--color-brand-800)}.page-header__subtitle{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);max-width:60ch}.member-dashboard{max-width:var(--max-width-xl);margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-12)}.member-dashboard__section{display:flex;flex-direction:column;gap:var(--space-6)}.member-dashboard__section h2{border-bottom:2px solid var(--color-brand-100);padding-bottom:var(--space-2);color:var(--color-brand-800)}.member-dashboard__account-card{display:flex;flex-direction:column;gap:var(--space-6)}.member-dashboard__balance-row{display:flex;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap}.member-dashboard__balance-block{display:flex;flex-direction:column;gap:var(--space-1)}.member-dashboard__balance-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.member-dashboard__balance-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-brand-800);line-height:1}.member-dashboard__totals{display:flex;gap:var(--space-6);flex-wrap:wrap}.member-dashboard__total-item{display:flex;flex-direction:column;gap:var(--space-1)}.member-dashboard__total-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.member-dashboard__total-item--income .member-dashboard__total-value{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-success-text)}.member-dashboard__total-item--expense .member-dashboard__total-value{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-error-text)}.member-dashboard__payments-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.payment-status-card{display:flex;flex-direction:column;gap:var(--space-4)}.payment-status-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.payment-status-card__season{font-size:var(--text-lg);color:var(--color-neutral-800)}.payment-status-card__amounts{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.payment-status-card__row{display:flex;justify-content:space-between}.payment-status-card__row--pending{font-weight:var(--font-semibold);color:var(--color-error-text);border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-1)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error-text)}.movements-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.movements-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.movements-list__meta{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.movements-list__date{font-size:var(--text-xs);color:var(--color-text-muted)}.movements-list__concept{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movements-list__amount{font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap}.movements-list__amount--credit{color:var(--color-success-text)}.movements-list__amount--debit{color:var(--color-error-text)}
