.theme-toggle{background:none;border:none;cursor:pointer;font-size:20px;padding:8px 12px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;border-radius:6px;color:var(--text)}.theme-toggle:hover{transform:scale(1.1);background-color:var(--bg-secondary)}.theme-icon{display:inline-block;width:20px;height:20px}.navigation{width:250px;background-color:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 1px 3px #0000001a}.nav-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-header h1{font-size:1.25rem;font-weight:700;color:var(--primary);margin:0}.nav-auth{flex-shrink:0;display:flex;align-items:center;gap:10px}.nav-login-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease;white-space:nowrap}.nav-login-btn:hover{background:var(--primary-dark, #2980b9);opacity:.9}.nav-user{position:relative}.nav-user-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.nav-user-btn:hover{background:var(--primary-dark, #2980b9);opacity:.9}.nav-user-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:100;min-width:180px}.nav-user-email{padding:.75rem 1rem;color:var(--text-secondary);font-size:.8rem;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.nav-user-logout{width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .2s ease}.nav-user-logout:hover{background:var(--bg)}.nav-items{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.nav-group:last-child{margin-bottom:0}.nav-group-label{padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.nav-item{padding:.75rem 1rem;text-align:left;border-radius:.5rem;color:var(--text-secondary);font-size:.9rem;transition:all .2s ease;border:1px solid transparent;margin-left:.25rem}.nav-item:hover{background-color:var(--bg);color:var(--text)}.nav-item.active{background-color:var(--primary);color:#fff;font-weight:600}@media (max-width: 768px){.navigation{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:auto}.nav-header{padding:1rem .75rem}.nav-header h1{font-size:1rem}.nav-auth{gap:8px}.nav-login-btn,.nav-user-btn{padding:.4rem .8rem;font-size:.75rem}.nav-items{flex-direction:column;flex-wrap:nowrap;gap:.25rem;padding:.25rem;max-height:200px;overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.nav-group:last-child{margin-bottom:0}.nav-group-label{padding:.5rem .75rem;font-size:.65rem}.nav-item{flex:none;min-width:auto;margin-left:0;padding:.6rem .75rem;font-size:.85rem;touch-action:manipulation}.nav-ads{display:none}}@media (max-width: 480px){.nav-header{padding:.75rem .5rem}.nav-header h1{font-size:.9rem}.nav-auth{gap:4px}.nav-login-btn,.nav-user-btn{padding:.35rem .6rem;font-size:.7rem}.nav-items{max-height:150px;padding:.15rem}.nav-item{padding:.5rem;font-size:.8rem}.nav-group-label{padding:.4rem .5rem;font-size:.6rem}}.adsense-container{display:flex;justify-content:center;align-items:center;margin:1rem 0;padding:.5rem;min-height:280px;background-color:var(--bg);border-radius:.5rem;border:1px solid var(--border)}.adsense-container ins{display:block!important}.nav-ads{margin-top:2rem;padding:1rem;background-color:var(--bg);border-radius:.5rem;border:1px solid var(--border)}.nav-ads .adsense-container{margin:0;min-height:auto}@media (max-width: 768px){.adsense-container{min-height:250px}.nav-ads{margin-top:1rem;padding:.75rem}}@media (max-width: 480px){.adsense-container{min-height:200px}.adsense-container ins{width:100%!important}}.contact-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.contact-form-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.contact-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.contact-form-header h2{margin:0;color:var(--text);font-size:20px}.close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:var(--text)}.contact-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text);font-weight:500;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;color:var(--text);background-color:var(--bg);transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.7}.form-group textarea{resize:vertical;min-height:120px}.success-message{padding:15px;margin:20px;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-weight:500;text-align:center}.error-message{padding:15px;margin:20px;background-color:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:6px;color:#dc2626;font-weight:500;text-align:center}.form-actions{display:flex;gap:10px;margin-top:30px}.btn-cancel,.btn-send{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}.btn-cancel:hover:not(:disabled){background-color:var(--border)}.btn-send{background-color:var(--primary);color:#fff}.btn-send:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.btn-cancel:disabled,.btn-send:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.contact-form-overlay{padding:10px}.contact-form-modal{max-width:100%}.contact-form-header h2{font-size:18px}.contact-form{padding:15px}.form-group{margin-bottom:15px}}.app-footer{background-color:#f5f5f5;border-top:1px solid #ddd;padding:20px;margin-top:80px;font-size:12px;color:#666;text-align:center}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap}.footer-section{display:flex;flex-direction:column;gap:8px}.footer-text{margin:0;color:#666}.footer-text a,.footer-contact-btn{color:#4a90e2;text-decoration:none;transition:color .2s;background:none;border:none;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;margin:0}.footer-text a:hover,.footer-contact-btn:hover{color:#357abd;text-decoration:underline}.footer-small{font-size:11px;color:#999}.footer-version{font-family:Monaco,Courier New,monospace;text-align:center}.footer-version code{background-color:#e8e8e8;padding:2px 6px;border-radius:3px;font-size:10px;color:#333}.footer-version time{white-space:nowrap}@media (max-width: 768px){.footer-content{flex-direction:column;text-align:center}.footer-section{align-items:center}.app-footer{padding:15px}.footer-text{font-size:11px}}.receipt-table-container{width:100%;overflow-x:auto;margin:20px 0}.receipt-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 4px #0000001a}.receipt-table thead{background-color:#f5f5f5;font-weight:600}.receipt-table th{padding:12px 8px;text-align:left;border-bottom:2px solid #ddd;font-size:14px}.receipt-table td{padding:10px 8px;border-bottom:1px solid #eee;font-size:14px}.receipt-table tbody tr:hover{background-color:#f9f9f9}.receipt-table input[type=date],.receipt-table input[type=text],.receipt-table input[type=number]{width:100%;padding:6px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit}.receipt-table input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.actions{white-space:nowrap}.actions button{margin-right:4px;padding:6px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.btn-edit{background-color:#4a90e2;color:#fff}.btn-edit:hover{background-color:#357abd}.btn-delete{background-color:#e74c3c;color:#fff}.btn-delete:hover{background-color:#c0392b}.btn-save{background-color:#27ae60;color:#fff}.btn-save:hover{background-color:#229954}.btn-cancel{background-color:#95a5a6;color:#fff}.btn-cancel:hover{background-color:#7f8c8d}.filename-cell{font-size:13px;color:#666;max-width:200px;word-break:break-word}.store-cell{position:relative}.store-input-wrapper{position:relative;width:100%}.store-dropdown{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.store-suggestion{padding:8px 10px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.store-suggestion:hover{background-color:#f0f4ff;color:#4a90e2}.store-suggestion:last-child{border-bottom:none}@media (max-width: 768px){.receipt-table{font-size:12px}.receipt-table th,.receipt-table td{padding:8px 4px}.actions button{padding:4px 8px;font-size:11px}.store-dropdown{max-height:150px}.store-suggestion{padding:6px 8px;font-size:12px}}.help-button{position:fixed;top:20px;right:20px;width:48px;height:48px;border-radius:50%;background-color:#4a90e2;color:#fff;border:none;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #4a90e24d;transition:all .2s;z-index:999;display:flex;align-items:center;justify-content:center}.help-button:hover{background-color:#357abd;box-shadow:0 6px 16px #4a90e266;transform:scale(1.05)}.help-button:active{transform:scale(.95)}@media (max-width: 768px){.help-button{width:44px;height:44px;font-size:20px;top:16px;right:16px}}@media (max-width: 480px){.help-button{width:40px;height:40px;font-size:18px;top:12px;right:12px}}.help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.help-modal{background-color:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;max-width:700px;max-height:80vh;overflow-y:auto;width:100%}.help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #f0f0f0;position:sticky;top:0;background-color:#fff;z-index:1}.help-modal-header h2{margin:0;color:#333;font-size:22px}.help-close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.help-close-btn:hover{color:#333}.help-modal-content{padding:20px}.help-description{color:#555;font-size:14px;line-height:1.6;margin-bottom:20px}.help-section{margin-bottom:20px}.help-section h3{color:#333;font-size:16px;margin-top:0;margin-bottom:12px;font-weight:600}.help-steps{color:#555;font-size:14px;line-height:1.8;margin:0;padding-left:20px}.help-steps li{margin-bottom:8px}.help-example{background-color:#f9f9f9;border-left:4px solid #4a90e2;padding:12px;border-radius:4px;font-size:13px;color:#555;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:Monaco,Courier New,monospace}.help-example p{margin:0}.help-tips{color:#555;font-size:14px;line-height:1.8;margin:0;padding-left:20px}.help-tips li{margin-bottom:8px}.help-note{background-color:#fffacd;border:1px solid #f0d787;border-radius:4px;padding:12px;font-size:13px;color:#666;line-height:1.6}.help-note strong{color:#333}.help-modal-footer{padding:20px;border-top:1px solid #f0f0f0;background-color:#fafafa;position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end}.help-close-action{padding:10px 24px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.help-close-action:hover{background-color:#357abd}@media (max-width: 768px){.help-modal{max-width:95vw;max-height:90vh}.help-modal-header{padding:15px}.help-modal-header h2{font-size:18px}.help-modal-content{padding:15px}.help-section h3{font-size:14px}.help-description,.help-steps,.help-tips{font-size:13px}}.calculator-wrapper{max-width:1200px;margin:0 auto}.calculator-wrapper h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--text)}.input-section{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);margin-bottom:2rem;box-shadow:0 1px 2px #0000000d}.input-group{margin-bottom:1.25rem;display:flex;flex-direction:column}.input-group:last-of-type{margin-bottom:0}.input-group label{font-weight:600;margin-bottom:.5rem;color:var(--text);font-size:.95rem}.input-group input{padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:1rem;transition:border-color .2s ease}.input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.calculate-btn{width:100%;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;font-weight:600;font-size:1rem;border-radius:.5rem;margin-top:1rem;transition:background-color .2s ease}.calculate-btn:hover{background-color:var(--primary-dark)}.calculate-btn:active{transform:scale(.98)}.summary-section{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);margin-bottom:2rem;box-shadow:0 1px 2px #0000000d}.summary-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg);border-radius:.5rem;border:1px solid var(--border)}.summary-label{color:var(--text-secondary);font-weight:500}.summary-value{color:var(--primary);font-weight:700;font-size:1.1rem}@media (max-width: 768px){.calculator-wrapper h2{font-size:1.5rem}.input-section,.summary-section{padding:1rem}.summary-grid{grid-template-columns:1fr;gap:.75rem}.summary-item{flex-direction:column;gap:.5rem;align-items:flex-start}}.receipt-scanner-section{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);margin-bottom:2rem;box-shadow:0 1px 2px #0000000d}.subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background-color:var(--bg);margin-bottom:30px}.drop-zone.active{border-color:var(--primary);background-color:#3b82f60d;transform:scale(1.02)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:15px}.drop-icon{font-size:48px}.drop-zone h3{margin:0;color:var(--text);font-size:18px}.drop-zone p{margin:0;color:var(--text-secondary);font-size:14px}.file-input-label{display:inline-block;padding:12px 24px;background-color:var(--primary);color:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .3s}.file-input-label:hover{background-color:var(--primary-dark);opacity:.9}.file-input-label input{display:none}.supported-formats{font-size:12px;color:var(--text-tertiary);margin:0}.error-message{background-color:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:6px;padding:12px;margin-bottom:20px;color:#dc2626;font-size:14px}.processing-status{background-color:#3b82f60d;border:1px solid var(--primary);border-radius:6px;padding:20px;margin-bottom:30px}.processing-status p{margin:0 0 15px;color:var(--text);font-weight:500}.progress-bars{display:flex;flex-direction:column;gap:10px}.progress-item{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:20px;background-color:var(--bg-secondary);border-radius:10px;overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;background:var(--primary);width:0%;transition:width .3s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.progress-item span{min-width:40px;text-align:right;color:var(--text-secondary);font-size:12px}.receipts-section{margin-top:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.section-header h2{margin:0;color:var(--text);font-size:20px}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn-download,.btn-clear{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;font-weight:500;transition:all .3s}.btn-download{background-color:#27ae60;color:#fff}.btn-download:hover:not(:disabled){background-color:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.btn-clear{background-color:#e74c3c;color:#fff}.btn-clear:hover:not(:disabled){background-color:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-download:disabled,.btn-clear:disabled{opacity:.6;cursor:not-allowed}.summary{display:flex;gap:30px;margin-top:30px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:5px}.summary-item .label{color:var(--text-secondary);font-size:12px;font-weight:500;text-transform:uppercase}.summary-item .value{color:var(--text);font-size:24px;font-weight:700}@media (max-width: 768px){.receipt-scanner-content{padding:20px}.receipt-scanner-content h1{font-size:24px}.drop-zone{padding:20px}.drop-icon{font-size:36px}.drop-zone h3{font-size:16px}.section-header{flex-direction:column;align-items:flex-start}.action-buttons{width:100%}.action-buttons button{flex:1;min-width:120px}.summary{flex-direction:column;gap:15px}}.ping-pong-container{max-width:900px;margin:0 auto}.ping-pong-container h2{font-size:2rem;margin-bottom:1.5rem;color:var(--text);text-align:center}.game-info{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:center}.game-info p{margin:.5rem 0;color:var(--text-secondary);font-size:.95rem}.game-info strong{color:var(--primary);font-weight:600}.game-canvas-wrapper{display:flex;justify-content:center;margin-bottom:2rem;background-color:var(--bg-secondary);border-radius:8px;padding:1rem;border:2px solid var(--border)}.game-canvas{border:2px solid var(--primary);border-radius:4px;display:block;max-width:100%;height:auto;background-color:#000}.score-display{display:flex;justify-content:center;gap:4rem;margin-top:2rem;padding:1.5rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.score-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-label{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase}.score-value{color:var(--primary);font-size:2.5rem;font-weight:700}.game-over-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.game-over-content{background-color:var(--bg-secondary);border:2px solid var(--primary);border-radius:8px;padding:2rem;text-align:center;box-shadow:0 10px 40px #0000004d;position:relative}.game-over-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);transition:color .2s;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.game-over-close:hover{color:var(--text)}.game-over-content h3{color:var(--text);font-size:1.8rem;margin:0 0 1rem}.winner-text{color:var(--primary);font-size:1.5rem;font-weight:700;margin:.5rem 0}.final-score{color:var(--text-secondary);font-size:1.2rem;margin:1rem 0 1.5rem}.game-over-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.dismiss-button,.reset-button{background-color:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;flex:1;min-width:140px}.dismiss-button:hover,.reset-button:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.dismiss-button:active,.reset-button:active{transform:translateY(0)}@media (max-width: 768px){.ping-pong-container{padding:.5rem}.ping-pong-container h2{font-size:1.5rem;margin-bottom:1rem}.game-info{padding:1rem;margin-bottom:1.5rem}.game-info p{font-size:.85rem;margin:.4rem 0}.game-canvas-wrapper{padding:.25rem;margin-bottom:1rem}.game-canvas{border-width:1px}.score-display{gap:2rem;padding:1rem;margin-top:1rem}.score-value{font-size:2rem}.game-over-content{padding:2.5rem 1.5rem 1.5rem;max-width:90vw}.game-over-close{top:.75rem;right:.75rem}.game-over-content h3{font-size:1.5rem}.winner-text{font-size:1.2rem}.final-score{margin-bottom:1.25rem}.game-over-buttons{gap:.75rem}.dismiss-button,.reset-button{padding:10px 20px;font-size:.9rem;min-height:44px;flex:1;min-width:100px}}@media (max-width: 480px){.ping-pong-container{padding:.25rem}.ping-pong-container h2{font-size:1.2rem;margin-bottom:.75rem}.game-info{padding:.75rem;margin-bottom:1rem}.game-info p{font-size:.75rem;margin:.3rem 0}.game-canvas-wrapper{padding:0;margin-bottom:.75rem}.game-canvas{border-width:1px;max-width:100%}.score-display{gap:1.5rem;padding:.75rem;margin-top:.75rem}.score-item{gap:.3rem}.score-label{font-size:.8rem}.score-value{font-size:1.5rem}.game-over-content{padding:2rem 1rem 1rem;max-width:95vw}.game-over-close{top:.5rem;right:.5rem;font-size:1.25rem}.game-over-content h3{font-size:1.3rem;margin-bottom:.75rem}.winner-text{font-size:1rem;margin:.3rem 0}.final-score{font-size:1rem;margin:.75rem 0 1rem}.game-over-buttons{flex-direction:column;gap:.5rem}.dismiss-button,.reset-button{padding:8px 16px;font-size:.85rem;min-height:44px;width:100%}}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background-color:#1a1a1a;color:#fff;padding:1.5rem;box-shadow:0 -2px 10px #0000004d;z-index:9999;font-size:.95rem}.cookie-consent-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:flex-start}.cookie-consent-text h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.cookie-consent-text p{margin:.5rem 0 1rem;line-height:1.5;color:#e0e0e0}.cookie-consent-links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem}.cookie-consent-links a{color:#4da6ff;text-decoration:none;transition:color .2s}.cookie-consent-links a:hover{color:#66b3ff;text-decoration:underline}.cookie-consent-links span{color:#666}.cookie-consent-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.cookie-btn-accept,.cookie-btn-reject{padding:.6rem 1.2rem;border:none;border-radius:.4rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.cookie-btn-accept{background-color:#4da6ff;color:#000}.cookie-btn-accept:hover{background-color:#66b3ff}.cookie-btn-reject{background-color:#444;color:#fff;border:1px solid #666}.cookie-btn-reject:hover{background-color:#555;border-color:#777}@media (max-width: 768px){.cookie-consent-banner{padding:1rem}.cookie-consent-content{grid-template-columns:1fr;gap:1rem}.cookie-consent-text{margin-bottom:.5rem}.cookie-consent-links{gap:.5rem}.cookie-consent-links span{display:none}.cookie-consent-actions{justify-content:stretch}.cookie-btn-accept,.cookie-btn-reject{flex:1;min-width:100px}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:#fff;border-radius:8px;padding:32px;width:90%;max-width:400px;box-shadow:0 4px 6px #0000001a;position:relative}.auth-modal h2{margin:0 0 24px;color:#2c3e50;font-size:24px;text-align:center}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{color:#333}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.auth-form input{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.auth-form input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.auth-form input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-submit{padding:12px;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.auth-submit:hover:not(:disabled){background:#2980b9}.auth-submit:disabled{background:#bdc3c7;cursor:not-allowed}.auth-error{background:#fee;color:#c00;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px;border:1px solid #fcc}.auth-success{background:#efe;color:#060;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px;border:1px solid #cfc}.auth-toggle{text-align:center;font-size:14px;color:#666}.auth-link{background:none;border:none;color:#3498db;cursor:pointer;text-decoration:underline;font-size:14px;padding:0}.auth-link:hover{color:#2980b9}.schedule-section{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);box-shadow:0 1px 2px #0000000d}.schedule-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.table-wrapper{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;font-size:.95rem}.schedule-table thead{background-color:var(--bg);border-bottom:2px solid var(--border)}.schedule-table th{padding:.75rem;text-align:right;font-weight:600;color:var(--text)}.schedule-table th:first-child{text-align:left}.schedule-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s ease}.schedule-table tbody tr:hover{background-color:var(--bg)}.schedule-table td{padding:.75rem;text-align:right;color:var(--text-secondary)}.schedule-table td:first-child{text-align:left;color:var(--text);font-weight:500}.schedule-table tbody tr:last-child{background-color:var(--bg);font-weight:600;border-bottom:2px solid var(--border)}.schedule-table tbody tr:last-child td{color:var(--text)}@media (max-width: 768px){.schedule-section{padding:1rem}.schedule-table{font-size:.85rem}.schedule-table th,.schedule-table td{padding:.5rem}}.editable-cell{padding:0!important}.contribution-input{width:100%;padding:.5rem;border:1px solid var(--primary);border-radius:.25rem;font-size:.95rem;font-weight:500;background-color:var(--bg)}.contribution-input:focus{outline:none;border-color:var(--primary-dark);box-shadow:0 0 0 2px #3b82f61a}.contribution-input::placeholder{color:var(--text-secondary)}.table-section{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);box-shadow:0 1px 2px #0000000d;margin-top:1.5rem}.table-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.table-section h4{font-size:1.1rem;margin-top:1.5rem;margin-bottom:1rem;color:var(--text)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-item{background-color:var(--bg);padding:1rem;border-radius:.5rem;border-left:4px solid var(--border);display:flex;flex-direction:column;justify-content:center}.summary-item.favorable{border-left-color:#10b981}.summary-item.unfavorable{border-left-color:#ef4444}.summary-item.neutral{border-left-color:var(--border)}.summary-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text)}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table thead{background-color:var(--bg);border-bottom:2px solid var(--border)}.data-table th{padding:.75rem;text-align:right;font-weight:600;color:var(--text)}.data-table th:first-child{text-align:left}.data-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s ease}.data-table tbody tr:hover{background-color:var(--bg)}.data-table tbody tr.favorable{background-color:#10b9810d}.data-table tbody tr.unfavorable{background-color:#ef44440d}.data-table tbody tr.neutral{background-color:transparent}.data-table td{padding:.75rem;text-align:right;color:var(--text-secondary)}.data-table td:first-child{text-align:left;color:var(--text);font-weight:500}.data-table tbody tr.favorable td,.data-table tbody tr.unfavorable td{color:var(--text)}.details-table{margin-top:1.5rem}.details-table h4{margin-top:0}.averages-section{margin-top:1.5rem}.insights{background-color:var(--bg);padding:1rem;border-radius:.5rem;margin-top:1rem}.insights h4{margin-top:0;margin-bottom:.75rem}.insight-item{color:var(--text-secondary)}.insight-item p{margin:.5rem 0}.insight-text{font-size:.9rem;line-height:1.5}.snapshot-section{margin-top:1.5rem;padding:1rem;background-color:var(--bg);border-radius:.5rem}.snapshot-section h3{margin-top:0}@media (max-width: 768px){.table-section{padding:1rem}.summary-grid{grid-template-columns:1fr}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:.5rem}.summary-value{font-size:1.25rem}}.app-container{display:flex;height:100vh;background-color:var(--bg)}.calculator-content{flex:1;overflow-y:auto;padding:2rem}@media (max-width: 768px){.app-container{flex-direction:column}.calculator-content{padding:1rem}}.legal-page{width:100%;min-height:100vh;background-color:var(--bg);padding:2rem 1rem}.legal-container{max-width:900px;margin:0 auto;background-color:var(--bg-secondary);padding:2rem;border-radius:.75rem;border:1px solid var(--border)}.legal-page h1{font-size:2rem;color:var(--primary);margin-bottom:.5rem;text-align:center}.last-updated{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.legal-page section{margin-bottom:2rem}.legal-page h2{font-size:1.3rem;color:var(--text);margin-top:1.5rem;margin-bottom:.75rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.legal-page h3{font-size:1.1rem;color:var(--text);margin-top:1rem;margin-bottom:.5rem}.legal-page p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.legal-page ul{margin-left:1.5rem;margin-bottom:1rem}.legal-page li{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.legal-page a{color:var(--primary);text-decoration:none;transition:opacity .2s ease}.legal-page a:hover{opacity:.8;text-decoration:underline}@media (max-width: 768px){.legal-container{padding:1.5rem}.legal-page h1{font-size:1.5rem}.legal-page h2{font-size:1.1rem}.legal-page h3{font-size:1rem}}:root{--primary: #3b82f6;--primary-dark: #1e40af;--secondary: #64748b;--success: #10b981;--danger: #ef4444;--bg: #f8fafc;--bg-secondary: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8}[data-theme=dark]{--primary: #60a5fa;--primary-dark: #3b82f6;--secondary: #94a3b8;--success: #34d399;--danger: #f87171;--bg: #0f172a;--bg-secondary: #1e293b;--border: #334155;--text: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text)}#root{height:100%}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}
