@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(50deg,#ffe,#764ba2);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh}.container{margin:auto;max-width:90vh;min-width:90vh}.hidden{display:none!important}.visible{display:block!important}.analyze-btn,.btn-primary,.btn-secondary{background:linear-gradient(185deg,#c9a7dd,#764ba2);border:none;border-radius:12px;box-shadow:0 8px 25px rgba(102,126,234,.3);color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;overflow:hidden;padding:18px;position:relative;transition:all .3s ease;width:100%}.analyze-btn:before,.btn-primary:before,.btn-secondary:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.analyze-btn:hover,.btn-primary:hover,.btn-secondary:hover{box-shadow:0 12px 35px rgba(102,126,234,.4);transform:translateY(-2px)}.analyze-btn:hover:before,.btn-primary:hover:before,.btn-secondary:hover:before{left:100%}.analyze-btn:active,.btn-primary:active,.btn-secondary:active{transform:translateY(0)}.btn-secondary{background:#c2c5c9!important;margin-right:auto!important}.btn-secondary:before{content:none}.analyze-btn{display:none;margin:10px auto 0}.action-btn{background:linear-gradient(185deg,#c9a7dd,#764ba2);border:none;border-radius:12px;border-radius:8px;box-shadow:0 8px 20px rgba(102,126,234,.3);color:#fff;cursor:pointer;font-size:1.1rem;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.action-btn:hover{box-shadow:0 12px 30px rgba(102,126,234,.4);transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.remove-file-btn{background:#f1acac;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 8px}.remove-file-btn:hover{background:#f8d8d8}.remove-all-btn{background:#666;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px;transition:all .3s ease}.remove-all-btn:hover{background:grey}.chat-input-area button{margin-top:0!important;width:auto!important}.action-buttons{display:flex;gap:1rem;justify-content:space-between}.action-buttons .analyze-btn,.action-buttons .btn-primary,.action-buttons .btn-secondary{width:auto!important}.no-decoration{text-decoration:none}.contact-link{color:#764ba2;font-size:.9rem}.contact-link:hover{text-decoration:underline}#file-input{display:none}.upload-zone{background:linear-gradient(135deg,#f8faff,#eef2ff);border:3px dashed #667eea;border-radius:16px;cursor:pointer;margin:16px 0;overflow:hidden;padding:50px 20px;position:relative;text-align:center;transition:all .3s ease}.upload-zone:hover{background:linear-gradient(135deg,#f0f4ff,#e6edff);border-color:#764ba2;transform:scale(1.02)}.upload-zone.dragover{background:linear-gradient(135deg,#f0fff4,#e8f5e8);border-color:#4caf50}.upload-text{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:10px}.upload-subtext{color:#666;font-size:.95rem}.char-counter{color:#666;font-size:.85rem;margin-top:5px;text-align:right}.chat-input-area{background:#fff;display:flex;padding:15px}.chat-input-area input{border:2px solid #e0e0e0;border-radius:8px;flex:1;font-family:inherit;font-size:.95rem;margin-right:10px;padding:12px;transition:border-color .3s ease;width:100%}.chat-input-area input:focus{border-color:#764ba2;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.patient-form{margin:2rem 0}.form-row{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:14px;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#764ba2;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-group input[type=checkbox]{margin:0;width:auto}.form-group textarea{font-family:inherit;min-height:450px;resize:vertical}.form-group input:focus,.form-group select:focus{border-color:#764ba2;box-shadow:0 0 0 3px rgba(139,92,246,.1);outline:none}.form-group small{color:#6b7280;font-size:12px;margin-top:.25rem}.form-section{padding-bottom:1.5rem}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h4{color:#374151;font-size:16px;margin-bottom:1rem}.age-display{color:#059669!important;font-size:14px!important;font-weight:600!important}.modern-select select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer;transition:all .3s ease;width:100%}#contactForm .form-group{margin-bottom:25px}#contactForm .form-group textarea{min-height:350px}.custom-organ-input{background:transparent;border:none;color:inherit;font-size:inherit;outline:none;width:100%}.custom-organ-input:focus{background:hsla(0,0%,100%,.1);border-radius:3px;padding:2px 4px}.option-item.available .custom-organ-input{color:#666}.option-item.available .custom-organ-input:focus{color:#000}.checkbox-group{align-items:flex-start;display:flex;flex-direction:row;gap:8px}.checkbox-group input[type=checkbox]{flex-shrink:0;margin-top:2px}.checkbox-group label{line-height:1.4;margin:0}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:rgba(0,0,0,.7);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.modal-overlay.is-open{display:flex}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.export-modal .analysis-text{line-height:1.6;white-space:pre-wrap}.export-modal .analysis-text h3{color:#333;margin-bottom:.5rem;margin-top:1.5rem}.export-modal .analysis-text strong{font-weight:700}.export-modal .analysis-text p{margin-bottom:1rem}.terms-modal .modal-body{overflow-y:auto}.terms-modal .terms-content h4{color:#333;font-size:1.2em;margin-bottom:20px;text-align:center}.terms-modal .terms-content h5{color:#555;font-size:1em;margin:15px 0 10px}.terms-modal .terms-content li,.terms-modal .terms-content p{line-height:1.5}.terms-modal .terms-content ul{padding-left:20px}.terms-modal .terms-content ul li{margin-bottom:5px}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-close:not(.btn-secondary):not(.btn-primary){background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end}.modal-footer .btn-primary,.modal-footer .btn-secondary{margin:0;min-width:120px;width:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.modal-content{margin:1rem;width:95%}}.auth-page{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.auth-page:before{animation:float 80s ease-in-out infinite;background:radial-gradient(circle,hsla(0,0%,100%,.1) 2px,transparent 0);background-size:50px 50px;content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:1}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}.login-container{max-width:550px;padding:20px;position:relative;width:100%;z-index:2}.login-card{animation:cardEnter .6s ease;backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:24px;box-shadow:0 20px 40px rgba(0,0,0,.1);overflow:hidden;padding:40px;position:relative;transition:all .3s ease}.login-card:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes cardEnter{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.logo-section{margin-bottom:40px;text-align:center}.logo-section .logo{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:10px;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.logo-section .logo-subtitle{color:#666;font-size:1rem;font-weight:400;opacity:.8}.welcome-text{margin-bottom:35px;text-align:center}.welcome-text h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:8px}.welcome-text p{color:#666;font-size:.95rem}.alert-error{animation:slideIn .3s ease;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:12px;box-shadow:0 4px 15px rgba(238,90,36,.3);color:#fff;font-size:.85rem;margin-bottom:25px;padding:15px 20px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer-info{border-top:1px solid #eee;margin-top:30px;padding-top:25px;text-align:center}.footer-info p{color:#666;font-size:.85rem;line-height:1.5}.security-badge{align-items:center;background:rgba(76,175,80,.1);border-radius:20px;color:#4caf50;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;margin-top:15px;padding:6px 12px}.registration-form .form-group{margin-bottom:6px}.registration-form .form-group input{padding:10px 20px}.registration-form .form-row{display:flex;gap:1rem;margin-bottom:15px}.registration-form .form-row .form-group{flex:1;margin-bottom:0}.registration-form .form-row .form-group.postal-code{flex:1}.registration-form .form-row .form-group.city{flex:2}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{flex:1;padding-right:40px}.password-toggle{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;opacity:0;padding:4px;pointer-events:none;position:absolute;right:8px;transition:all .2s}.password-input-wrapper.has-content .password-toggle{opacity:1;pointer-events:auto}.password-toggle:hover{color:#4b5563}.login-container:has(.registration-form){max-width:650px}@media(max-height:900px){.login-container{min-height:100vh;padding:1rem 2rem}.login-card{margin:1rem 0;max-height:90vh;overflow-y:auto;padding:1.5rem 2.5rem}.logo-section{margin-bottom:1rem}.logo-section .logo{font-size:1.8rem}.welcome-text{margin-bottom:1.5rem}.welcome-text h2{font-size:1.2rem;margin-bottom:.5rem}.form-row{margin-bottom:8px}.footer-info{margin-top:1rem;padding-top:1rem}}.language-selector{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;gap:4px;padding:4px;position:absolute;right:20px;top:20px;z-index:1000}.language-selector .lang-option{border-radius:8px;color:#9ca3af;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .3s ease}.language-selector .lang-option:hover{background:#f3f4f6;color:#667eea}.language-selector .lang-option.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px rgba(102,126,234,.3);color:#fff}.flash-stack{display:flex;flex-direction:column;gap:10px;max-width:min(420px,100vw - 32px);position:fixed;right:16px;top:16px;z-index:9999}.flash{align-items:start;animation:flash-in .18s ease-out forwards;backdrop-filter:blur(8px);background:rgba(20,20,24,.92);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);color:#fff;display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px 12px 12px 14px;transform:translateY(-4px)}.flash__content{font-size:14px;line-height:1.35}.flash__close{appearance:none;background:transparent;border:0;color:hsla(0,0%,100%,.85);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.flash__close:hover{color:#fff}@keyframes flash-in{to{transform:translateY(0)}}.flash-success{border-left:4px solid #22c55e}.flash-error{border-left:4px solid #ef4444}.flash-warning{border-left:4px solid #f59e0b}.flash-info{border-left:4px solid #3b82f6}.flash-danger{border-left:4px solid #ef4444}@media screen and (max-height:600px),screen and (max-width:912px){body>:not(.mobile-warning){display:none!important}.mobile-warning{background:linear-gradient(50deg,#ffe,#764ba2);display:block!important;font-family:Arial,sans-serif;min-height:100vh;padding:20px;text-align:center}}.mobile-warning{display:none}.form-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;font-size:.875rem;margin-top:5px;padding:8px 12px}