:root{--ftfd-bg: #ffffff;--ftfd-surface: #ffffff;--ftfd-surface-2: #f7f5f1;--ftfd-border: #e8e4dc;--ftfd-border-strong:#cbc4b8;--ftfd-text: #1a1d22;--ftfd-text-muted: #6f6a60;--ftfd-text-faint: #a8a194;--ftfd-gold: #b8932a;--ftfd-gold-bright: #d4af37;--ftfd-pink: #ff6a88;--ftfd-pink-deep: #e34766;--ftfd-yellow: #f7d584;--ftfd-yellow-pop: #f4b400;--ftfd-blue: #7ebec5;--ftfd-blue-deep: #5fa6ad;--ftfd-success: #2f9e54;--ftfd-warning: #c89200;--ftfd-danger: #c43a3a;--ftfd-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ftfd-font-display: "Bebas Neue", Impact, "Arial Black", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(26,29,34,.06);--shadow-md: 0 4px 16px rgba(26,29,34,.08);--shadow-card: 0 2px 12px rgba(26,29,34,.06), 0 0 0 1px rgba(26,29,34,.04)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--ftfd-bg);color:var(--ftfd-text);font-family:var(--ftfd-font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;padding-bottom:env(safe-area-inset-bottom)}a{color:var(--ftfd-pink);text-decoration:none}a:hover{color:var(--ftfd-pink-deep)}h1,h2,h3,h4{margin:0 0 var(--space-3);color:var(--ftfd-text);font-weight:700;letter-spacing:-.01em}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.1rem}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-md);background:var(--ftfd-pink);color:#fff;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;min-height:44px;transition:transform 80ms ease,background .12s ease,opacity .12s ease;box-shadow:var(--shadow-sm)}button:hover,.btn:hover{background:var(--ftfd-pink-deep)}button:active,.btn:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--ftfd-yellow);color:#2a1f00}.btn-secondary:hover{background:#f0c860}.btn-ghost{background:transparent;color:var(--ftfd-text);border:1px solid var(--ftfd-border-strong);box-shadow:none}.btn-ghost:hover{background:var(--ftfd-surface-2)}input,textarea,select{width:100%;padding:var(--space-3);background:#fff;color:var(--ftfd-text);border:1px solid var(--ftfd-border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;min-height:44px}input:focus,textarea:focus,select:focus{outline:2px solid var(--ftfd-gold);outline-offset:1px;border-color:var(--ftfd-gold)}label{display:block;margin-bottom:var(--space-2);font-size:.9rem;font-weight:500;color:var(--ftfd-text-muted)}.card{background:var(--ftfd-surface);border:1px solid var(--ftfd-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.app-container{max-width:640px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;background:var(--ftfd-surface-2);color:var(--ftfd-text-muted)}.badge-due{background:#f4b4002e;color:#8a6500}.badge-paid{background:#2f9e5424;color:var(--ftfd-success)}.badge-late{background:#c43a3a24;color:var(--ftfd-danger)}
