*{box-sizing:border-box}:root{--color-primary: #8B7A6B;--color-primary-dark: #6D5E52;--color-primary-light: #A89080;--color-background: #F8F6F4;--color-surface: #FFFFFF;--color-border: #E8DED2;--color-border-light: #F0EBE5;--color-text: #4A4A4A;--color-text-secondary: #6B6B6B;--color-text-muted: #9E9E9E;--color-error: #C65146;--color-success: #4CAF50;--color-warning: #FF9800;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(139, 122, 107, .15);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;font-family:Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#root{min-height:100vh}.app{min-height:100vh;max-width:480px;margin:0 auto}@media(min-width:481px){.app{box-shadow:var(--shadow-lg);border-left:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light)}body{background-color:#e8e4e0}}@media(min-width:768px){.app{margin-top:0}}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500}button{font-family:inherit;cursor:pointer}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input[type=text],input[type=number],input[type=email],input[type=password],textarea{font-family:inherit;font-size:1rem}input:focus,textarea:focus{outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@supports (-webkit-touch-callout: none){.app{min-height:-webkit-fill-available}}.loading-spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.loading-spinner-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:100vh;padding:2rem}.loading-spinner{width:48px;height:48px;border:4px solid #E8DED2;border-top-color:#8b7a6b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:#6b6b6b;font-size:.95rem;margin:0}.error-message-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center}.error-icon{color:#c65146}.error-text{color:#4a4a4a;font-size:1rem;margin:0;max-width:400px}.error-retry-button{padding:.75rem 2rem;background-color:#8b7a6b;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;transition:background-color .2s;margin-top:.5rem}.error-retry-button:hover{background-color:#6d5e52}.error-retry-button:active{background-color:#5a4d42}.budget-summary-card{background-color:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.summary-card-title{margin:0 0 1rem;font-size:.9rem;font-weight:500;color:#6b6b6b}.summary-main{margin-bottom:1.25rem}.summary-remaining{display:flex;flex-direction:column;margin-bottom:.75rem}.remaining-label{font-size:.85rem;color:#6b6b6b}.remaining-amount{font-size:2rem;font-weight:700;color:#4a4a4a;margin-top:.25rem}.remaining-amount.over-budget{color:#c65146}.summary-progress{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:8px;background-color:#e8ded2;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:#8b7a6b;border-radius:4px;transition:width .3s ease}.progress-fill.over-budget{background-color:#c65146}.progress-text{font-size:.85rem;color:#6b6b6b;white-space:nowrap}.summary-details{border-top:1px solid #E8DED2;padding-top:1rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.summary-row.divider{border-top:1px dashed #E8DED2;margin-top:.5rem;padding-top:1rem}.summary-row.total{border-top:1px solid #E8DED2;margin-top:.5rem;padding-top:.75rem}.summary-label{font-size:.9rem;color:#6b6b6b}.summary-value{font-size:.95rem;font-weight:600;color:#4a4a4a}.summary-value.expense{color:#c65146}.summary-row.total .summary-label,.summary-row.total .summary-value{font-weight:600}.income-summary-card{background:linear-gradient(135deg,#a89080,#8b7a6b);border-radius:16px;padding:1.25rem;color:#fff;box-shadow:0 4px 12px #8b7a6b4d;overflow:hidden}.income-summary-card .income-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;background:transparent}.income-summary-card .income-card-title{margin:0;font-size:.9rem;font-weight:500;opacity:.9}.income-summary-card .edit-income-button{background:#fff3;border:none;border-radius:8px;padding:.5rem;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;flex-shrink:0;width:34px;height:34px}.income-summary-card .edit-income-button:hover{background:#ffffff4d}.income-summary-card .edit-income-button svg{width:18px!important;height:18px!important;flex-shrink:0}.income-main{margin-bottom:1rem}.income-amount{display:flex;flex-direction:column}.income-label{font-size:.85rem;opacity:.85}.income-value{font-size:1.75rem;font-weight:700;margin-top:.25rem}.income-breakdown{background:#ffffff1a;border-radius:12px;padding:.75rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.85rem}.breakdown-row.minus{opacity:.85}.breakdown-row.result{border-top:1px dashed rgba(255,255,255,.3);margin-top:.25rem;padding-top:.5rem}.breakdown-row.balance{border-top:1px solid rgba(255,255,255,.3);margin-top:.25rem;padding-top:.5rem;font-weight:600}.breakdown-row.balance.negative .breakdown-value{color:#ffd5d5}.breakdown-label{opacity:.9}.breakdown-value{font-weight:500}.over-planned-warning{margin-top:.75rem;padding:.5rem .75rem;background:#c65146cc;border-radius:8px;font-size:.85rem;text-align:center}.budget-item-card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-normal)}.budget-item-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.budget-item-card:active{transform:translateY(0)}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.item-info{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.item-name{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.item-tag{font-size:.7rem;font-weight:500;padding:.15rem var(--spacing-sm);border-radius:4px}.item-tag.managed{background-color:#e8f5e9;color:var(--color-success)}.item-tag.fixed{background-color:var(--color-border);color:var(--color-primary)}.item-chevron{color:var(--color-text-muted);flex-shrink:0}.item-managed-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.item-budget-info{display:flex;align-items:baseline;gap:var(--spacing-xs)}.budget-remaining{display:flex;flex-direction:column}.budget-label{font-size:.75rem;color:var(--color-text-muted)}.budget-amount{font-size:1.25rem;font-weight:700;color:var(--color-text)}.budget-amount.near{color:var(--color-warning)}.budget-amount.over{color:var(--color-error)}.budget-total{font-size:.9rem;color:var(--color-text-muted)}.item-progress{display:flex;align-items:center;gap:var(--spacing-sm)}.item-progress .progress-bar{flex:1;height:6px;background-color:var(--color-border);border-radius:3px;overflow:hidden}.item-progress .progress-fill{height:100%;background-color:var(--color-primary);border-radius:3px;transition:width var(--transition-slow)}.item-progress .progress-fill.near{background-color:var(--color-warning)}.item-progress .progress-fill.over{background-color:var(--color-error)}.item-progress .progress-text{font-size:.75rem;color:var(--color-text-muted);min-width:32px;text-align:right}.item-expenses{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}.expenses-label{font-size:.8rem;color:var(--color-text-muted)}.expenses-amount{font-size:.9rem;font-weight:500;color:var(--color-error)}.item-fixed-content{display:flex;justify-content:flex-end}.fixed-amount{display:flex;align-items:baseline;gap:var(--spacing-sm)}.fixed-label{font-size:.8rem;color:var(--color-text-muted)}.fixed-value{font-size:1.1rem;font-weight:600;color:var(--color-text)}.home-page{min-height:100vh;background-color:var(--color-background);padding-bottom:var(--spacing-xl)}.home-header{background:var(--color-surface);color:var(--color-text);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) var(--spacing-md) 0;border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 1px 3px #00000014}.header-top{display:flex;justify-content:space-between;align-items:center}.home-title{font-size:1.1rem;font-weight:600;margin:0}.settings-button{background:transparent;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs);color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-normal)}.settings-button:hover{background:var(--color-background)}.home-welcome{margin:2px 0 0;font-size:.8rem;color:var(--color-text-secondary)}.home-content{padding:var(--spacing-md)}.summary-section{margin-bottom:var(--spacing-md)}.budget-items-section{margin-top:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-title{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0}.add-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;transition:background-color var(--transition-normal)}.add-button:hover{background-color:var(--color-primary-dark)}.add-button:active{transform:scale(.98)}.budget-items-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{text-align:center;padding:3rem var(--spacing-md);color:var(--color-text-muted)}.empty-state p{margin:var(--spacing-xs) 0}.empty-hint{font-size:.85rem}.no-group-section{margin-top:var(--spacing-xl)}.no-group-card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-md)}.no-group-card h3{margin:0 0 var(--spacing-sm);font-size:1rem;color:var(--color-text)}.no-group-card p{margin:0 0 var(--spacing-md);font-size:.9rem;color:var(--color-text-secondary)}.primary-button{padding:.75rem var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-normal)}.primary-button:hover{background-color:var(--color-primary-dark)}@media(min-width:375px){.home-header{margin:var(--spacing-sm) var(--spacing-lg) 0}.home-content{padding:var(--spacing-md) var(--spacing-lg)}}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}.dialog-content{background-color:#fff;border-radius:12px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 8px 24px #0003;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-title{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#4a4a4a}.dialog-message{margin:0 0 1.5rem;color:#6b6b6b;font-size:1rem;line-height:1.5}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.dialog-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#d9cfc3}.confirm-button{color:#fff}.confirm-button-default{background-color:#8b7a6b}.confirm-button-default:hover{background-color:#6d5e52}.confirm-button-danger{background-color:#c65146}.confirm-button-danger:hover{background-color:#a8443a}.confirm-button:active{transform:scale(.98)}.expense-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.expense-form-container{background-color:#fff;border-radius:24px 24px 0 0;padding:1.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.expense-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.expense-form-title{font-size:1.25rem;font-weight:600;color:#4a4a4a;margin:0}.expense-form-close{background:none;border:none;padding:.25rem;color:#9e9e9e;display:flex;align-items:center;justify-content:center;cursor:pointer}.expense-form-close:hover{color:#4a4a4a}.expense-form-item-name{color:#6b6b6b;font-size:.9rem;margin:0 0 1.5rem}.expense-form{display:flex;flex-direction:column;gap:1.25rem}.form-label{font-size:.85rem;font-weight:500;color:#6b6b6b}.amount-input-wrapper{display:flex;align-items:center;background-color:#f8f6f4;border-radius:12px;padding:0 1rem;border:2px solid transparent;transition:border-color .2s}.currency-symbol{font-size:1.5rem;font-weight:600;color:#9e9e9e}.amount-input{flex:1;padding:1rem .5rem;font-size:1.5rem;font-weight:600;color:#4a4a4a;background:transparent;border:none;outline:none;text-align:right}.text-input{padding:.875rem 1rem;font-size:1rem;color:#4a4a4a;background-color:#f8f6f4;border:2px solid transparent;border-radius:12px;outline:none;transition:border-color .2s}.form-error{color:#c65146;font-size:.85rem;margin:0}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.cancel-button,.submit-button{flex:1;padding:1rem;font-size:1rem;font-weight:500;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.cancel-button{background-color:#e8ded2;color:#6b6b6b}.cancel-button:hover:not(:disabled){background-color:#d9cfc3}.submit-button{background-color:#8b7a6b;color:#fff}.cancel-button:disabled{opacity:.7;cursor:not-allowed}.expense-list{display:flex;flex-direction:column;gap:.5rem}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a}.expense-info{display:flex;flex-direction:column;gap:.25rem}.expense-amount{font-size:1.1rem;font-weight:600;color:#c65146}.expense-note{font-size:.9rem;color:#4a4a4a}.expense-date{font-size:.8rem;color:#9e9e9e}.expense-delete-button{background:none;border:none;padding:.5rem;color:#bdbdbd;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px;transition:all .2s}.expense-delete-button:hover{background-color:#ffebee;color:#c65146}.expense-list-empty{text-align:center;padding:3rem 1rem;color:#9e9e9e;background-color:#fff;border-radius:12px}.expense-list-empty p{margin:0}.expense-list-error{color:#c65146;text-align:center;padding:1rem}.detail-page{min-height:100vh;background-color:#f8f6f4}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#fff;border-bottom:1px solid #E8DED2;position:sticky;top:0;z-index:100}.detail-title{font-size:1.1rem;font-weight:600;color:#4a4a4a;margin:0;flex:1;text-align:center}.header-actions{display:flex;gap:.25rem}.icon-button{background:none;border:none;padding:.5rem;color:#6b6b6b;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px;transition:all .2s}.icon-button:hover{background-color:#f0ebe6;color:#4a4a4a}.icon-button.danger:hover{background-color:#ffebee;color:#c65146}.detail-content{padding:1rem}.budget-status-card{background-color:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem}.status-tag-row{margin-bottom:1rem}.status-tag{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:4px}.status-tag.managed{background-color:#e8f5e9;color:#4caf50}.status-tag.fixed{background-color:#e8ded2;color:#8b7a6b}.budget-overview{margin-bottom:1.5rem}.budget-main{display:flex;flex-direction:column}.budget-label{font-size:.85rem;color:#9e9e9e}.budget-value{font-size:2rem;font-weight:700;color:#4a4a4a;margin-top:.25rem}.budget-progress-section{padding-top:1.5rem;border-top:1px solid #E8DED2}.progress-info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.progress-label{font-size:.85rem;color:#9e9e9e}.progress-value{font-size:1.5rem;font-weight:700;color:#4a4a4a}.progress-value.near{color:#ff9800}.progress-value.over{color:#c65146}.progress-bar-large{height:12px;background-color:#e8ded2;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill-large{height:100%;background-color:#8b7a6b;border-radius:6px;transition:width .3s ease}.progress-fill-large.near{background-color:#ff9800}.progress-fill-large.over{background-color:#c65146}.progress-stats{display:flex;justify-content:space-between;font-size:.85rem;color:#9e9e9e}.add-expense-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;margin-top:1.5rem;background-color:#8b7a6b;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-expense-button:hover{background-color:#6d5e52}.add-expense-button:active{transform:scale(.98)}.expense-history-section{margin-top:1.5rem}.section-title{font-size:1rem;font-weight:600;color:#4a4a4a;margin:0 0 1rem}.form-page{min-height:100vh;background-color:#f8f6f4}.form-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#fff;border-bottom:1px solid #E8DED2;position:sticky;top:0;z-index:100}.form-title{font-size:1.1rem;font-weight:600;color:#4a4a4a;margin:0;flex:1;text-align:center}.form-content{padding:1.5rem 1rem}.budget-item-form{display:flex;flex-direction:column;gap:1.5rem}.text-input{padding:1rem;font-size:1rem;color:#4a4a4a;background-color:#fff;border:2px solid #E8DED2;border-radius:12px;outline:none;transition:border-color .2s}.text-input:focus{border-color:#8b7a6b}.text-input::placeholder{color:#bdbdbd}.amount-input-wrapper{display:flex;align-items:center;background-color:#fff;border-radius:12px;border:2px solid #E8DED2;padding:0 1rem;transition:border-color .2s}.currency-symbol{font-size:1.25rem;font-weight:600;color:#9e9e9e}.amount-input{flex:1;padding:1rem .5rem;font-size:1.25rem;font-weight:600;color:#4a4a4a;background:transparent;border:none;outline:none;text-align:right}.toggle-options{display:flex;flex-direction:column;gap:.75rem}.toggle-option{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background-color:#fff;border:2px solid #E8DED2;border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.toggle-option:hover{border-color:#d9cfc3}.toggle-option.active{border-color:#8b7a6b;background-color:#faf8f6}.toggle-option-title{font-size:1rem;font-weight:600;color:#4a4a4a}.toggle-option.active .toggle-option-title{color:#8b7a6b}.toggle-option-desc{font-size:.85rem;color:#9e9e9e;margin-top:.25rem}.submit-button{padding:1rem;font-size:1rem;font-weight:600;color:#fff;background-color:#8b7a6b;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s;margin-top:1rem}.group-page{min-height:100vh;background-color:#f8f6f4}.group-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#fff;border-bottom:1px solid #E8DED2;position:sticky;top:0;z-index:100}.group-title{font-size:1.1rem;font-weight:600;color:#4a4a4a;margin:0;flex:1;text-align:center}.group-content{padding:1.5rem 1rem}.section-title{font-size:.9rem;font-weight:600;color:#6b6b6b;margin:0 0 .75rem}.invite-section{margin-bottom:1.5rem}.invite-code-card{background-color:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.invite-code-description{color:#6b6b6b;font-size:.9rem;margin:0 0 1rem}.invite-code-display{display:flex;align-items:center;gap:.75rem;background-color:#f8f6f4;padding:1rem;border-radius:12px;margin-bottom:1rem}.invite-code{flex:1;font-size:1.5rem;font-weight:700;letter-spacing:.15em;color:#4a4a4a;font-family:SF Mono,Consolas,monospace}.copy-button{background-color:#8b7a6b;color:#fff;border:none;border-radius:8px;padding:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.copy-button:hover{background-color:#6d5e52}.regenerate-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background-color:transparent;color:#6b6b6b;border:1px solid #E8DED2;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.regenerate-button:hover:not(:disabled){background-color:#f8f6f4;color:#4a4a4a}.regenerate-button:disabled{opacity:.7;cursor:not-allowed}.regenerate-warning{color:#9e9e9e;font-size:.8rem;margin:.75rem 0 0;text-align:center}.members-section{margin-bottom:1.5rem}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-card{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-radius:12px;padding:.875rem 1rem;box-shadow:0 1px 4px #0000000a}.member-name{font-size:.95rem;color:#4a4a4a}.member-badge{font-size:.75rem;color:#fff;background-color:#8b7a6b;padding:.25rem .5rem;border-radius:4px}.join-other-section{margin-bottom:1.5rem}.join-other-button{display:block;width:100%;padding:.875rem;font-size:.95rem;font-weight:500;color:#8b7a6b;background-color:#fff;border:1px solid #E8DED2;border-radius:12px;cursor:pointer;transition:all .2s}.join-other-button:hover{background-color:#f8f6f4;border-color:#8b7a6b}.join-form-card{background-color:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.join-form-title{font-size:.95rem;font-weight:600;color:#4a4a4a;margin:0 0 1rem;text-align:center}.join-form-buttons{display:flex;gap:.75rem}.cancel-button{flex:1;padding:.75rem;font-size:.9rem;font-weight:500;color:#6b6b6b;background-color:#f8f6f4;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.cancel-button:hover{background-color:#e8ded2}.join-warning{color:#9e9e9e;font-size:.8rem;margin:.75rem 0 0;text-align:center}.danger-section{margin-top:1.5rem}.leave-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background-color:transparent;color:#c65146;border:1px solid #C65146;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.leave-button:hover{background-color:#ffebee}.no-group-section{text-align:center;padding:2rem;color:#6b6b6b}.no-group-section p{margin-bottom:1rem}.primary-button{padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;color:#fff;background-color:#8b7a6b;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s}.join-form{display:flex;flex-direction:column;gap:.75rem}.invite-input{padding:.875rem;font-size:1.1rem;font-weight:600;text-align:center;letter-spacing:.1em;color:#4a4a4a;background-color:#f8f6f4;border:2px solid #E8DED2;border-radius:10px;outline:none;transition:border-color .2s;text-transform:uppercase}.invite-input:focus{border-color:#8b7a6b}.invite-input::placeholder{color:#bdbdbd;font-weight:400;letter-spacing:normal}.join-error{color:#c65146;font-size:.85rem;margin:0;text-align:center}.join-button{flex:1;padding:.75rem;font-size:.9rem;font-weight:600;color:#fff;background-color:#8b7a6b;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.join-button:hover:not(:disabled){background-color:#6d5e52}.join-button:disabled{background-color:#bdbdbd;cursor:not-allowed}.income-page{min-height:100vh;background-color:#f8f6f4}.income-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#fff;border-bottom:1px solid #E8DED2;position:sticky;top:0;z-index:100}.back-button{background:none;border:none;padding:.5rem;color:#4a4a4a;display:flex;align-items:center;justify-content:center;cursor:pointer}.income-title{font-size:1.1rem;font-weight:600;color:#4a4a4a;margin:0;flex:1;text-align:center}.header-spacer{width:40px}.income-content{padding:1.5rem 1rem}.income-section{margin-bottom:1.5rem}.income-card{background-color:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.income-description{color:#6b6b6b;font-size:.9rem;margin:0 0 1.5rem;line-height:1.5}.income-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.9rem;font-weight:500;color:#4a4a4a}.amount-input-wrapper{display:flex;align-items:center;background-color:#f8f6f4;border-radius:12px;border:2px solid #E8DED2;padding:0 1rem;transition:border-color .2s;overflow:hidden}.amount-input-wrapper:focus-within{border-color:#8b7a6b}.currency-symbol{font-size:1.5rem;font-weight:600;color:#9e9e9e;flex-shrink:0}.amount-input{flex:1;min-width:0;padding:1rem 0 1rem .5rem;font-size:1.75rem;font-weight:700;color:#4a4a4a;background:transparent;border:none;outline:none;text-align:right}.amount-input::placeholder{color:#bdbdbd}.quick-inputs{display:flex;flex-direction:column;gap:.75rem}.quick-inputs-label{font-size:.85rem;color:#6b6b6b;margin:0}.quick-input-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.quick-input-button{padding:.625rem .5rem;font-size:.85rem;font-weight:500;color:#6b6b6b;background-color:#f8f6f4;border:1px solid #E8DED2;border-radius:8px;cursor:pointer;transition:all .2s}.quick-input-button:hover{background-color:#eae4de}.quick-input-button.active{background-color:#8b7a6b;color:#fff;border-color:#8b7a6b}.form-error{color:#c65146;font-size:.9rem;margin:0;text-align:center}.submit-button{padding:1rem;font-size:1rem;font-weight:600;color:#fff;background-color:#8b7a6b;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#6d5e52}.submit-button:active:not(:disabled){transform:scale(.98)}.submit-button:disabled{background-color:#bdbdbd;cursor:not-allowed}.info-section{margin-top:1.5rem}.info-card{background-color:#faf8f6;border-radius:12px;padding:1.25rem;border:1px dashed #D9CFC3}.info-title{font-size:.95rem;font-weight:600;color:#4a4a4a;margin:0 0 .5rem}.info-text{font-size:.85rem;color:#6b6b6b;margin:0;line-height:1.6}.no-group-message{text-align:center;padding:3rem 1rem;background-color:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.no-group-message p{color:#6b6b6b;margin:0 0 1.5rem}.primary-button{padding:.875rem 2rem;font-size:1rem;font-weight:500;color:#fff;background-color:#8b7a6b;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.primary-button:hover{background-color:#6d5e52}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:500px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:#4caf50}.toast-error .toast-icon{color:#c65146}.toast-info .toast-icon{color:#2196f3}.toast-message{flex:1;color:#4a4a4a;font-size:.95rem;line-height:1.4}.toast-close-button{flex-shrink:0;background:none;border:none;color:#9e9e9e;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.toast-close-button:hover{color:#4a4a4a}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast-container>*{pointer-events:auto}@media(max-width:640px){.toast-container{left:1rem;right:1rem}}.app{min-height:100vh}
