@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--bg-body:linear-gradient(160deg,#ede9fe,#e0e7ff 30%,#f0e6ff 60%,#ddd6fe);--bg-surface:hsla(0,0%,100%,.75);--bg-surface-solid:#fff;--bg-surface-hover:hsla(0,0%,100%,.85);--bg-muted:#f9fafb;--content-bg:#f8faff;--card-bg:hsla(0,0%,100%,.75);--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--border-color:#e5e7eb;--border-subtle:#f3f4f6;--glass-bg:hsla(0,0%,100%,.7);--glass-bg-strong:hsla(0,0%,100%,.85);--glass-border-color:hsla(0,0%,100%,.45);--glass-shadow:0 8px 32px rgba(0,0,0,.08);--glass-shadow-hover:0 16px 48px rgba(0,0,0,.12);--glass-inset:inset 0 1px 0 hsla(0,0%,100%,.6);--input-bg:hsla(0,0%,100%,.8);--input-bg-focus:#fff;--input-border:#e5e7eb;--shadow-sm:0 4px 12px rgba(0,0,0,.06);--shadow-md:0 8px 24px rgba(0,0,0,.08);--shadow-lg:0 16px 48px rgba(0,0,0,.1);--orb-opacity:0.5;--selection-bg:rgba(102,126,234,.2);--toggle-bg:#fff;--toggle-bg-hover:#f3f4f6;--toggle-color:#6b7280;--upload-bg:linear-gradient(135deg,rgba(102,126,234,.03),rgba(118,75,162,.03));--upload-bg-hover:linear-gradient(135deg,rgba(102,126,234,.06),rgba(118,75,162,.06));--success-bg:#dcfce7;--error-bg:#fef2f2;--warning-bg:#fefce8;--info-bg:#eff6ff;--overlay-subtle:rgba(0,0,0,.015);--overlay-light:rgba(0,0,0,.02);--overlay-medium:rgba(0,0,0,.06);--overlay-strong:rgba(0,0,0,.08);--overlay-text:rgba(0,0,0,.35);--overlay-text-light:rgba(0,0,0,.1);--btn-secondary-bg:#d1d5db;--btn-secondary-bg-hover:#9ca3af;--footer-bg:rgba(17,24,39,.9);--footer-border:hsla(0,0%,100%,.08);--breadcrumb-bg:hsla(0,0%,100%,.4)}html.dark{color-scheme:dark;--bg-body:linear-gradient(160deg,#1a1625,#1e1b2e 30%,#211d35 60%,#1a1830);--bg-surface:rgba(30,27,46,.75);--bg-surface-solid:#1e1b2e;--bg-surface-hover:rgba(40,35,58,.85);--bg-muted:#16131f;--content-bg:#141220;--card-bg:rgba(30,27,46,.75);--text-primary:#e8e4f0;--text-secondary:#a09bb0;--text-muted:#706a80;--border-color:hsla(0,0%,100%,.1);--border-subtle:hsla(0,0%,100%,.05);--glass-bg:rgba(30,27,46,.7);--glass-bg-strong:rgba(33,29,53,.85);--glass-border-color:hsla(0,0%,100%,.08);--glass-shadow:0 8px 32px rgba(0,0,0,.3);--glass-shadow-hover:0 16px 48px rgba(0,0,0,.4);--glass-inset:inset 0 1px 0 hsla(0,0%,100%,.05);--input-bg:rgba(20,18,32,.6);--input-bg-focus:#1e1b2e;--input-border:hsla(0,0%,100%,.12);--shadow-sm:0 4px 12px rgba(0,0,0,.2);--shadow-md:0 8px 24px rgba(0,0,0,.3);--shadow-lg:0 16px 48px rgba(0,0,0,.4);--orb-opacity:0.25;--selection-bg:rgba(102,126,234,.35);--toggle-bg:#1e1b2e;--toggle-bg-hover:#28243d;--toggle-color:#a09bb0;--upload-bg:linear-gradient(135deg,rgba(102,126,234,.06),rgba(118,75,162,.06));--upload-bg-hover:linear-gradient(135deg,rgba(102,126,234,.12),rgba(118,75,162,.12));--success-bg:rgba(34,197,94,.15);--error-bg:rgba(239,68,68,.15);--warning-bg:rgba(245,158,11,.15);--info-bg:rgba(59,130,246,.15);--overlay-subtle:hsla(0,0%,100%,.015);--overlay-light:hsla(0,0%,100%,.03);--overlay-medium:hsla(0,0%,100%,.06);--overlay-strong:hsla(0,0%,100%,.08);--overlay-text:hsla(0,0%,100%,.35);--overlay-text-light:hsla(0,0%,100%,.1);--btn-secondary-bg:hsla(0,0%,100%,.1);--btn-secondary-bg-hover:hsla(0,0%,100%,.18);--footer-bg:rgba(10,8,18,.95);--footer-border:hsla(0,0%,100%,.06);--breadcrumb-bg:hsla(0,0%,100%,.06)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;transition:background .4s ease,color .3s ease}.container{margin:0 auto;max-width:80rem;padding:0 1.5rem;width:100%}@media(max-width:768px){.container{padding:0 1rem}}.hidden{display:none!important}.visible{display:block!important}html{scroll-behavior:smooth}::selection{background:var(--selection-bg);color:var(--text-primary)}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.h1,h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.h1,.h2,h1,h2{color:var(--text-primary)}.h2,h2{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.h3,h3{font-size:1.25rem}.h3,.h4,h3,h4{color:var(--text-primary);font-weight:600;line-height:1.4}.h4,h4{font-size:1.125rem}.h5,h5{color:var(--text-primary);font-size:1rem}.h5,.h6,h5,h6{font-weight:600;line-height:1.5}.h6,h6{color:var(--text-secondary);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}body{color:var(--text-primary);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.text-sm,small{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}a{color:#667eea;text-decoration:none;transition:all .15s ease}a:hover{color:#4f68d8}@media(max-width:768px){.h1,h1{font-size:1.625rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.125rem}}.analyze-btn,.btn-primary,.btn-secondary{background:linear-gradient(185deg,rgba(201,167,221,.9),#764ba2);border:none;border-radius:8px;box-shadow:0 8px 24px rgba(102,126,234,.25);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;overflow:hidden;padding:1.125rem;position:relative;transition:all .25s 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 32px rgba(102,126,234,.35);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)}.analyze-btn:disabled,.btn-primary:disabled,.btn-secondary:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.analyze-btn:disabled:hover,.btn-primary:disabled:hover,.btn-secondary:disabled:hover{box-shadow:none;transform:none}.analyze-btn:disabled:hover:before,.btn-primary:disabled:hover:before,.btn-secondary:disabled:hover:before{left:-100%}.btn-secondary{background:var(--btn-secondary-bg)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-primary)!important;margin-right:auto!important}.btn-secondary:before{content:none}.btn-secondary:hover{background:var(--btn-secondary-bg-hover)!important;box-shadow:var(--shadow-md)!important}.analyze-btn{display:none;margin:.5rem auto 0}.action-btn{background:linear-gradient(185deg,rgba(201,167,221,.9),#764ba2);border:none;border-radius:8px;box-shadow:0 8px 24px rgba(102,126,234,.25);color:#fff;cursor:pointer;font-size:1.125rem;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .25s ease}.action-btn:hover{box-shadow:0 12px 32px rgba(102,126,234,.35);transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.remove-file-btn{background:rgba(239,68,68,.15);border:none;border-radius:4px;color:#b91c1c;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .15s ease}.remove-file-btn:hover{background:rgba(239,68,68,.25)}.remove-all-btn{background:var(--border-color);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .25s ease}.remove-all-btn:hover{background:var(--bg-surface-hover);background:#858c99}.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}@media(max-width:768px){.action-buttons{flex-direction:column}.action-buttons .analyze-btn,.action-buttons .btn-primary,.action-buttons .btn-secondary{width:100%!important}}.no-decoration{text-decoration:none}.contact-link{color:#764ba2;font-size:.9rem}.contact-link:hover{text-decoration:underline}@media(max-width:768px){.analyze-btn,.btn-primary,.btn-secondary{padding:.75rem 1.25rem}}#file-input{display:none}.upload-zone{backdrop-filter:blur(16px);background:linear-gradient(135deg,rgba(102,126,234,.03),rgba(118,75,162,.03));border:2px dashed rgba(102,126,234,.3);border-radius:16px;cursor:pointer;margin:1rem 0;overflow:hidden;padding:3rem 1.25rem;position:relative;text-align:center;transition:all .25s ease}.upload-zone:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:50%}.upload-zone:hover{background:linear-gradient(135deg,rgba(102,126,234,.06),rgba(118,75,162,.06));border-color:#667eea;box-shadow:0 8px 30px rgba(102,126,234,.12);transform:translateY(-2px)}.upload-zone:hover:before{left:150%}.upload-zone.dragover{background:rgba(34,197,94,.06);border-color:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.15)}.upload-text{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.upload-subtext{color:var(--text-secondary);font-size:1rem}.char-counter{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem;text-align:right}.chat-input-area{align-items:flex-end;background:var(--bg-surface-solid);display:flex;padding:.75rem}.chat-input-area textarea{background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:8px;color:var(--text-primary);flex:1;font-family:inherit;font-size:1rem;line-height:1.4;margin-right:.5rem;max-height:9.375rem;min-height:2.5rem;overflow-y:auto;padding:.75rem;resize:none;transition:all .25s ease;width:100%}.chat-input-area textarea:focus{background:var(--input-bg-focus);border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1);outline:none}.chat-input-area textarea::placeholder{color:var(--text-muted)}.chat-input-area textarea:hover:not(:focus){border-color:var(--border-color)}@media(max-width:768px){.chat-input-area textarea{font-size:16px}}.patient-form{margin:2rem 0}.form-row{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}@media(max-width:768px){.form-row{gap:1rem;grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem;transition:all .25s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--input-bg-focus);border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1);outline:none}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:hover:not(:focus),.form-group select:hover:not(:focus),.form-group textarea:hover:not(:focus){border-color:var(--border-color)}.form-group input[type=checkbox]{margin:0;width:auto}.form-group textarea{font-family:inherit;min-height:28.125rem;resize:vertical}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-group small{color:var(--text-muted);font-size:.75rem;margin-top:.25rem}.form-section{padding-bottom:1.5rem}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h4{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.age-display{color:#15803d!important;font-size:.875rem!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 .25s ease;width:100%}#contactForm .form-group{margin-bottom:1.5rem}#contactForm .form-group textarea{min-height:21.875rem}.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:4px;padding:.25rem}.option-item.available .custom-organ-input{color:var(--text-secondary)}.option-item.available .custom-organ-input:focus{color:var(--text-primary)}.checkbox-group{align-items:flex-start;display:flex;flex-direction:row;gap:.5rem}.checkbox-group input[type=checkbox]{flex-shrink:0;margin-top:.125rem}.checkbox-group label{line-height:1.4;margin:0}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:rgba(0,0,0,.6);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{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--glass-bg-strong);border:1px solid var(--glass-border-color);border-radius:16px;box-shadow:var(--glass-shadow),var(--glass-inset);box-shadow:0 24px 64px rgba(0,0,0,.14);max-height:90vh;max-width:56.25rem;overflow-y:auto;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;width:90%}.export-modal .analysis-text{color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.export-modal .analysis-text h3{color:var(--text-primary);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:var(--text-primary);font-size:1.2em;margin-bottom:1.25rem;text-align:center}.terms-modal .terms-content h5{color:var(--text-secondary);font-size:1em;margin:1rem 0 .5rem}.terms-modal .terms-content li,.terms-modal .terms-content p{color:var(--text-primary);line-height:1.5}.terms-modal .terms-content ul{padding-left:1.25rem}.terms-modal .terms-content ul li{margin-bottom:.25rem}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-close:not(.btn-secondary):not(.btn-primary){background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;transition:all .15s ease}.modal-close:not(.btn-secondary):not(.btn-primary):hover{color:var(--text-primary)}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end}.modal-footer .btn-primary,.modal-footer .btn-secondary{margin:0;min-width:7.5rem;width:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.modal-content{border-radius:12px;margin:.5rem;max-height:95vh;width:95%}.modal-content .form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn-primary,.modal-footer .btn-secondary{width:100%}}.cookie-banner{animation:slideUp .4s ease;backdrop-filter:blur(10px);background:rgba(30,30,30,.95);border-top:1px solid hsla(0,0%,100%,.1);bottom:0;display:none;justify-content:center;left:0;padding:1rem 1.25rem;position:fixed;right:0;z-index:2000}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-banner__content{align-items:center;display:flex;gap:1.5rem;max-width:75rem;width:100%}@media(max-width:768px){.cookie-banner__content{flex-direction:column;gap:1rem;text-align:center}}.cookie-banner__text{color:hsla(0,0%,100%,.9);flex:1;font-size:.875rem;line-height:1.5;margin:0}.cookie-banner__text a{color:#8b9cf0;text-decoration:underline}.cookie-banner__text a:hover{color:#667eea}.cookie-banner__actions{display:flex;flex-shrink:0;gap:.5rem}@media(max-width:768px){.cookie-banner__actions{justify-content:center;width:100%}}.cookie-banner__btn{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:all .25s ease}.cookie-banner__btn--accept{background:#667eea;color:#fff}.cookie-banner__btn--accept:hover{background:#4f68d8}.cookie-banner__btn--decline{background:transparent;border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.7)}.cookie-banner__btn--decline:hover{background:hsla(0,0%,100%,.1);color:#fff}@media(max-width:768px){.cookie-banner__btn{flex:1;padding:.75rem 1rem}}.auth-page{align-items:center;display:flex;justify-content:center;position:relative}.login-container{max-width:34.375rem;padding:1.25rem;position:relative;width:100%;z-index:2}@media(max-width:768px){.login-container{min-height:auto;padding:1rem}}.login-card{animation:cardEnter .6s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg);border:1px solid var(--glass-border-color);border-radius:16px;box-shadow:var(--glass-shadow),var(--glass-inset);overflow:hidden;padding:2rem;position:relative;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.login-card:hover{box-shadow:var(--glass-shadow-hover),var(--glass-inset)}.login-card:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#8b9cf0);background-size:400% 400%;content:"";height:.25rem;left:0;position:absolute;right:0;top:0}@media(max-width:768px){.login-card{border-radius:12px;padding:1.5rem}}@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:1rem;text-align:center}.logo-section a{display:inline-block;margin:-2rem auto -1.5rem}.logo-section .logo-img{display:block;height:auto;width:11rem}@media(max-width:768px){.logo-section{margin-bottom:.5rem}.logo-section a{margin:-1.5rem auto -1rem}.logo-section .logo-img{width:9rem}}.welcome-text{margin-bottom:2rem;text-align:center}.welcome-text h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.welcome-text p{color:var(--text-secondary);font-size:1rem}.auth-link{color:#667eea;font-weight:500;transition:all .15s ease}.auth-link:hover{color:#4f68d8;text-decoration:underline}.auth-link--small{color:#667eea;font-size:.875rem;font-weight:500;transition:all .15s ease}.auth-link--small:hover{color:#4f68d8;text-decoration:underline}.auth-forgot-link{margin-bottom:1rem;text-align:right}.alert-error{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 4px 15px rgba(239,68,68,.3)}.alert-error,.alert-success{animation:slideIn .3s ease;border-radius:8px;color:#fff;font-size:.875rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;text-align:center}.alert-success{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 4px 15px rgba(34,197,94,.3)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer-info{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem;text-align:center}.footer-info p{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.security-badge{align-items:center;background:rgba(34,197,94,.1);border-radius:24px;color:#22c55e;display:inline-flex;font-size:.8rem;font-weight:500;gap:.25rem;margin-top:.75rem;padding:.25rem .75rem}.registration-form .form-group{margin-bottom:.25rem}.registration-form .form-group input{padding:.5rem 1.25rem}.registration-form .form-row{display:flex;gap:1rem;margin-bottom:.75rem}.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}@media(max-width:768px){.registration-form .form-row{flex-direction:column}}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{flex:1;padding-right:2.5rem}.password-input-wrapper input::-ms-clear,.password-input-wrapper input::-ms-reveal{display:none}.password-toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;opacity:0;padding:.25rem;pointer-events:none;position:absolute;right:.5rem;transition:all .15s ease}.password-input-wrapper.has-content .password-toggle{opacity:1;pointer-events:auto}.password-toggle:hover{color:var(--text-secondary)}.login-container:has(.registration-form){max-width:40.625rem}@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}.form-row,.welcome-text h2{margin-bottom:.5rem}.footer-info{margin-top:1rem;padding-top:1rem}}.landing-page{display:block;height:auto;min-height:0}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.lp-features .reveal:nth-child(2){transition-delay:.1s}.lp-features .reveal:nth-child(3){transition-delay:.2s}.lp-features .reveal:nth-child(4){transition-delay:.3s}.lp-steps .reveal:nth-child(2){transition-delay:.12s}.lp-steps .reveal:nth-child(3){transition-delay:.24s}.lp-steps .reveal:nth-child(4){transition-delay:.36s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.lp-hero{align-items:center;background:linear-gradient(160deg,#ede9fe,#e0e7ff 30%,#f0e6ff 60%,#ddd6fe);display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100dvh;padding:2.5rem 1.25rem;position:relative}.lp-hero:after,.lp-hero:before{border-radius:50%;content:"";filter:blur(80px);opacity:.4;pointer-events:none;position:absolute}.lp-hero:before{background:radial-gradient(circle,rgba(102,126,234,.3),transparent 70%);height:350px;right:0;top:5%;width:350px}.lp-hero:after{background:radial-gradient(circle,rgba(118,75,162,.25),transparent 70%);bottom:5%;height:300px;left:0;width:300px}@media(max-width:768px){.lp-hero{min-height:100svh;padding:1.5rem 1rem}}.lp-hero__content{animation:heroIn 1s cubic-bezier(.16,1,.3,1);max-width:42rem;position:relative;text-align:center;z-index:1}@keyframes heroIn{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.lp-hero__logo-img{display:block;filter:drop-shadow(0 16px 40px rgba(102,126,234,.2));height:auto;margin:-3rem auto -2rem;width:clamp(14rem,30vw,20rem)}.lp-hero__tagline{color:#764ba2;font-size:clamp(.85rem,1.8vw,1rem);font-weight:500;letter-spacing:.12em;margin-bottom:3rem;text-transform:uppercase}.lp-hero__title{color:#111827;font-size:clamp(1.6rem,4.5vw,2.6rem);font-weight:700;line-height:1.2;margin-bottom:1.25rem}.lp-hero__subtitle{color:#4b5563;font-size:clamp(1rem,2vw,1.15rem);line-height:1.75;margin:0 auto 2.5rem;max-width:34rem}.lp-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.lp-hero__scroll-hint{animation:scrollBounce 2s ease-in-out infinite;bottom:2rem;left:50%;position:absolute;transform:translateX(-50%);z-index:1}.lp-hero__scroll-hint span{border-bottom:2px solid #6b7280;border-right:2px solid #6b7280;display:block;height:1.5rem;opacity:.5;transform:rotate(45deg);width:1.5rem}@keyframes scrollBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}.lp-btn{border-radius:10rem;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;min-width:11rem;padding:.75rem 2rem;text-align:center;text-decoration:none;transition:all .25s ease}.lp-btn--primary{background:linear-gradient(185deg,rgba(201,167,221,.9),#764ba2);border:none;box-shadow:0 8px 24px rgba(102,126,234,.25);color:#fff}.lp-btn--primary:focus,.lp-btn--primary:hover{box-shadow:0 12px 32px rgba(102,126,234,.35);color:#fff;transform:translateY(-2px)}.lp-btn--outline{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.6);border:1.5px solid rgba(0,0,0,.12);color:#1f2937}.lp-btn--outline:hover{background:#fff;border-color:#667eea;color:#667eea;transform:translateY(-1px)}.lp-btn--lg{font-size:1.125rem;padding:1rem 3rem}.lp-section{background:#fff;padding:clamp(5rem,12vh,9rem) 1.25rem;position:relative}.lp-section--alt{background:#f9fafb}.lp-section--cta{background:#fff;padding-bottom:clamp(3rem,8vh,6rem)}.lp-section__inner{margin:0 auto;max-width:60rem}.lp-section__inner--narrow{max-width:44rem}.lp-section__title{color:#111827;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;letter-spacing:-.02em;margin-bottom:clamp(3rem,6vh,5rem);text-align:center}.lp-features{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.lp-features{grid-template-columns:1fr}}.lp-feature{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.06);overflow:hidden;padding:2rem;position:relative;transition:all .25s ease}.lp-feature .lp-feature__accent{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 2px 2px 0;height:100%;left:0;position:absolute;top:0;width:3px}.lp-feature h3{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.75rem;padding-left:1rem}.lp-feature p{color:#6b7280;font-size:1rem;line-height:1.7;padding-left:1rem}.lp-feature:hover{border-color:rgba(102,126,234,.2);box-shadow:0 16px 48px rgba(0,0,0,.1);transform:translateY(-4px)}@media(max-width:768px){.lp-feature{padding:1.5rem}}.lp-section--alt .lp-feature{background:#fff}.lp-steps{display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:56rem}@media(max-width:768px){.lp-steps{gap:2rem 1rem;grid-template-columns:repeat(2,1fr)}}.lp-step{flex-direction:column;gap:1rem;text-align:center}.lp-step,.lp-step__num{align-items:center;display:flex}.lp-step__num{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px rgba(102,126,234,.25);color:#fff;cursor:default;font-size:1.5rem;font-weight:700;height:3.5rem;justify-content:center;line-height:1;transition:all .25s ease;width:3.5rem}@media(max-width:768px){.lp-step__num{font-size:1.25rem;height:3rem;width:3rem}}.lp-step:hover .lp-step__num{box-shadow:0 12px 32px rgba(102,126,234,.35);transform:translateY(-4px) scale(1.08)}.lp-step__text h3{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.lp-step__text p{color:#6b7280;font-size:.875rem;line-height:1.65}.lp-cta{background:linear-gradient(135deg,#f5f3ff,#eef2ff 50%,#faf5ff);border:1px solid rgba(102,126,234,.1);border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.06);overflow:hidden;padding:4rem 3rem;position:relative;text-align:center}.lp-cta:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:3px;left:0;position:absolute;right:0;top:0}.lp-cta h2{color:#111827;font-size:clamp(1.4rem,3vw,1.85rem);font-weight:700;margin-bottom:1rem}.lp-cta p{color:#6b7280;font-size:1rem;line-height:1.7;margin:0 auto 2rem;max-width:30rem}@media(max-width:768px){.lp-cta{padding:2.5rem 1.25rem}}.lp-footer{align-items:center;backdrop-filter:blur(12px);background:var(--footer-bg);border-top:1px solid var(--footer-border);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;padding:1rem 1.5rem;position:relative;z-index:2}@media(max-width:768px){.lp-footer{flex-direction:column;gap:.5rem;padding:1rem;text-align:center}}.lp-footer__copy{color:#fff;font-size:.875rem}.lp-footer__link{color:hsla(0,0%,100%,.55);font-size:.875rem;text-decoration:none;transition:all .15s ease}.lp-footer__link:hover{color:#fff}@media(prefers-color-scheme:dark){.landing-page .lp-hero{background:linear-gradient(160deg,#1a1625,#1e1b2e 30%,#211d35 60%,#1a1830)}.landing-page .lp-hero:before{background:radial-gradient(circle,rgba(102,126,234,.15),transparent 70%)}.landing-page .lp-hero:after{background:radial-gradient(circle,rgba(118,75,162,.12),transparent 70%)}.landing-page .lp-hero__tagline{color:#8b9cf0}.landing-page .lp-hero__title{color:hsla(0,0%,100%,.95)}.landing-page .lp-hero__subtitle{color:hsla(0,0%,100%,.6)}.landing-page .lp-hero__scroll-hint span{border-color:hsla(0,0%,100%,.4)}.landing-page .lp-btn--outline{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.9)}.landing-page .lp-btn--outline:hover{background:hsla(0,0%,100%,.1);border-color:#8b9cf0;color:#8b9cf0}.landing-page .lp-section{background:#0f0d15}.landing-page .lp-section--alt{background:#141220}.landing-page .lp-section__title{color:hsla(0,0%,100%,.95)}.landing-page .lp-feature{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.2)}.landing-page .lp-feature h3{color:hsla(0,0%,100%,.95)}.landing-page .lp-feature p{color:hsla(0,0%,100%,.55)}.landing-page .lp-feature:hover{background:hsla(0,0%,100%,.06);border-color:rgba(102,126,234,.3);box-shadow:0 16px 48px rgba(0,0,0,.3)}.lp-section--alt .landing-page .lp-feature{background:hsla(0,0%,100%,.04)}.landing-page .lp-step__text h3{color:hsla(0,0%,100%,.95)}.landing-page .lp-step__text p{color:hsla(0,0%,100%,.55)}.landing-page .lp-cta{background:linear-gradient(135deg,rgba(102,126,234,.08),rgba(118,75,162,.06));border-color:hsla(0,0%,100%,.06)}.landing-page .lp-cta h2{color:hsla(0,0%,100%,.95)}.landing-page .lp-cta p{color:hsla(0,0%,100%,.55)}}.language-selector{background:var(--bg-surface-solid);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.06);display:flex;gap:.25rem;padding:.25rem;position:absolute;right:1.25rem;top:1.25rem;z-index:1001}.language-selector .lang-option{border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .15s ease}.language-selector .lang-option:hover{background:var(--content-bg);color:#667eea}.language-selector .lang-option.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 24px rgba(102,126,234,.25);color:#fff}@media(max-width:768px){.language-selector{right:1rem;top:1rem}}.flash-stack{display:flex;flex-direction:column;gap:.5rem;max-width:min(26.25rem,100vw - 2rem);position:fixed;right:1rem;top:1rem;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 16px 48px rgba(0,0,0,.1);color:#fff;display:grid;gap:.75rem;grid-template-columns:1fr auto;padding:.75rem;transform:translateY(-4px)}.flash__content{font-size:.875rem;line-height:1.35}.flash__close{appearance:none;background:transparent;border:0;color:hsla(0,0%,100%,.85);cursor:pointer;font-size:1.125rem;line-height:1;padding:0 .25rem}.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}.toast{animation:flash-in .18s ease-out forwards;background:#22c55e;border-radius:8px;bottom:2.5rem;box-shadow:0 8px 24px rgba(0,0,0,.08);color:#fff;display:none;padding:.75rem 1.25rem;position:fixed;right:1.25rem;z-index:9999}@media(max-width:768px){.toast{bottom:1rem;left:1rem;right:1rem;text-align:center}}.form-error{background-color:#fef2f2;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#b91c1c;font-size:.875rem;margin-top:.25rem;padding:.5rem .75rem}html.dark .form-error{background-color:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#f7a2a2}html.dark .auth-page input:not([type=checkbox]):not([type=submit]):not([type=hidden]),html.dark .auth-page select,html.dark .auth-page textarea{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}html.dark .auth-page input:not([type=checkbox]):not([type=submit]):not([type=hidden]):focus,html.dark .auth-page select:focus,html.dark .auth-page textarea:focus{background:var(--input-bg-focus);border-color:#667eea}