body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield;-webkit-appearance:textfield;-moz-appearance:textfield}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;padding:0}.app-container{max-width:100vw;overflow-x:hidden;width:100%}.table-wrapper{-webkit-overflow-scrolling:touch;margin:16px 0;overflow-x:auto;width:100%}table{border-collapse:collapse;min-width:600px;width:100%}@media screen and (max-width:640px){body{font-size:14px}h1{font-size:24px!important}h2{font-size:20px!important}h3{font-size:18px!important}input[type=date],input[type=number],input[type=text],select{font-size:16px!important;padding:12px 16px!important}button{font-size:14px!important;padding:12px 16px!important}button,table{white-space:nowrap}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}tbody,thead,tr{display:table;table-layout:fixed;width:100%}td,th{font-size:12px!important;padding:8px 4px!important}form>div{flex-direction:column!important;width:100%!important}}@media screen and (min-width:641px) and (max-width:1024px){.container{padding:16px}.grid-2-col{grid-template-columns:1fr!important}td,th{font-size:14px!important;padding:10px 8px!important}}@media screen and (max-width:375px){body{font-size:12px}h1{font-size:20px!important}h2{font-size:18px!important}h3{font-size:16px!important}button{font-size:12px!important;padding:10px 12px!important}input[type=date],input[type=number],input[type=text],select{font-size:14px!important;padding:10px 12px!important}td,th{font-size:11px!important;padding:6px 2px!important}}.hide-on-mobile{display:block}.show-on-mobile{display:none}@media screen and (max-width:640px){.hide-on-mobile{display:none}.show-on-mobile{display:block}}.flex-wrap-mobile{display:flex;flex-wrap:wrap;gap:12px}@media screen and (max-width:640px){.flex-wrap-mobile{flex-direction:column}.flex-wrap-mobile>*{width:100%!important}}.main-grid{display:grid}@media screen and (max-width:1024px){.main-grid{gap:24px!important;grid-template-columns:1fr!important}.main-grid>div:first-child{position:relative!important;top:0!important}}@media screen and (max-width:640px){div[style*=borderRadius]{border-radius:12px!important}button{min-width:fit-content;overflow:hidden;text-overflow:ellipsis}select{max-width:100%}button,input,select{min-height:44px}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.auth-title{color:#333;font-size:2.5rem;font-weight:700;margin:0 0 10px}.auth-subtitle{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 8px}.auth-description{color:#666;font-size:1rem;margin:0 0 30px}.auth-form{text-align:left}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:6px}.form-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#999}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;margin-bottom:20px;padding:12px 16px;text-align:center}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:20px;padding:14px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.auth-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-switch{border-top:1px solid #eee;padding-top:20px;text-align:center}.auth-switch p{color:#666;font-size:.95rem;margin:0}.switch-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;font-weight:600;margin-left:5px;text-decoration:underline;transition:color .2s ease}.switch-button:hover{color:#764ba2}@media (max-width:480px){.auth-container{padding:10px}.auth-card{padding:30px 20px}.auth-title{font-size:2rem}.auth-subtitle{font-size:1.5rem}}.google-auth-button{align-items:center;background-color:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;margin-top:20px;padding:12px 24px;text-decoration:none;transition:background-color .3s;width:100%}.google-auth-button:hover{background-color:#357ae8}.google-auth-button span{font-family:Roboto,sans-serif}.auth-legal-notice{border-top:1px solid #eee;margin-top:30px;padding-top:20px;text-align:center}.age-restriction{color:#e74c3c;font-size:.9rem;font-weight:600;margin:0 0 10px}.legal-links{color:#666;font-size:.85rem;margin:0}.auth-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;margin-bottom:20px;padding:12px 16px;text-align:center}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-in;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.modal-content{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:500px;overflow:auto;padding:0;width:90%}.modal-header{border-bottom:1px solid #e5e5e5;padding:20px;position:relative}.modal-header,.modal-icon{align-items:center;display:flex}.modal-icon{border-radius:50%;font-size:24px;font-weight:700;height:40px;justify-content:center;margin-right:15px;width:40px}.modal-info .modal-icon{background:#e3f2fd;color:#1976d2}.modal-success .modal-icon{background:#e8f5e9;color:#4caf50}.modal-error .modal-icon{background:#ffebee;color:#f44336}.modal-confirm .modal-icon{background:#fff3e0;color:#ff9800}.modal-title{color:#333;flex:1 1;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:32px}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{color:#666;line-height:1.6;padding:20px}.modal-body p{font-size:16px;margin:0}.modal-footer{border-top:1px solid #e5e5e5;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s}.modal-btn-primary{background:#1976d2;color:#fff}.modal-btn-primary:hover{background:#1565c0}.modal-btn-confirm{background:#4caf50;color:#fff}.modal-btn-confirm:hover{background:#45a049}.modal-btn-cancel{background:#f5f5f5;color:#666}.modal-btn-cancel:hover{background:#e0e0e0}@media (max-width:768px){.modal-content{margin:10px;width:95%}.modal-body,.modal-header{padding:15px}.modal-footer{padding:12px 15px}}.cookie-consent-banner{animation:slideUp .3s ease-out;background-color:#2c3e50;bottom:0;box-shadow:0 -2px 10px #0003;color:#fff;left:0;padding:20px;position:fixed;right:0;z-index:9999}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-consent-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}.cookie-consent-text{flex:1 1;min-width:300px}.cookie-consent-text h3{font-size:1.2em;margin:0 0 10px}.cookie-consent-text p{font-size:.95em;line-height:1.5;margin:5px 0}.cookie-consent-details{font-size:.85em!important;opacity:.9}.cookie-consent-details a{color:#3498db;text-decoration:underline}.cookie-consent-details a:hover{color:#5dade2}.cookie-consent-buttons{align-items:center;display:flex;gap:10px}.cookie-accept-btn,.cookie-reject-btn{border:none;border-radius:5px;cursor:pointer;font-size:1em;font-weight:700;padding:12px 30px;transition:all .3s ease;white-space:nowrap}.cookie-accept-btn{background-color:#27ae60;color:#fff}.cookie-accept-btn:hover{background-color:#2ecc71;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.cookie-reject-btn{background-color:initial;border:2px solid #fff;color:#fff}.cookie-reject-btn:hover{background-color:#ffffff1a}.cookie-reject-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.cookie-reject-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:30px;width:90%}.cookie-reject-icon{font-size:3em;margin-bottom:15px;text-align:center}.cookie-reject-modal h2{color:#2c3e50;margin:0 0 15px;text-align:center}.cookie-reject-modal p{color:#34495e;line-height:1.6;margin:10px 0}.cookie-warning-list{color:#e74c3c;margin:15px 0;padding-left:25px}.cookie-warning-list li{margin:8px 0}.cookie-reject-buttons{display:flex;gap:10px;margin-top:20px}.btn-cancel-reject,.btn-confirm-reject{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1em;font-weight:600;padding:12px 20px;transition:all .3s ease}.btn-confirm-reject{background:#e74c3c;color:#fff}.btn-confirm-reject:hover{background:#c0392b;box-shadow:0 4px 8px #e74c3c4d;transform:translateY(-2px)}.btn-cancel-reject{background:#ecf0f1;color:#2c3e50}.btn-cancel-reject:hover{background:#bdc3c7}@media (max-width:768px){.cookie-consent-content{flex-direction:column;text-align:center}.cookie-consent-buttons{justify-content:center;width:100%}.cookie-accept-btn,.cookie-reject-btn{flex:1 1}.cookie-reject-modal{padding:20px}.cookie-reject-buttons{flex-direction:column}}.app-footer{background-color:#2c3e50;border-top:3px solid #3498db;color:#ecf0f1;margin-top:60px;padding:30px 20px}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px}.footer-links a{color:#3498db;font-size:.95rem;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#5dade2;text-decoration:underline}.footer-separator{color:#7f8c8d;margin:0 5px}.footer-copyright{color:#95a5a6;font-size:.9rem;margin-bottom:10px}.footer-notice{color:#e74c3c;font-size:.85rem;font-weight:600;margin-top:10px}@media (max-width:768px){.app-footer{margin-top:40px;padding:20px 15px}.footer-links{flex-direction:column;gap:8px}.footer-separator{display:none}.footer-copyright,.footer-notice{font-size:.8rem}}.account-settings-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.account-settings-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.account-settings-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #ecf0f1;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.account-settings-header h2{font-size:1.5rem;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:background-color .3s;width:40px}.close-btn:hover{background-color:#fff3}.account-settings-content{padding:30px}.settings-section{border-bottom:1px solid #ecf0f1;margin-bottom:30px;padding-bottom:30px}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h3{color:#2c3e50;font-size:1.2rem;margin:0 0 15px}.section-description{color:#7f8c8d;font-size:.9rem;margin-bottom:20px}.user-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:15px}.user-info p{color:#2c3e50;margin:8px 0}.user-info strong{color:#667eea}.username-field{margin-top:10px}.btn-edit-username{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-left:10px;padding:5px 12px;transition:all .2s}.btn-edit-username:hover{background:#764ba2;transform:translateY(-1px)}.username-edit-box{background:#fff;border:2px solid #667eea;border-radius:6px;margin-top:10px;padding:15px}.username-edit-box label{color:#667eea;display:block;margin-bottom:8px}.username-input{border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:10px;transition:border-color .3s;width:100%}.username-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.username-input:disabled{background:#f5f5f5;cursor:not-allowed}.username-error{color:#e74c3c;font-size:.85rem;margin:8px 0 0}.username-buttons{display:flex;gap:10px;margin-top:12px}.btn-cancel-username,.btn-save-username{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:10px 16px;transition:all .3s ease}.btn-save-username{background:#27ae60;color:#fff}.btn-save-username:hover:not(:disabled){background:#2ecc71;box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.btn-save-username:disabled{cursor:not-allowed;opacity:.6}.btn-cancel-username{background:#95a5a6;color:#fff}.btn-cancel-username:hover:not(:disabled){background:#7f8c8d;transform:translateY(-2px)}.setting-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:20px;justify-content:space-between;margin-bottom:15px;padding:15px}.setting-item.danger-zone{background:#fff5f5;border:2px solid #fee}.setting-info{flex:1 1}.setting-info h4{color:#2c3e50;font-size:1rem;margin:0 0 5px}.setting-info p{color:#7f8c8d;font-size:.85rem;margin:0}.btn-delete,.btn-export{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.btn-export{background:#27ae60;color:#fff}.btn-export:hover:not(:disabled){background:#2ecc71;box-shadow:0 4px 12px #27ae604d;transform:translateY(-2px)}.btn-export:disabled{cursor:not-allowed;opacity:.6}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b;box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-2px)}.delete-confirm-box{background:#fff;border:2px solid #e74c3c;border-radius:8px;margin-top:15px;padding:20px}.delete-confirm-box h4{color:#e74c3c;margin:0 0 10px}.delete-confirm-box p{color:#2c3e50;font-size:.9rem;margin:5px 0}.delete-confirm-input{border:2px solid #e74c3c;border-radius:6px;font-size:1rem;font-weight:600;margin:15px 0;padding:10px;width:100%}.delete-confirm-input:focus{border-color:#c0392b;box-shadow:0 0 0 3px #e74c3c1a;outline:none}.delete-confirm-error{background:#fee;border-left:4px solid #e74c3c;border-radius:6px;color:#e74c3c;font-size:.9rem;font-weight:600;margin:10px 0;padding:8px 12px}.delete-confirm-buttons{display:flex;gap:10px;margin-top:15px}.btn-cancel-delete,.btn-confirm-delete{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:12px 20px;transition:all .3s ease}.btn-confirm-delete{background:#e74c3c;color:#fff}.btn-confirm-delete:hover:not(:disabled){background:#c0392b}.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.5}.btn-cancel-delete{background:#95a5a6;color:#fff}.btn-cancel-delete:hover{background:#7f8c8d}.legal-links{display:flex;flex-direction:column;gap:10px}.legal-links a{color:#667eea;font-weight:500;text-decoration:none;transition:color .3s}.legal-links a:hover{color:#764ba2;text-decoration:underline}@media (max-width:768px){.account-settings-modal{border-radius:0;max-height:100vh;max-width:100%}.account-settings-header{border-radius:0;padding:15px 20px}.account-settings-content{padding:20px}.setting-item{align-items:flex-start;flex-direction:column}.btn-delete,.btn-export{width:100%}}.success-modal-overlay{align-items:center;animation:fadeIn .3s ease-in;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:20000}.success-modal{animation:slideIn .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;text-align:center}.success-icon{align-items:center;animation:scaleIn .5s ease-out .2s backwards;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;color:#fff;display:flex;font-size:48px;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.success-modal h2{color:#2c3e50;font-size:1.5rem;margin:0 0 15px}.success-modal p{color:#7f8c8d;font-size:1rem;margin:10px 0}.redirect-text{animation:pulse 1.5s ease-in-out infinite;color:#667eea;font-weight:600;margin-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-modal{border-top:4px solid #e74c3c}.error-icon{background:linear-gradient(135deg,#e74c3c,#c0392b);font-size:56px;font-weight:700}.btn-close-error{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:20px;padding:12px 30px;transition:transform .2s,box-shadow .2s}.btn-close-error:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-close-error:active{transform:translateY(0)}.legal-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:20px}.legal-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:900px;overflow:hidden}.legal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;position:relative;text-align:center}.legal-header h1{font-size:2.5em;font-weight:700;margin:0 0 10px}.last-updated{font-size:.95em;margin:10px 0 0;opacity:.9}.back-link{border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-size:1em;left:20px;padding:8px 16px;position:absolute;text-decoration:none;top:20px;transition:all .2s}.back-link:hover{background:#fff3;border-color:#fff}.legal-content{color:#333;line-height:1.7;padding:40px}.legal-content section{margin-bottom:40px}.legal-content h2{border-bottom:2px solid #667eea;color:#667eea;font-size:1.8em;margin:30px 0 20px;padding-bottom:10px}.legal-content h3{color:#764ba2;font-size:1.4em;margin:25px 0 15px}.legal-content h4{color:#555;font-size:1.1em;margin:20px 0 10px}.legal-content p{color:#555;margin:15px 0}.legal-content ul{margin:15px 0;padding-left:25px}.legal-content li{color:#555;margin:10px 0}.legal-content a{border-bottom:1px solid #0000;color:#667eea;text-decoration:none;transition:border-color .2s}.legal-content a:hover{border-bottom-color:#667eea}.legal-content code{background:#f4f4f4;border-radius:4px;color:#e83e8c;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.highlight{background:#fff9e6;border-left:4px solid #ffc107;padding:15px}.highlight,.info-box{border-radius:4px;margin:20px 0}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;padding:20px}.info-box h4{color:#1976d2;margin-top:0}.warning-box{background:#fff3e0;border-left:4px solid #ff9800;border-radius:4px;margin:20px 0;padding:20px}.warning-box p:first-child{color:#e65100;font-weight:600}.contact-box{background:#f5f5f5;border-radius:8px;margin:20px 0;padding:20px}.contact-box p{margin:10px 0}.legal-table{border-collapse:collapse;box-shadow:0 2px 8px #0000000d;margin:20px 0;width:100%}.legal-table th{background:#667eea;color:#fff;font-weight:600;padding:12px;text-align:left}.legal-table td{border-bottom:1px solid #e0e0e0;padding:12px}.legal-table tr:last-child td{border-bottom:none}.legal-table tr:hover{background:#f9f9f9}.license-text{background:#f8f9fa;border-left:4px solid #667eea;color:#2c3e50;font-family:Courier New,monospace;line-height:1.8;margin:15px 0;padding:15px 20px}.license-disclaimer{background:#fff3cd;border-left:4px solid #ffc107;font-weight:600}.github-link{background:#667eea;border-radius:6px;color:#fff;display:inline-block;font-weight:600;margin:10px 0;padding:12px 24px;text-decoration:none;transition:all .3s}.github-link:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.acknowledgment{background:#f8f9fa;border:2px solid #667eea;border-radius:8px;color:#2c3e50;margin-top:40px;padding:30px}.acknowledgment h2{border-bottom-color:#667eea;color:#667eea}.acknowledgment p{color:#2c3e50}.signature{color:#764ba2;font-style:italic;font-weight:600;margin-top:20px;text-align:right}@media (max-width:768px){.legal-page{padding:10px}.legal-header{padding:30px 20px}.legal-header h1{font-size:1.8em}.back-link{display:inline-block;margin-bottom:20px;position:static}.legal-content{padding:20px}.legal-content h2{font-size:1.5em}.legal-content h3{font-size:1.2em}.legal-table{font-size:.9em}.legal-table td,.legal-table th{padding:8px}}
/*# sourceMappingURL=main.0ee011f8.css.map*/