.cookie-consent-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.cookie-consent-banner{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.cookie-consent-content{padding:30px}.cookie-consent-content h3{margin:0 0 15px;font-size:24px;color:#333}.cookie-consent-content p{margin:0 0 25px;color:#666;line-height:1.5}.cookie-preferences{margin:20px 0}.cookie-category{margin:15px 0;padding:15px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9}.cookie-category label{display:block;cursor:pointer}.cookie-category input[type=checkbox]{margin-right:10px;transform:scale(1.2)}.cookie-category input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.cookie-description{display:block;font-size:14px;color:#777;margin-top:5px;margin-left:25px}.cookie-consent-actions{display:flex;gap:10px;margin:25px 0 20px;flex-wrap:wrap}.cookie-consent-actions button{padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-cancel{background-color:#dc3545;color:#fff;border:2px solid #dc3545}.btn-cancel:hover{background-color:#c82333;border-color:#bd2130}.cookie-policy-links{border-top:1px solid #e0e0e0;padding-top:15px;display:flex;gap:20px}.cookie-policy-links a{color:#007bff;text-decoration:none;font-size:14px}.cookie-policy-links a:hover{text-decoration:underline}@media (max-width: 600px){.cookie-consent-overlay{padding:10px}.cookie-consent-content{padding:20px}.cookie-consent-actions{flex-direction:column}.cookie-consent-actions button{width:100%}.cookie-policy-links{flex-direction:column;gap:10px}}.error-boundary{padding:30px;margin:20px 0;background:#fff5f5;border:2px solid #feb2b2;border-radius:8px;text-align:center}.error-boundary-content{max-width:600px;margin:0 auto}.error-icon{font-size:3rem;margin-bottom:15px;display:block}.error-boundary h2{color:#c53030;margin-bottom:15px;font-size:1.5rem}.error-message{color:#2d3748;margin-bottom:20px;font-size:1.1rem;line-height:1.5}.error-details{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;margin:20px 0;text-align:left}.error-details summary{padding:12px;cursor:pointer;font-weight:500;color:#4a5568}.error-details summary:hover{background:#edf2f7}.error-stack{padding:12px;margin:0;background:#f1f5f9;font-family:Courier New,monospace;font-size:.85rem;color:#1a202c;white-space:pre-wrap;overflow-x:auto;border-top:1px solid #e2e8f0}.error-actions{display:flex;gap:12px;justify-content:center;margin:25px 0;flex-wrap:wrap}.error-actions button{padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-retry{background:#4299e1;color:#fff}.btn-retry:hover{background:#3182ce}.btn-retry:disabled{background:#a0aec0;cursor:not-allowed}.btn-reload{background:#ed8936;color:#fff}.btn-reload:hover{background:#dd6b20}.btn-report{background:#38a169;color:#fff}.btn-report:hover{background:#2f855a}.error-context{background:#f7fafc;border-radius:6px;padding:20px;margin-top:25px;text-align:left;border-left:4px solid #4299e1}.error-context p{margin-bottom:12px;color:#2d3748;line-height:1.6}.error-context strong{color:#1a202c}.error-context ul{margin:12px 0;padding-left:20px;color:#4a5568}.error-context li{margin-bottom:6px;line-height:1.5}.modal-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;padding:20px;text-align:center;color:#c53030}.modal-error button{background:#4299e1;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-left:10px}.modal-error button:hover{background:#3182ce}@media (max-width: 768px){.error-boundary{padding:20px;margin:10px}.error-actions{flex-direction:column;align-items:stretch}.error-actions button{min-width:auto}.error-context{padding:15px}.error-stack{font-size:.8rem}}@media (prefers-contrast: high){.error-boundary{border-width:3px}.error-boundary h2{font-weight:700}}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#fafafa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.App{min-height:100vh;background:linear-gradient(135deg,#fafafa,#f0f0f0)}
