.install-banner{display:flex;align-items:center;gap:var(--space-sm);background:var(--primary);color:#fff;padding:10px var(--space-md);font-size:.88rem;font-weight:600}.install-banner-icon{font-size:1.2rem;flex-shrink:0}.install-banner-text{flex:1}.install-banner-btn{background:#fff!important;color:var(--primary)!important;padding:4px 14px!important;font-size:.82rem!important;flex-shrink:0}.install-banner-close{background:none;border:none;color:#fffc;font-size:1.4rem;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.btn-install{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important;box-shadow:0 4px 15px #667eea66!important}.btn-install:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80!important}.ios-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-md);animation:fadeIn .15s ease}.ios-modal{background:#fff;border-radius:20px 20px 16px 16px;padding:2rem 1.5rem 1.5rem;width:100%;max-width:380px;text-align:center;position:relative;box-shadow:0 -4px 30px #00000026}.ios-modal-close{position:absolute;top:14px;inset-inline-end:16px;background:var(--bg);border:none;border-radius:50%;width:28px;height:28px;font-size:1.1rem;cursor:pointer;color:var(--text-light);display:flex;align-items:center;justify-content:center}.ios-modal-emoji{font-size:2.5rem;margin-bottom:.5rem}.ios-modal h3{margin:0 0 1rem;font-size:1.2rem;color:var(--text)}.ios-steps{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.75rem;text-align:start}.ios-steps li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text);background:var(--bg);border-radius:10px;padding:10px 12px}.ios-step-icon{font-size:1.1rem;flex-shrink:0}.ios-arrow-hint{color:var(--primary);font-size:1.5rem;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.landing-page{min-height:100vh;background:var(--gradient-bg);overflow-x:hidden}.landing-lang-toggle{position:fixed;top:var(--space-md);inset-inline-end:var(--space-md);z-index:100;display:flex;gap:4px;background:var(--bg-card);border-radius:var(--radius-md);padding:4px;box-shadow:0 2px 8px var(--shadow)}.landing-lang-toggle .toggle-btn{padding:var(--space-xs) var(--space-sm);font-size:.75rem;min-width:40px}.landing-hero{text-align:center;padding:80px var(--space-lg) 60px;position:relative}.landing-hero-content{max-width:500px;margin:0 auto}.landing-mascots{margin-bottom:var(--space-lg)}.landing-title{font-size:2.2rem;font-weight:800;color:var(--text);line-height:1.2;margin-bottom:var(--space-sm)}.landing-subtitle{font-size:1rem;color:var(--text-light);line-height:1.6;margin-bottom:var(--space-xl)}.landing-cta-group{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.landing-buy-btn{min-width:160px;font-size:1.1rem;padding:var(--space-md) var(--space-xl)}.landing-trial-note{margin-top:var(--space-md);font-size:.85rem;color:var(--text-light);font-weight:500}.landing-features{padding:var(--space-xl) var(--space-lg);max-width:600px;margin:0 auto}.landing-section-title{text-align:center;font-size:1.5rem;font-weight:800;margin-bottom:var(--space-xl);color:var(--text)}.landing-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.landing-feature-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-md);text-align:center;box-shadow:0 2px 8px var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.landing-feature-card:hover,.landing-feature-card.hovered{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow)}.landing-feature-emoji{font-size:2rem;display:block;margin-bottom:var(--space-sm)}.landing-feature-card h3{font-size:.9rem;font-weight:700;margin-bottom:var(--space-xs);color:var(--text)}.landing-feature-card p{font-size:.8rem;color:var(--text-light);line-height:1.4;margin:0}.landing-footer{text-align:center;padding:var(--space-xl) var(--space-lg) var(--space-xxl)}.landing-footer-animals{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md);opacity:.8}.landing-footer-text{font-size:.8rem;color:var(--text-muted)}@media (max-width: 480px){.landing-title{font-size:1.8rem}.landing-features-grid{grid-template-columns:1fr}.landing-hero{padding:60px var(--space-md) 40px}}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--gradient-bg);position:relative;overflow:hidden}.login-card{width:100%;max-width:400px;margin:var(--space-md);padding:var(--space-xl);background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:0 8px 32px var(--shadow-lg);animation:slideUp .5s ease;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:var(--space-xl)}.login-header h1{font-size:1.5rem;margin-bottom:var(--space-xs)}.login-header p{color:var(--text-light);font-size:.9rem}.login-emoji{font-size:3rem;display:block;margin-bottom:var(--space-md)}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.login-form .btn{margin-top:var(--space-sm)}.login-error{color:var(--danger);font-size:.875rem;font-weight:600;text-align:center;padding:var(--space-sm);background:#f871711a;border-radius:var(--radius-sm)}.login-hint{color:var(--text-light);font-size:.85rem;text-align:center;margin:0}.login-animals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.login-animal{position:absolute;font-size:2rem;opacity:.15}.login-animal:nth-child(1){top:8%;left:10%;animation:float 5s ease-in-out infinite}.login-animal:nth-child(2){top:15%;right:12%;animation:float 6s ease-in-out infinite 1s}.login-animal:nth-child(3){bottom:20%;left:8%;animation:float 7s ease-in-out infinite 2s}.login-animal:nth-child(4){bottom:12%;right:15%;animation:float 5.5s ease-in-out infinite .5s}.login-animal:nth-child(5){top:45%;left:3%;animation:float 6.5s ease-in-out infinite 1.5s}.login-animal:nth-child(6){top:50%;right:5%;animation:float 5s ease-in-out infinite 3s}.dashboard-page{background:var(--gradient-bg);padding-top:var(--space-md)}.dashboard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.dashboard-date{flex:1}.dashboard-date h2{font-size:1.125rem;color:var(--text);line-height:1.3}.dashboard-date .greeting{font-size:.875rem;color:var(--text-light);margin-top:2px}.settings-btn{width:44px;height:44px;border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.settings-btn:hover{border-color:var(--primary);transform:rotate(45deg)}.dashboard-title{text-align:center;margin-bottom:var(--space-lg);position:relative}.dashboard-title h1{font-size:1.5rem}.dashboard-title .title-animal{position:absolute;font-size:1.5rem;top:-5px;inset-inline-end:10%;animation:wiggle 3s ease-in-out infinite}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);padding-bottom:var(--space-xl)}.category-btn{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);cursor:pointer;transition:all .2s ease;text-align:center;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;gap:2px}.category-btn:active{transform:scale(.96)}.category-btn:hover{border-color:var(--primary-light);box-shadow:0 4px 16px var(--shadow)}.category-emoji{font-size:1.75rem;display:block}.category-name{font-size:.8rem;font-weight:700;color:var(--text);line-height:1.2}.category-spent{font-size:1rem;font-weight:800;color:var(--text);margin-top:2px}.category-budget{font-size:.7rem;color:var(--text-muted);font-weight:600}.category-btn .progress-bar{height:5px;margin-top:var(--space-xs)}.category-animal{position:absolute;bottom:4px;inset-inline-end:4px;font-size:1rem;opacity:.2;transition:all .3s ease}.category-btn:hover .category-animal{opacity:.5;animation:bounce 1s ease infinite}.dashboard-mascot{text-align:center;padding:var(--space-lg) 0;font-size:3rem;animation:float 4s ease-in-out infinite}.mascot-sentence{font-size:.85rem;color:var(--text-light);margin-top:var(--space-xs);font-style:italic;max-width:260px;margin-inline:auto;line-height:1.4}@media (min-width: 768px){.category-grid{grid-template-columns:repeat(4,1fr)}}.category-page{background:var(--gradient-bg);padding-top:var(--space-md)}.category-header-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:0 2px 8px var(--shadow);position:relative;overflow:hidden}.category-header-top{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.category-header-emoji{font-size:2.5rem}.category-header-info h1{font-size:1.25rem;line-height:1.2}.category-header-info p{font-size:.875rem;color:var(--text-light);margin-top:2px}.category-stats{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.category-stat{flex:1;background:var(--bg);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.category-stat .stat-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.category-stat .stat-value{font-size:1.25rem;font-weight:800;color:var(--text);margin-top:2px}.category-stat .stat-sub{font-size:.75rem;color:var(--text-muted)}.category-header-card .progress-bar{margin-top:var(--space-md)}.category-header-animal{position:absolute;top:var(--space-sm);inset-inline-end:var(--space-sm);font-size:1.5rem;opacity:.2;animation:float 5s ease-in-out infinite}.past-months-btn{margin-top:var(--space-md)}.expense-form{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px var(--shadow);display:flex;flex-direction:column;gap:var(--space-md);animation:slideUp .4s ease}.expense-form.compact{padding:var(--space-md);gap:var(--space-sm)}.expense-form h3{display:flex;align-items:center;gap:var(--space-sm)}.expense-form.compact h3{font-size:.95rem;margin-bottom:0}.auto-fields{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);border-inline-start:3px solid var(--secondary)}.auto-fields.compact{flex-direction:row;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);border-inline-start:2px solid var(--secondary)}.auto-fields-compact{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--bg);border-radius:var(--radius-md);border-inline-start:2px solid var(--secondary)}.auto-fields-row{display:flex;gap:var(--space-md);align-items:center}.auto-field-hint{font-size:.7rem;color:var(--text-muted);font-style:italic}.auto-field{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem}.auto-field-icon{font-size:.85rem;width:18px;text-align:center;flex-shrink:0}.auto-field-label{color:var(--text-muted);font-weight:600;min-width:70px}.auto-field-value{color:var(--text);font-weight:600}.auto-field-value.clickable{cursor:pointer;color:var(--primary);border-bottom:1px dashed var(--primary);padding-bottom:1px;-webkit-tap-highlight-color:transparent}.auto-field-value.clickable.muted{color:var(--text-muted);border-bottom-color:var(--text-muted)}.compact-input{padding:4px 6px!important;font-size:.8rem!important;min-width:0;width:auto;flex:1}.amount-row{display:flex;align-items:center;gap:var(--space-sm)}.amount-row label{font-size:.8rem;font-weight:700;color:var(--text-light);white-space:nowrap}.amount-row .amount-input-wrapper{flex:1}.form-bottom-row{display:flex;align-items:center;gap:var(--space-md)}.checkbox-group.compact{padding:0;gap:var(--space-sm);flex-shrink:0}.checkbox-group.compact input[type=checkbox]{width:18px;height:18px}.checkbox-group.compact label{font-size:.8rem}.btn-submit{flex:1;padding:var(--space-sm) var(--space-md);font-size:.9rem}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:2px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px var(--shadow)}.autocomplete-option{padding:var(--space-md);cursor:pointer;font-family:var(--font);font-size:.9rem;font-weight:600;border-bottom:1px solid var(--border);transition:background .15s ease}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option:hover,.autocomplete-option.highlighted{background:#ff6b6b14;color:var(--primary)}.amount-input-wrapper{position:relative}.amount-prefix{position:absolute;inset-inline-start:var(--space-md);top:50%;transform:translateY(-50%);font-weight:700;color:var(--text-light);font-size:1rem}.amount-input{padding-inline-start:56px}.submit-section{margin-top:var(--space-sm)}.expense-item-delete{background:none;border:none;font-size:1rem;cursor:pointer;padding:var(--space-xs);opacity:.4;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent;flex-shrink:0}.expense-item-delete:hover{opacity:1}.category-expenses-section{margin-top:var(--space-lg)}.category-expenses-section h3{font-size:.9rem;color:var(--text-light);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.category-page-header{display:flex;align-items:center;gap:var(--space-sm);justify-content:space-between}.category-switcher{flex:1;max-width:220px;padding:6px 10px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.category-switcher:focus{outline:2px solid var(--primary);border-color:var(--primary)}.category-stat-company{background:#667eea14!important;border:1px solid rgba(102,126,234,.2)}.category-stat-company .stat-label,.category-stat-company .stat-value{color:#5a6fd6}.category-footer-stats{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:0 2px 8px var(--shadow);margin-top:var(--space-lg)}.category-footer-stats .category-stats{margin-top:0}.category-footer-stats .category-stat{padding:var(--space-sm) var(--space-md)}.category-footer-stats .stat-value{font-size:1rem}.date-input-row{display:flex;align-items:center;gap:var(--space-sm)}.date-input-row input[type=datetime-local]{flex:1}.date-toggle-btn{background:none;border:none;font-size:.8rem;color:var(--primary);font-weight:700;font-family:var(--font);cursor:pointer;padding:2px 0;-webkit-tap-highlight-color:transparent}.member-select{font-family:var(--font);font-weight:600;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.cancel-edit-btn{margin-inline-start:auto;background:none;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.75rem;font-weight:700;font-family:var(--font);color:var(--text-muted);cursor:pointer;padding:4px 12px;-webkit-tap-highlight-color:transparent;transition:all .2s ease}.cancel-edit-btn:hover{border-color:var(--primary);color:var(--primary)}.expense-item-action{background:none;border:none;font-size:.9rem;cursor:pointer;padding:var(--space-xs);opacity:.4;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent;flex-shrink:0}.expense-item-action:hover{opacity:1}.expense-item-editing{outline:2px solid var(--primary);outline-offset:-2px}.location-field{display:flex;align-items:center;flex-wrap:wrap}.history-page,.totals-page{background:var(--gradient-bg);padding-top:var(--space-md)}.history-header{margin-bottom:var(--space-lg)}.history-header h1{font-size:1.25rem;display:flex;align-items:center;gap:var(--space-sm)}.history-controls{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.expense-list{display:flex;flex-direction:column;gap:var(--space-sm)}.expense-date-group{margin-bottom:var(--space-md)}.expense-date-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);padding-inline-start:var(--space-xs)}.expense-item{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-md);box-shadow:0 1px 4px var(--shadow);animation:slideUp .3s ease}.expense-item-icon{font-size:1.5rem;flex-shrink:0}.expense-item-details{flex:1;min-width:0}.expense-item-desc{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-item-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:2px;font-size:.75rem;color:var(--text-muted);font-weight:600}.expense-item-amount{font-size:1.125rem;font-weight:800;flex-shrink:0}.expense-item-amount.company{color:var(--accent)}.chart-container{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px var(--shadow);margin-bottom:var(--space-lg)}.chart-container h3{font-size:.9rem;color:var(--text-light);margin-bottom:var(--space-md);text-align:center}.chart-wrapper{width:100%;height:250px}.totals-grid{display:flex;flex-direction:column;gap:var(--space-md)}.totals-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px var(--shadow)}.totals-card h3{font-size:.9rem;color:var(--text-light);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.totals-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.totals-row:last-child{border-bottom:none}.totals-row-name{font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:var(--space-sm)}.totals-row-amount{font-weight:800;font-size:1rem}.totals-grand{margin-top:var(--space-lg);padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);text-align:center}.totals-grand .total-label{font-size:.75rem;color:var(--text-muted);font-weight:700;text-transform:uppercase}.totals-grand .total-value{font-size:1.75rem;font-weight:800;color:var(--primary)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--text-muted)}.empty-state-emoji{font-size:3rem;display:block;margin-bottom:var(--space-md);animation:float 4s ease-in-out infinite}.empty-state p{font-weight:600;font-size:.9rem}.month-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.month-nav-btn{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.month-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.month-nav-label{font-weight:700;font-size:1rem;min-width:140px;text-align:center}.settings-page{background:var(--gradient-bg);padding-top:var(--space-md)}.settings-profile{text-align:center;padding:var(--space-xl) var(--space-lg);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow);margin-bottom:var(--space-lg);position:relative;overflow:hidden}.settings-avatar{font-size:3.5rem;margin-bottom:var(--space-md);display:block}.settings-profile h2{font-size:1.25rem}.settings-profile .family-name{color:var(--text-light);font-size:.875rem;font-weight:600;margin-top:2px}.settings-total{margin-top:var(--space-lg);padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md)}.settings-total .total-label{font-size:.75rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.settings-total .total-value{font-size:1.75rem;font-weight:800;color:var(--primary);margin-top:var(--space-xs)}.settings-profile-animal{position:absolute;top:var(--space-sm);inset-inline-end:var(--space-md);font-size:1.5rem;opacity:.2;animation:wiggle 3s ease-in-out infinite}.settings-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px var(--shadow);margin-bottom:var(--space-md)}.settings-section h3{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:1rem}.export-controls{display:flex;flex-direction:column;gap:var(--space-md)}.month-picker-row{display:flex;gap:var(--space-sm)}.month-picker-row select{flex:1}.settings-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.logout-btn{color:var(--danger);border-color:var(--danger)}.logout-btn:hover{background:#f8717114;color:var(--danger);border-color:var(--danger)}.cat-manager{display:flex;flex-direction:column;gap:var(--space-sm)}.cat-manager-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--bg);border-radius:var(--radius-md);gap:var(--space-sm)}.cat-manager-info{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.cat-manager-emoji{font-size:1.25rem;flex-shrink:0}.cat-manager-name{font-weight:700;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-manager-budget{font-size:.75rem;color:var(--text-muted);font-weight:600;flex-shrink:0}.cat-manager-actions{display:flex;gap:2px;flex-shrink:0}.cat-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.cat-btn:hover{background:var(--border)}.cat-btn:disabled{opacity:.3;cursor:default}.cat-btn-danger:hover{background:#f8717126}.cat-edit-form{margin-top:var(--space-md);padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);border:2px solid var(--border);display:flex;flex-direction:column;gap:var(--space-md)}.cat-edit-form h4{font-size:.9rem;margin:0}.cat-edit-buttons{display:flex;gap:var(--space-sm)}.cat-edit-buttons .btn{flex:1;padding:var(--space-sm) var(--space-md);font-size:.875rem}.emoji-picker{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.emoji-option{width:40px;height:40px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.emoji-option:hover{border-color:var(--primary-light);transform:scale(1.1)}.emoji-option.selected{border-color:var(--primary);background:#ff6b6b1a;box-shadow:0 0 0 2px #ff6b6b33}.color-picker{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.color-option{width:32px;height:32px;border:3px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px currentColor}.settings-success{background:#14b8a61a;color:#14b8a6;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;margin-bottom:var(--space-sm)}.settings-error{background:#f871711a;color:var(--danger);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;margin-bottom:var(--space-sm)}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f1f5f9}.admin-login-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px #00000014;width:320px;display:flex;flex-direction:column;gap:.75rem}.admin-login-card h1{margin:0 0 .5rem;font-size:1.3rem;text-align:center;color:#1e293b}.admin-login-card input{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem}.admin-login-card button{padding:.6rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.admin-login-card button:disabled{opacity:.6;cursor:not-allowed}.admin-error{color:#dc2626;font-size:.85rem;text-align:center}.admin-page{min-height:100vh;background:#f1f5f9;padding:1rem}.admin-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.admin-top-bar h1{margin:0;font-size:1.3rem;color:#1e293b}.admin-panel{background:#fff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000f}.admin-panel h3{margin:0 0 .75rem;font-size:1rem;color:#334155;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.admin-panel-header h2{margin:0;font-size:1.1rem;color:#1e293b}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:#64748b;border-bottom:2px solid #e2e8f0;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.admin-table td{padding:.6rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155}.admin-table-compact td,.admin-table-compact th{padding:.4rem .6rem;font-size:.8rem}.admin-clickable{cursor:pointer;transition:background .15s}.admin-clickable:hover{background:#f8fafc}.admin-bold{font-weight:600}.admin-mono{font-family:monospace;font-size:.8rem;color:#64748b}.admin-empty{text-align:center;color:#94a3b8;padding:1.5rem!important}.admin-deleted-row{opacity:.5;text-decoration:line-through}.admin-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.admin-badge-green{background:#dcfce7;color:#166534}.admin-badge-red{background:#fee2e2;color:#991b1b}.admin-btn{padding:.4rem .8rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.8rem;cursor:pointer;font-weight:500;transition:background .15s}.admin-btn:hover{background:#f9fafb}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-sm{font-size:.75rem;padding:.3rem .6rem}.admin-btn-xs{font-size:.7rem;padding:.2rem .5rem}.admin-btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.admin-btn-primary:hover{background:#2563eb}.admin-btn-danger{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.admin-btn-danger:hover{background:#fecaca}.admin-detail{min-height:100vh;background:#f1f5f9;padding:1rem}.admin-detail-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.admin-detail-header h2{margin:0;flex:1;font-size:1.2rem;color:#1e293b}.admin-field{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.admin-field:last-child{border-bottom:none}.admin-field-label{font-size:.8rem;color:#64748b;font-weight:600;min-width:120px;flex-shrink:0}.admin-field-value{font-size:.85rem;color:#334155;flex:1;word-break:break-all}.admin-field-editing{background:#f8fafc;padding:.5rem;border-radius:6px;margin:.25rem 0}.admin-input{flex:1;padding:.3rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;min-width:120px}.admin-member-card{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-bottom:.5rem}.admin-member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.admin-member-header strong{color:#1e293b;font-size:.9rem}@media (max-width: 640px){.admin-table{font-size:.75rem}.admin-table th,.admin-table td{padding:.4rem .5rem}.admin-detail-header{flex-wrap:wrap}.admin-field-label{min-width:90px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #ff6b6b;--primary-dark: #ee5a5a;--primary-light: #ff8787;--secondary: #4ecdc4;--secondary-dark: #3dbdb5;--accent: #a78bfa;--accent-light: #c4b5fd;--warning: #fbbf24;--warning-dark: #f59e0b;--success: #34d399;--success-dark: #10b981;--danger: #f87171;--bg: #fef7f0;--bg-card: #ffffff;--bg-input: #f9fafb;--text: #1f2937;--text-light: #6b7280;--text-muted: #9ca3af;--border: #e5e7eb;--shadow: rgba(0, 0, 0, .08);--shadow-lg: rgba(0, 0, 0, .12);--gradient-primary: linear-gradient(135deg, #ff6b6b, #ee5a24);--gradient-secondary: linear-gradient(135deg, #4ecdc4, #44b09e);--gradient-accent: linear-gradient(135deg, #a78bfa, #818cf8);--gradient-warm: linear-gradient(135deg, #fbbf24, #f97316);--gradient-bg: linear-gradient(180deg, #fff5ee 0%, #fef7f0 100%);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}h1,h2,h3,h4{font-weight:800;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-md)}.page{min-height:100dvh;padding-bottom:var(--space-2xl)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 2px 8px var(--shadow);border:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-family:var(--font);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;line-height:1;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.btn-primary:hover{box-shadow:0 6px 16px #ff6b6b66}.btn-secondary{background:var(--bg-card);color:var(--text);border:2px solid var(--border)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;color:var(--text-light);padding:var(--space-sm) var(--space-md)}.btn-ghost:hover{color:var(--primary);background:#ff6b6b14}.btn-block{display:flex;width:100%}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:1.125rem}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.input-group label{font-size:.875rem;font-weight:700;color:var(--text-light)}.input{width:100%;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font);font-size:1rem;font-weight:600;color:var(--text);background:var(--bg-input);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b6b26}.input::placeholder{color:var(--text-muted);font-weight:400}.input-readonly{background:var(--bg);color:var(--text-light);cursor:default}.checkbox-group{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0}.checkbox-group input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary);cursor:pointer}.checkbox-group label{font-weight:600;cursor:pointer}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease}.progress-green{background:var(--success)}.progress-yellow{background:var(--warning)}.progress-red{background:var(--danger)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.badge-company{background:#a78bfa26;color:var(--accent)}.toggle-group{display:flex;background:var(--bg-input);border-radius:var(--radius-md);padding:3px;border:1px solid var(--border)}.toggle-btn{flex:1;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font);font-size:.875rem;font-weight:700;color:var(--text-light);cursor:pointer;transition:all .2s ease}.toggle-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:0 1px 4px var(--shadow)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0}.back-btn{display:flex;align-items:center;gap:var(--space-xs);background:none;border:none;font-family:var(--font);font-size:1rem;font-weight:700;color:var(--primary);cursor:pointer;padding:var(--space-sm);margin-inline-start:calc(-1 * var(--space-sm));-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-8px) rotate(5deg)}66%{transform:translateY(-4px) rotate(-3deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}.animate-fade{animation:fadeIn .3s ease}.animate-slide{animation:slideUp .4s ease}.animate-bounce{animation:bounce 2s ease infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-wiggle{animation:wiggle 2s ease-in-out infinite}.text-center{text-align:center}.text-muted{color:var(--text-light)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[dir=rtl] .badge,[dir=rtl] .expense-item-meta{direction:rtl}@media (min-width: 768px){.container{max-width:600px}h1{font-size:2rem}}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:1.5rem;padding:2rem}.loading-screen-message{font-size:1rem;color:var(--text-light);font-weight:500;text-align:center;min-height:1.5em;transition:opacity .3s}.loading-dots{display:flex;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:loadingDot 1.2s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}
