@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--primary: #2F5C6E;--primary-dark: #244856;--secondary: #D99B84;--accent: #D99B84;--accent-hover: #C58A73;--destructive: #EF4444;--destructive-hover: #DC2626;--background: #F8F8F8;--surface: #FFFFFF;--border: #E5E5E5;--text-primary: #222222;--text-secondary: #777777;--text-tertiary: #A3A3A3;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-heading: "Inter", sans-serif;--font-body: "Manrope", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-heading);color:var(--text-primary);font-weight:700;letter-spacing:-.025em}h1{font-size:32px;line-height:1.2}h2{font-size:24px;line-height:1.3}h3{font-size:20px}.text-body{font-size:16px;font-weight:400}.text-footnote{font-size:14px;color:var(--text-secondary)}.app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--background);display:flex;flex-direction:column;border-left:1px solid var(--border);border-right:1px solid var(--border)}@media (min-width: 481px){body{padding:var(--space-lg);display:flex;justify-content:center;background:#f3f4f6}.app{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--border)}}.app-header{background:var(--background);color:var(--text-primary);padding:var(--space-lg);padding-top:calc(var(--space-lg) + env(safe-area-inset-top));border-bottom:1px solid var(--border)}.user-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.user-header h1{font-size:24px;font-weight:800;letter-spacing:-.03em}.user-info{font-size:14px;color:var(--text-secondary);font-weight:500;margin-right:var(--space-xs)}.sign-out-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.sign-out-btn:hover{background:var(--border)}.app-main{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);background:var(--background)}.balance-display{background:var(--primary);color:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;box-shadow:var(--shadow-md);border:none}.balance-display:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.balance-display.loading{background:var(--surface);color:var(--text-secondary)}.balance-display.settled{background:var(--accent)}.balance-display.positive{background:var(--primary)}.balance-display.negative{background:var(--destructive)}.balance-label{font-size:16px;font-weight:600;color:#ffffffe6;margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.balance-display.settled .balance-label{color:#fff;font-size:18px}.balance-amount{font-size:48px;font-weight:800;letter-spacing:-.03em;color:#fff;font-feature-settings:"tnum"}.balance-display.positive .balance-amount,.balance-display.negative .balance-amount{color:#fff}button{font-family:var(--font-body);font-size:16px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:all .15s ease;min-height:44px;padding:10px 20px}button:active{transform:scale(.98)}.btn-primary,.submit-btn,.settle-btn,.confirm-btn{background:var(--text-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover,.submit-btn:hover,.settle-btn:hover,.confirm-btn:hover{background:#000;box-shadow:var(--shadow)}.btn-secondary,.cancel-btn{background:#fff;border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover,.cancel-btn:hover{background:var(--surface);border-color:var(--text-tertiary)}button:disabled{opacity:.5;cursor:not-allowed;background:var(--border);color:var(--text-secondary)}.settle-up{text-align:center}.settle-btn{width:100%;font-size:16px;background:var(--accent)}.settle-btn:hover{background:var(--accent-hover)}.settle-confirm{background:var(--surface);padding:var(--space-lg);border-radius:var(--radius);border:1px solid var(--border)}.settle-confirm p{font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.settle-actions{display:flex;gap:var(--space-sm);justify-content:center}.settle-actions button{flex:1}.add-expense-form,.auth-form{background:#fff;border-radius:var(--radius);padding:var(--space-lg);box-shadow:none;border:1px solid var(--border)}.add-expense-form h2,.auth-form h2{margin-bottom:var(--space-lg);font-size:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group input[type=email],.form-group input[type=password]{width:100%;padding:10px 14px;border:2px solid var(--surface);border-radius:var(--radius);font-family:var(--font-body);font-size:16px;background:var(--surface);transition:all .2s ease;color:var(--text-primary)}.form-group input:focus{outline:none;background:#fff;border-color:var(--primary)}.form-group input::placeholder{color:var(--text-tertiary)}.toggle-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.toggle-btn{background:transparent;color:var(--text-secondary);font-weight:600;font-size:14px;border:none;padding:8px;border-radius:calc(var(--radius) - 2px);transition:all .2s ease;min-height:40px}.toggle-btn.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--primary);border:1px solid var(--border)}.toggle-btn:hover:not(.active){color:var(--text-primary)}.custom-split{animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-btn{width:100%;margin-top:var(--space-xs);background:var(--primary)}.submit-btn:hover{background:var(--primary-dark)}.expense-list{background:#fff;border-radius:var(--radius);padding:var(--space-lg);box-shadow:none;border:1px solid var(--border)}.expense-list h2{margin-bottom:var(--space-md);font-size:20px}.loading-state,.empty-state{text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--text-secondary);font-size:15px;background:var(--surface);border-radius:var(--radius)}.expense-items{display:flex;flex-direction:column;gap:var(--space-sm)}.expense-item{display:flex;align-items:center;padding:var(--space-md);background:#fff;border-radius:var(--radius);border:1px solid var(--border);transition:all .2s ease}.expense-item:hover{border-color:var(--primary);transform:translate(2px)}.expense-item.settlement{background:var(--surface);border-style:dashed}.expense-main{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);min-width:0}.expense-info{flex:1;min-width:0}.expense-description{font-weight:600;font-size:16px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.expense-meta{display:flex;gap:var(--space-xs);font-size:13px;color:var(--text-secondary)}.expense-date{color:var(--text-tertiary)}.expense-payer{font-weight:600;color:var(--text-primary)}.expense-amount-section{text-align:right;flex-shrink:0}.expense-total{font-weight:700;font-size:16px;color:var(--text-primary);margin-bottom:2px;font-feature-settings:"tnum"}.expense-owed{font-size:13px;font-weight:600;color:var(--primary)}.expense-amount.settled{color:var(--text-tertiary);font-weight:600}.delete-btn{background:transparent;border:1px solid transparent;color:var(--text-tertiary);font-size:20px;line-height:1;cursor:pointer;padding:0;margin-left:var(--space-sm);border-radius:50%;transition:all .2s ease;width:32px;height:32px;min-height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-btn:hover{color:var(--destructive);background:#f248221a}.error-banner{background:#fef2f2;color:var(--destructive);padding:var(--space-md);display:flex;justify-content:space-between;align-items:center;font-size:14px;border:1px solid #FECACA;border-radius:var(--radius);margin:0 var(--space-lg)}.error-banner button{background:#fff;color:var(--destructive);border:1px solid #FECACA;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;min-height:32px}.error-banner button:hover{background:#fef2f2}.auth-error{background:#fef2f2;color:var(--destructive);padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:14px;border:1px solid #FECACA}.auth-message{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.6;font-size:15px}.auth-switch{text-align:center;margin-top:var(--space-md);font-size:14px;color:var(--text-secondary)}.link-btn{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.link-btn:hover{color:var(--primary-dark);text-decoration:underline}.app-footer{padding:var(--space-md);text-align:center;border-top:1px solid var(--border);background:var(--surface)}.app-footer p{font-size:12px;color:var(--text-tertiary)}@media (max-width: 480px){.app-main{padding:var(--space-md);gap:var(--space-md)}.balance-display{padding:var(--space-lg)}.balance-amount{font-size:40px}.form-row{grid-template-columns:1fr}.expense-item{padding:var(--space-sm)}}@media (hover: none) and (pointer: coarse){button,.toggle-btn,.delete-btn{min-height:44px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app{animation:fadeIn .3s ease}.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}.pagination-btn{flex:1;min-height:44px;padding:12px 16px;font-size:15px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.pagination-btn:hover:not(:disabled){background:var(--gray-1);border-color:var(--primary)}.pagination-btn:active:not(:disabled){transform:scale(.98)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;color:var(--text-tertiary);border-color:var(--gray-2)}.pagination-info{flex:1;text-align:center;display:flex;flex-direction:column;gap:4px}.page-number{font-weight:700;font-size:15px;color:var(--text-primary)}.items-info{font-size:13px;color:var(--text-tertiary)}@media (max-width: 480px){.pagination-controls{gap:var(--space-sm);margin-top:var(--space-md)}.pagination-btn{padding:10px 12px;font-size:14px}.items-info{display:none}}@media (hover: none) and (pointer: coarse){.pagination-btn{min-height:48px}}
