.App [class*=hero],.App [class*=Hero],.App [class*=section],.App [class*=Section],.App [class*=container]:not(.landing-container):not(.mobile-card),.App [class*=Container]:not(.landing-container):not(.mobile-card),.App [class*=card],.App [class*=Card]{background-color:transparent;color:var(--text-primary)!important;border-color:var(--border-primary)!important}[style*="background-color: #ffffff"],[style*="background: #ffffff"],[style*="background-color:#ffffff"],[style*="background:#ffffff"]{background-color:transparent;color:var(--text-primary)!important;border-color:var(--border-primary)!important}[style*=linear-gradient][style*="#667eea"],[style*=linear-gradient][style*="#764ba2"]{background:var(--bg-page)!important;color:var(--text-primary)!important}[style*="background-color: #667eea"],[style*="background-color:#667eea"],[style*="background-color: #764ba2"],[style*="background-color:#764ba2"]{background-color:var(--primary-600)!important;color:#fff!important;border-color:transparent!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-page, var(--bg-primary));color:var(--text-primary);min-height:100vh;margin:0;padding:0;width:100%;overflow-x:hidden}.App{min-height:100vh;width:100%;background:var(--bg-page, var(--bg-primary));color:var(--text-primary);overflow-x:hidden}.landing-container{min-height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--home-bg, var(--bg-page))!important;color:var(--text-primary);position:relative}.landing-container .logo-section,.landing-container .logo-section img{background:transparent!important}main{background:var(--bg-page);color:var(--text-primary);padding-bottom:64px}.home-main{background:var(--home-bg)!important}.section,.summary__block,.wizard-step,.card,.dashboard-card,.healthTipCard,.quickActionCard,.statCard,.modal-content,.profileHeader,.profile-section,.page-container,.wizard-side,.wizard-sidebar,.wizard-main{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}.sectionTitle,.summary__detail-key,.summary__detail-value,.profileName,.profileEmail,.section h2,.section h3,.wizard-step h2,.wizard-step h3,.summary__recommendation-title{color:var(--text-primary)!important}.health-assistant{background:var(--home-bg);min-height:100vh;padding:3rem 1.5rem;display:flex;justify-content:center;align-items:flex-start}.hamburger-menu{display:none}.desktop-nav,.desktop-auth-buttons{display:flex!important}.mobile-menu-button{display:none!important}@media (max-width: 1023px){.desktop-nav,.desktop-auth-buttons{display:none!important}.mobile-menu-button{display:flex!important}}.mobile-nav-container{position:fixed!important;top:72px!important;left:0!important;right:0!important;width:100vw!important;max-height:calc(100vh - 72px)!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:999!important;-webkit-overflow-scrolling:touch!important}@media (max-width: 400px){.logo-link{font-size:1.2rem!important;max-width:180px!important;overflow:hidden!important}.navigation-logo-svg{width:180px!important;height:auto!important;max-height:40px!important}.navigation-logo-compact .navigation-logo-svg{width:120px!important;height:30px!important;max-height:30px!important}.main-header{padding:.5rem .75rem!important;min-height:50px!important}.main-header>div{padding:0 .5rem!important;height:50px!important;gap:.5rem!important}.mobile-nav-container{padding:.25rem 0!important;top:50px!important;max-height:calc(100vh - 50px)!important}.mobile-nav-item{padding:.6rem .8rem!important;font-size:.9rem!important;min-height:40px!important}.mobile-nav-submenu-item{padding:.6rem 1.2rem!important;min-height:45px!important}.mobile-menu-button{padding:.4rem!important;font-size:1.2rem!important}}@media (min-width: 401px) and (max-width: 1023px){.mobile-nav-container{padding:.5rem 0!important}.mobile-nav-item{padding:.75rem 1rem!important;font-size:.95rem!important;min-height:44px!important}.mobile-nav-submenu-item{padding:.75rem 1.5rem!important;min-height:50px!important}}.mobile-card{background:var(--home-bg, #f3f4f6)!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:0;margin:0;border:none;box-shadow:none;width:100%;max-width:800px;text-align:center}.logo-section{margin-bottom:3rem}.welcome-title{font-size:4rem;font-weight:700;color:#fff;margin-bottom:1rem;text-shadow:0 4px 8px rgba(0,0,0,.3)}.welcome-subtitle{font-size:2.5rem;color:#2c3e50;font-weight:600;margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.greeting-card{background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;padding:3rem;margin:2rem auto;border:1px solid rgba(15,23,42,.08);box-shadow:0 15px 35px #0f172a1f;max-width:600px}.greeting-title{font-size:2.5rem;color:#111827;font-weight:700;margin-bottom:1.5rem;font-style:normal;letter-spacing:.01em}.greeting-text{color:#374151;font-size:1.2rem;line-height:1.7;margin-bottom:2rem}.button-section{display:flex;flex-direction:row;gap:1.5rem;justify-content:center;width:100%;flex-wrap:wrap}.btn-primary,.btn-secondary{background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-border);padding:18px 40px;border-radius:25px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 16px #0000002e;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:160px;flex:1;max-width:180px}.btn-primary:hover,.btn-secondary:hover{background:var(--button-hover-bg);color:var(--button-text);transform:translateY(-2px);box-shadow:0 8px 22px #00000040}.btn-icon{font-size:1.3rem}.welcome-logo{display:flex;justify-content:center;align-items:center;margin:1rem 0}.welcome-logo-svg{max-width:100%;height:auto;max-height:300px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.3))}.navigation-logo{display:flex;align-items:center;justify-content:center}.navigation-logo-svg{height:60px;width:auto;max-width:300px}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#34495ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.nav-menu{display:flex;gap:2rem}.nav-menu a{color:#bdc3c7;text-decoration:none;font-weight:500;transition:color .3s ease;padding:.5rem 1rem;border-radius:8px}.nav-menu a:hover{color:#fff;background:#ffffff1a}.card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:2rem;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease}.card:hover{transform:translateY(-5px)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@media (max-width: 1023px) and (min-width: 768px){.landing-container{padding:3rem 1.5rem;min-height:calc(100vh - 100px)}.welcome-title{font-size:3rem}.welcome-subtitle{font-size:2rem}.greeting-card{padding:2rem;margin:1.5rem auto}.greeting-title{font-size:2rem}.greeting-text{font-size:1.1rem}.button-section{flex-direction:column;gap:1rem;align-items:center}.btn-primary,.btn-secondary{min-width:250px}.welcome-logo-svg{max-height:250px}.navigation-logo-svg{height:50px}}@media (max-width: 767px){.landing-container{padding:4rem 1rem 2rem;justify-content:flex-start;min-height:calc(100vh - 80px)}.mobile-card{background:var(--home-bg, rgba(243, 244, 246, .95))!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:25px;padding:2rem;margin:1rem 0;border:1px solid rgba(0,0,0,.05);box-shadow:0 8px 16px #0000000d;width:100%;max-width:400px;text-align:center}.logo-section{margin-bottom:2rem}.welcome-title{font-size:2.5rem;margin-bottom:.5rem}.welcome-subtitle{font-size:1.8rem;margin-bottom:1rem}.greeting-card{background:#34495ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1.5rem;margin:1.5rem 0;border:1px solid rgba(255,255,255,.1)}.greeting-title{font-size:2rem;margin-bottom:1rem}.greeting-text{font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.button-section{display:flex;flex-direction:column;gap:1rem;width:100%}.btn-primary,.btn-secondary{padding:15px 30px;font-size:1.1rem;width:100%;min-width:auto}.welcome-logo-svg{max-height:200px}.navigation-logo-svg{height:40px;max-width:200px}.nav-menu{display:none}.header-content{padding:1rem}.card-grid{grid-template-columns:1fr;gap:1rem}.card{padding:1.5rem}}.page-container{min-height:calc(100vh - 100px);padding:2rem;width:100%;max-width:1200px;margin:0 auto}@media (max-width: 767px){.page-container{min-height:calc(100vh - 80px);padding:1rem}}.text-center{text-align:center}.text-xl{font-size:1.5rem}.text-2xl{font-size:2rem}.text-3xl{font-size:2.5rem}.font-bold{font-weight:700}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-summary{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:2rem;color:#fff}.error-summary h3{color:#e74c3c;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.error-summary ul{list-style:none;padding:0;margin:0}.error-summary li{margin-bottom:.25rem}.error-summary a,.error-summary button.error-link{color:#e74c3c;text-decoration:underline;font-weight:500}.error-summary a:hover,.error-summary a:focus,.error-summary button.error-link:hover,.error-summary button.error-link:focus{color:#c0392b;text-decoration:none;outline:2px solid #e74c3c;outline-offset:2px}.toggle-button:focus{outline:2px solid #3498db;outline-offset:2px}.submit-button:focus{outline:2px solid #ffffff;outline-offset:2px}.upload-button:focus{outline:2px solid #ffffff;outline-offset:2px}.btn-primary:focus,.btn-secondary:focus{outline:2px solid #ffffff;outline-offset:2px}.nav-menu a:focus{outline:2px solid #3498db;outline-offset:2px}.user-dropdown{position:relative}.user-dropdown-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:.5rem 1rem;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;transition:all .3s ease}.user-dropdown-button:hover{background:#fff3;border-color:#fff6}.user-dropdown-button:focus{outline:2px solid #3498db;outline-offset:2px}.user-icon{font-size:1.2rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%}.user-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:.7rem;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#34495ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;box-shadow:0 8px 25px #0000004d;min-width:280px;z-index:1000;animation:slideInFromTop .2s ease-out}.dropdown-header{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-user-icon{width:40px;height:40px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.dropdown-user-info{flex:1;min-width:0}.dropdown-user-name{color:#fff;font-weight:600;font-size:1rem;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-type{color:#f39c12;font-size:.8rem;font-weight:500;margin-bottom:.1rem}.dropdown-user-email{color:#bdc3c7;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:#ffffff1a;margin:0}.dropdown-menu-items{list-style:none;padding:.5rem 0;margin:0}.dropdown-menu-items li{margin:0}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#bdc3c7;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s ease;border:none;background:none;width:100%;text-align:left;cursor:pointer}.dropdown-item:hover{background:#ffffff1a;color:#fff}.dropdown-item:focus{outline:2px solid #3498db;outline-offset:-2px}.dropdown-item-icon{font-size:1rem;width:20px;text-align:center}.logout-item{color:#e74c3c}.logout-item:hover{background:#e74c3c1a;color:#e74c3c}@media (max-width: 767px){.user-dropdown-menu{right:-1rem;left:-1rem;min-width:auto}.user-name{display:none}.user-dropdown-button{padding:.5rem}}.login-link:focus{outline:2px solid #3498db;outline-offset:2px}select:focus,input[type=file]:focus,input[type=time]:focus,input[type=checkbox]:focus,textarea:focus{outline:2px solid #3498db;outline-offset:2px}.custom-qualification-field{background:#f39c121a!important;border-color:#f39c1280!important;animation:slideInFromTop .3s ease-out;padding-right:45px}.validation-success{border-color:#27ae60cc!important;background:#27ae600d!important}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-suggestion{background:#3498db1a;border:1px solid rgba(52,152,219,.3);border-radius:8px;padding:.75rem;margin-top:.5rem;animation:slideInFromTop .3s ease-out}.ai-suggestion-button{background:#3498db;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.8rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ai-suggestion-button:hover{background:#2980b9;transform:translateY(-1px)}.ai-suggestion-button:focus{outline:2px solid #ffffff;outline-offset:2px}.password-strength-indicator{margin-top:.5rem}.password-strength-bar{width:100%;height:4px;background-color:#fff3;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.password-strength-progress{height:100%;transition:all .3s ease}.password-requirements{background:#ffffff0d;border-radius:8px;padding:.75rem;font-size:.8rem}.password-requirement{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.password-requirement:last-child{margin-bottom:0}.password-requirement-icon{font-size:.7rem;width:12px;text-align:center}.password-requirement.met{color:#27ae60}.password-requirement.unmet{color:#bdc3c7}.form-display{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;color:#fff;font-size:1rem;font-weight:500;min-height:24px;display:flex;align-items:center}.form-group label{color:#bfc9db;font-weight:500;font-size:.9rem;margin-bottom:.5rem;display:block}.error-message-box{color:#ff7675;background:#2d334d;border:1px solid #e17055;border-radius:8px;padding:.5rem 1rem;margin-bottom:.5rem}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.ai-card{background:linear-gradient(135deg,#1abc9c1a,#3498db1a);border:1px solid rgba(26,188,156,.3);border-radius:15px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease}.ai-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #1abc9c33}.priority-badge{position:absolute;top:1rem;right:1rem;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:700;text-transform:uppercase}.slider-container{position:relative;margin:1rem 0}.custom-slider{-webkit-appearance:none;width:100%;height:8px;border-radius:5px;background:#34495e;outline:none;opacity:.7;transition:opacity .2s}.custom-slider:hover{opacity:1}.custom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#1abc9c;cursor:pointer}.custom-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#1abc9c;cursor:pointer;border:none}.results-container{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 100px)}.results-container.loading,.results-container.error{display:flex;align-items:center;justify-content:center;min-height:60vh}.loading-content,.error-content{text-align:center;color:#fff}.loading-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s infinite}.error-icon{font-size:4rem;margin-bottom:1rem}.retry-button{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.results-header{text-align:center;margin-bottom:3rem}.results-header h1{font-size:2.5rem;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.results-summary{font-size:1.2rem;color:#bdc3c7;margin-bottom:0}.results-section{margin-bottom:4rem}.results-section h2{font-size:2rem;color:#f39c12;margin-bottom:2rem;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}.no-results{background:#34495ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:3rem;text-align:center;border:1px solid rgba(255,255,255,.1)}.no-results p{color:#bdc3c7;font-size:1.1rem;margin-bottom:1rem}.no-results p:last-child{margin-bottom:0}.practitioners-grid,.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.practitioner-card,.product-card{background:#34495ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:0;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;overflow:hidden}.practitioner-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d;border-color:#f39c1280}.card-header{background:#f39c1233;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.card-header h3{color:#f39c12;font-size:1.4rem;font-weight:600;margin:0;flex:1}.verified-badge{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.stock-badge{padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.stock-badge.in-stock{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.stock-badge.out-of-stock{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.card-content{padding:1.5rem}.card-content p{color:#bdc3c7;margin-bottom:.8rem;line-height:1.5}.card-content p:last-child{margin-bottom:0}.card-content p strong{color:#fff}.price{color:#f39c12!important;font-size:1.1rem;font-weight:600}.description{background:#ffffff0d;padding:1rem;border-radius:8px;margin-top:1rem!important;font-style:italic}.card-actions{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;flex-wrap:wrap}.card-actions button{flex:1;min-width:140px;padding:.8rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.contact-button,.details-button{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.appointment-button,.cart-button{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.card-actions button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.back-to-search{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.back-button{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.back-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (max-width: 767px){.results-container{padding:1rem}.results-header h1{font-size:1.8rem}.results-section h2{font-size:1.5rem}.practitioners-grid,.products-grid{grid-template-columns:1fr;gap:1.5rem}.card-header{padding:1rem;flex-direction:column;align-items:flex-start}.card-header h3{font-size:1.2rem}.card-content{padding:1rem}.card-actions{padding:1rem;flex-direction:column}.card-actions button{min-width:auto}.no-results{padding:2rem 1rem}}.register-container{max-width:900px;margin:0 auto;padding:2rem}.register-mockup{display:flex;justify-content:center}.register-mockup-card{max-width:420px;width:100%}.mockup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mockup-brand{display:flex;align-items:center;gap:.5rem}.mockup-logo{width:56px;height:56px;border-radius:50%;background:#2f6b44;display:grid;place-items:center;color:#d8f0da;font-size:1.5rem}.mockup-title{font-size:2rem;color:#1f3f2c;font-weight:800}.mockup-title .accent{color:#fdf5c0;font-style:italic;margin-left:.25rem}.mockup-hero{font-size:2.2rem;text-align:right;color:#1f3f2c;font-family:Pacifico,cursive;line-height:1.1}.register-card{background:linear-gradient(180deg,#324d3df5,#2c4336f5);border-radius:24px;padding:1.5rem;border:1px solid rgba(0,0,0,.15)}.mockup-upload .upload-preview{width:140px;height:140px;border:3px dashed #9ec5a6;background:transparent}.mockup-upload-btn{background:#2da7ff;border-radius:12px;padding:10px 16px;font-weight:700}.mockup-upload-btn .arrow{margin-left:8px}.form-input{background:#fff;color:var(--text-primary);border:1px solid #d1d5db}.submit-button.mockup-create-btn{background:#2da7ff;border-radius:18px}.submit-button .create-icon{margin-left:8px}.register-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.logo-icon{width:50px;height:50px;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.register-title{color:#fff;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.register-subtitle{color:#bdc3c7;font-size:1.1rem;margin:0}.register-card{background:#34495ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2.5rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #0000004d}.user-type-toggle{display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem;background:#ffffff1a;border-radius:15px}.toggle-button{flex:1;padding:12px 20px;border:none;border-radius:10px;background:transparent;color:#bdc3c7;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.toggle-button.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 12px #3498db4d}.toggle-button:hover:not(.active){background:#ffffff1a;color:#fff}.card-header-section{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.profile-icon{width:50px;height:50px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.card-title{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .5rem;font-style:italic}.card-description{color:#bdc3c7;font-size:1rem;line-height:1.5;margin:0}.profile-upload-section{margin-bottom:2rem}.upload-area{display:flex;align-items:center;gap:1rem}.upload-preview{width:80px;height:80px;border:3px dashed #3498db;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#3498db1a;position:relative;overflow:hidden;background-size:cover;background-position:center}.upload-icon{color:#3498db;font-size:2rem}.upload-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-button{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:25px;padding:12px 20px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.register-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#ffffff0d;border-radius:15px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.section-title{color:#f39c12;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(243,156,18,.3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-row .full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-input{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#ffffffe6;color:#2c3e50;font-size:1rem;font-weight:500;transition:all .3s ease;box-sizing:border-box}.form-input:focus{outline:2px solid #3498db;outline-offset:2px;border-color:#3498db;background:#fffffff2;box-shadow:0 0 10px #3498db4d}.form-input.error{border-color:#e74c3c;background:#fffffff2;box-shadow:0 0 8px #e74c3c4d;border-width:2px}.error-message{color:#e74c3c;font-size:.85rem;margin:.25rem 0 0;font-weight:500}.field-hint{color:#bdc3c7;font-size:.8rem;margin-top:.25rem;font-style:italic}.opening-hours-grid{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border-primary);border-radius:18px;background:var(--bg-card);padding:1.25rem;box-shadow:var(--shadow-md)}.opening-hours-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border-secondary);background:var(--bg-secondary);flex-wrap:wrap}.day-label{min-width:120px;color:var(--text-secondary);font-weight:600}.opening-hours-row .form-display{flex:1;justify-content:flex-start;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm);min-height:2.75rem}.time-inputs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:12px;padding:.35rem .75rem;margin:0 .25rem;box-shadow:var(--shadow-sm)}.time-input:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.time-inputs span{color:var(--text-secondary);font-size:.9rem;margin:0 .25rem}.closed-checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;cursor:pointer;margin-left:1rem}.closed-checkbox input[type=checkbox]{accent-color:var(--color-primary)}.submit-button{width:100%;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:25px;padding:16px;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;transition:all .3s ease;box-shadow:0 4px 15px #3498db66}.submit-button:hover:not(.submitting){transform:translateY(-2px);box-shadow:0 6px 20px #3498db99}.submit-button.submitting{background:#3498db80;cursor:not-allowed}.login-link-section{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.login-link{color:#3498db;text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease}.login-link:hover{color:#2980b9;text-decoration:underline}@media (max-width: 768px){.register-container{padding:1rem}.register-header{flex-direction:column;text-align:center}.register-title{font-size:2rem}.register-card{padding:1.5rem}.user-type-toggle{flex-direction:column;gap:.25rem}.toggle-button{padding:10px 16px;font-size:.9rem}.card-header-section{flex-direction:column;align-items:center;text-align:center}.card-title{font-size:1.5rem}.form-section{padding:1rem}.section-title{font-size:1.1rem}.form-row{grid-template-columns:1fr;gap:.5rem}.form-row .full-width{grid-column:1}.upload-area{flex-direction:column;align-items:center;text-align:center}.upload-button{width:100%;justify-content:center}.opening-hours-row{grid-template-columns:1fr;gap:.5rem}.time-inputs{justify-content:space-between;gap:.25rem}.time-input{width:100px}.closed-checkbox{margin-left:0;justify-content:center}}@media (max-width: 480px){.register-container{padding:.5rem}.register-card{padding:1rem;border-radius:15px}.form-input{padding:10px 12px;font-size:.9rem}.submit-button{padding:14px;font-size:1.1rem}.time-inputs{flex-direction:column;align-items:stretch}.time-input{width:100%}}body,.page-container{background:#181c24;color:#f5f6fa}input,select,textarea,.form-input,.form-display{background:#fff;color:var(--text-primary);border:1.6px solid #d0d7e4;border-radius:18px;padding:.95rem 1.15rem;font-size:1rem;margin-bottom:.75rem;transition:border .2s ease,box-shadow .2s ease,transform .2s ease;box-shadow:0 18px 32px #0f172a14}input::placeholder,textarea::placeholder,.form-input::placeholder{color:#a5b1c7}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23757686' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 1rem) 50%;padding-right:2.5rem}input:focus,select:focus,textarea:focus,.form-input:focus{border:1.5px solid var(--button-bg);outline:none;box-shadow:0 16px 32px #1118271f,0 0 0 3px #6574cd2e;transform:translateY(-1px);background:#fff}.form-display{min-height:3rem;align-items:center}option{background:var(--bg-card);color:var(--text-primary)}.form-group label{color:var(--text-secondary);font-weight:500}.form-display{background:var(--bg-card);color:var(--text-primary);border:1.6px solid #d0d7e4;border-radius:18px;padding:.75rem 1rem;min-height:2.5rem;display:flex;align-items:center;box-shadow:0 18px 32px #0f172a14}button{background:#3498db;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}button:hover{background:#217dbb}.error-message,.error-message-box{color:#ff7675;background:#2d334d;border:1px solid #e17055;border-radius:8px;padding:.5rem 1rem;margin-bottom:.5rem}.safety-alert{background:#e74c3c1f;border:1px solid rgba(231,76,60,.35);border-radius:12px;padding:.75rem 1rem;margin-top:.5rem;color:var(--text-primary)}.success-message{color:#00b894;background:#23283a;border:1px solid #00b894;border-radius:8px;padding:.5rem 1rem;margin-bottom:.5rem}.password-strength-bar{background:#23283a;border-radius:6px;height:8px;margin-bottom:.5rem}.password-strength-progress{height:8px;border-radius:6px}select:disabled,input:disabled{background:#23283a;color:#7f8fa6;opacity:.7}.form-input{color:#1f2933!important;background:#fff!important;border:1.6px solid #d0d7e4!important;border-radius:18px!important;box-shadow:0 18px 32px #0f172a14!important}.appointment-booking-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.appointment-booking-modal{background:#2c3e50;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{color:#f39c12;font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#bdc3c7;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.close-button:hover{color:#fff;background:#e74c3c33}.modal-content{padding:2rem}.practitioner-info{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#3498db1a;border-radius:15px;border:1px solid rgba(52,152,219,.3)}.practitioner-avatar{width:60px;height:60px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.practitioner-details h3{color:#fff;font-size:1.2rem;margin:0 0 .5rem}.practitioner-title{color:#bdc3c7;font-size:.9rem;margin:0 0 .5rem}.practitioner-meta{display:flex;gap:1rem;align-items:center}.practitioner-meta span{display:flex;align-items:center;gap:.25rem;color:#95a5a6;font-size:.8rem}.practitioner-meta svg{width:14px;height:14px}.progress-indicator{display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem;background:#34495e80;border-radius:15px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#7f8c8d;font-size:.8rem;transition:all .3s ease}.progress-step.active{color:#f39c12;transform:scale(1.05)}.progress-step.completed{color:#27ae60}.progress-step svg{width:24px;height:24px}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:10px;color:#e74c3c;margin-bottom:1rem}.error-message svg{width:20px;height:20px}.login-required{text-align:center;padding:2rem}.alert-icon{color:#f39c12;margin-bottom:1rem}.login-required p{color:#bdc3c7;margin-bottom:1.5rem}.date-selection h3{color:#fff;margin-bottom:1rem;font-size:1.2rem}.date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1rem;margin-bottom:1rem}.date-button{background:#34495e80;border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:center;color:#bdc3c7}.date-button:hover{background:#3498db33;border-color:#3498db80;transform:translateY(-2px)}.date-button.selected{background:#3498db4d;border-color:#3498db;color:#fff}.date-day{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.date-number{font-size:1.2rem;font-weight:600;margin-bottom:.25rem}.date-month{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.time-selection h3{color:#fff;margin-bottom:1rem;font-size:1.2rem}.loading-slots{text-align:center;padding:2rem;color:#bdc3c7}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.time-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.time-slot{background:#34495e80;border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:left;color:#bdc3c7}.time-slot:hover{background:#3498db33;border-color:#3498db80;transform:translateY(-2px)}.time-slot.selected{background:#3498db4d;border-color:#3498db;color:#fff}.slot-time{font-size:1rem;font-weight:600;margin-bottom:.5rem}.slot-info{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;margin-bottom:.5rem}.slot-price{font-size:.9rem;color:#27ae60;font-weight:600}.no-slots{text-align:center;padding:2rem;color:#bdc3c7}.no-slots p{margin-bottom:1rem}.booking-details h3{color:#fff;margin-bottom:1rem;font-size:1.2rem}.appointment-summary{background:#3498db1a;border:1px solid rgba(52,152,219,.3);border-radius:15px;padding:1rem;margin-bottom:1.5rem}.summary-item{display:flex;align-items:center;gap:.5rem;color:#bdc3c7;margin-bottom:.5rem}.summary-item:last-child{margin-bottom:0}.summary-item svg{width:16px;height:16px;color:#3498db}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#bdc3c7;margin-bottom:.5rem;font-weight:500}.form-select,.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffff1a;color:#fff;font-size:1rem;transition:all .3s ease}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.form-textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.form-actions button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary{background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-border)}.btn-secondary:hover{background:var(--button-hover-bg);color:var(--button-text)}.btn-primary{background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-border)}.btn-primary:hover:not(:disabled){background:var(--button-hover-bg);color:var(--button-text);transform:translateY(-2px);box-shadow:0 8px 22px #00000040}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.booking-confirmation{text-align:center;padding:1rem}.success-icon{color:#27ae60;margin-bottom:1rem}.booking-confirmation h3{color:#fff;margin-bottom:1rem;font-size:1.5rem}.booking-confirmation p{color:#bdc3c7;margin-bottom:1.5rem;line-height:1.6}.confirmation-details{background:#27ae601a;border:1px solid rgba(39,174,96,.3);border-radius:15px;padding:1.5rem;text-align:left}.detail-item{display:flex;justify-content:space-between;align-items:center;color:#bdc3c7;margin-bottom:.5rem}.detail-item:last-child{margin-bottom:0}.detail-item strong{color:#fff}@media (max-width: 768px){.appointment-booking-modal{max-width:95%;max-height:95vh}.modal-content{padding:1.5rem}.practitioner-info{flex-direction:column;text-align:center;gap:1rem}.progress-indicator{flex-wrap:wrap;gap:1rem}.date-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.5rem}.time-slots{grid-template-columns:1fr}.form-actions{flex-direction:column}}:root{--primary-600: #3498db;--success-600: #27ae60;--warning-600: #f39c12;--danger-600: #e74c3c;--bg: #f6f8fa;--surface: #f8f9fa;--surface-2: #ffffff;--border: #ecf0f1;--border-strong: #bdc3c7;--text-strong: #2c3e50;--text: #34495e;--text-muted: #7f8c8d;--shadow-sm: 0 2px 4px rgba(0,0,0,.08);--shadow-md: 0 6px 16px rgba(0,0,0,.12);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--focus-ring: 0 0 0 3px rgba(52, 152, 219, .35)}@media (prefers-color-scheme: dark){:root{--bg: #0f141a;--surface: #121a22;--surface-2: #101820;--border: #203040;--border-strong: #2a3b4d;--text-strong: #ecf0f1;--text: #d0d7de;--text-muted: #aab8c2;--shadow-sm: 0 2px 4px rgba(0,0,0,.45);--shadow-md: 0 6px 18px rgba(0,0,0,.55)}}html,body,#root{height:100%}body{background:var(--bg);color:var(--text)}.container{width:100%;margin:0 auto}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--radius-md);border:0;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:focus-visible{outline:0;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn--primary{background:var(--button-bg);color:var(--button-text);box-shadow:0 6px 16px #0000002e}.btn--primary:hover{background:var(--button-hover-bg);color:var(--button-text);transform:translateY(-1px);box-shadow:0 8px 22px #00000040}.btn--success{background:var(--success-600);color:#fff;box-shadow:0 2px 4px #27ae6033}.btn--success:hover{transform:translateY(-1px);box-shadow:0 6px 14px #27ae6047}.btn--warning{background:var(--warning-600);color:#fff;box-shadow:0 2px 4px #f39c1233}.btn--warning:hover{transform:translateY(-1px);box-shadow:0 6px 14px #f39c1247}.btn--danger{background:var(--danger-600);color:#fff;box-shadow:0 2px 4px #e74c3c33}.btn--danger:hover{transform:translateY(-1px);box-shadow:0 6px 14px #e74c3c47}.input,.select,.textarea{width:100%;padding:.75rem;background:var(--surface-2);color:var(--text-strong);border:2px solid var(--border);border-radius:var(--radius-sm)}.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--primary-600);box-shadow:var(--focus-ring)}input,select,textarea{color:var(--text-strong);background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);caret-color:var(--primary-600)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary-600);box-shadow:var(--focus-ring)}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.section__title{color:var(--text-strong);font-size:1.05rem;font-weight:700;margin:0 0 .75rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9998;padding:1rem}.modal{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-md);z-index:9999}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;color:#fff}.modal__header--brand{background:var(--primary-600)}.modal__header--danger{background:var(--danger-600)}.modal__header--success{background:var(--success-600)}.modal__title{margin:0;font-weight:700;font-size:1.2rem}.modal__body{padding:1.25rem}.modal__footer{padding:1rem 1.25rem;display:flex;gap:.75rem;border-top:1px solid var(--border)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}:root{color-scheme:light;accent-color:var(--button-bg);--color-primary: #4CAF50;--color-primary-dark: #45a049;--color-primary-light: #66BB6A;--menu-bg: #FFB901;--menu-text: #1F2937;--home-bg: #e5e7eb;--color-secondary: #2196F3;--color-accent: #FF9800;--color-success: #4CAF50;--color-warning: #FF9800;--color-error: #f44336;--color-info: #2196F3;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-page: var(--home-bg);--bg-overlay: rgba(0, 0, 0, .35);--bg-glass: rgba(255, 255, 255, .1);--bg-card: #ffffff;--bg-input: #ffffff;--bg-hover: rgba(76, 175, 80, .1);--text-primary: #212529;--text-secondary: #6c757d;--text-tertiary: #adb5bd;--text-inverse: #ffffff;--text-muted: #868e96;--text-placeholder: #adb5bd;--button-bg: #3f3b21;--button-hover-bg: #485e46;--button-text: #f8faf0;--button-border: #2c2815;--border-primary: #dee2e6;--border-secondary: #e9ecef;--border-focus: var(--color-primary);--border-error: var(--color-error);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1)}[data-theme=dark],.dark{color-scheme:dark;--color-primary: #66BB6A;--color-primary-dark: #4CAF50;--color-primary-light: #81C784;--menu-bg: #FFB901;--menu-text: #1F2937;--home-bg: #f3f4f6;--color-secondary: #42A5F5;--color-accent: #FFB74D;--color-success: #66BB6A;--color-warning: #FFB74D;--color-error: #EF5350;--color-info: #42A5F5;--bg-primary: #192439;--bg-secondary: #212d45;--bg-tertiary: #2b3954;--bg-page: linear-gradient(135deg, #2c3e50, #34495e);--bg-overlay: rgba(0, 0, 0, .55);--bg-glass: rgba(0, 0, 0, .2);--bg-card: #25344d;--bg-input: #2f3f5c;--bg-hover: rgba(255, 255, 255, .08);--text-primary: #f2f6ff;--text-secondary: #cdd6f4;--text-tertiary: #9ba5c8;--text-inverse: #111827;--text-muted: #9aa3c2;--text-placeholder: #8a94b5;--button-bg: rgba(255, 255, 255, .08);--button-hover-bg: rgba(255, 255, 255, .14);--button-text: var(--text-primary);--button-border: rgba(255, 255, 255, .22);--border-primary: #3b4a66;--border-secondary: #2c3850;--border-focus: var(--color-primary);--border-error: var(--color-error);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .4);--glass-bg: rgba(0, 0, 0, .2);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3)}html[dir=rtl]{direction:rtl}html[lang=ar]{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Naskh Arabic,Noto Sans Arabic,Tahoma,Arial,sans-serif;text-rendering:optimizeLegibility}html[dir=rtl] body{text-align:right;unicode-bidi:plaintext}html[dir=rtl] input,html[dir=rtl] textarea,html[dir=rtl] select{text-align:right}html[lang=zh-TW]{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans TC,Microsoft JhengHei,PingFang TC,Heiti TC,Noto Sans,Arial,sans-serif;text-rendering:optimizeLegibility}html[lang=zh-TW] body{word-break:break-word;line-break:strict}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{background:var(--bg-page, var(--bg-primary));color:var(--text-primary);transition:background-color .3s ease,color .3s ease}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,select,textarea{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;padding:.5rem .6rem}.form-input,.form-select,.form-textarea,.textarea,.input,.select{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}label{color:var(--text-primary)}select option{background-color:var(--bg-card, #ffffff);color:var(--text-primary, #1f2937)}[data-theme=dark] select option{background-color:#111a2b;color:#f2f6ff}button,input[type=button],input[type=submit],input[type=reset]{background-color:var(--button-bg);color:var(--button-text);border:1px solid var(--button-border);border-radius:6px;font-weight:600;box-shadow:0 6px 16px #00000026;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}button:hover,input[type=button]:hover,input[type=submit]:hover,input[type=reset]:hover{background-color:var(--button-hover-bg);color:var(--button-text);transform:translateY(-1px);box-shadow:0 8px 20px #0003}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}a{color:var(--color-secondary)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.card{background-color:var(--bg-card);border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.input{background-color:var(--bg-input);border:1px solid var(--border-primary);color:var(--text-primary)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #4caf5033}.input::placeholder{color:var(--text-placeholder)}.button-primary{background-color:var(--color-primary);color:var(--text-inverse);border:none}.button-primary:hover{background-color:var(--color-primary-dark)}.button-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.button-secondary:hover{background-color:var(--bg-hover)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-card{background-color:var(--bg-card)}.border-primary{border-color:var(--border-primary)}.navigation{background-color:var(--bg-card);border-bottom:1px solid var(--border-primary)}.dashboard-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.form-group{margin-bottom:1rem}.form-label{color:var(--text-primary);font-weight:500;margin-bottom:.5rem;display:block}.form-control{background-color:var(--bg-input);border:1px solid var(--border-primary);color:var(--text-primary);padding:.75rem;border-radius:.375rem;width:100%;transition:all .3s ease}.form-control:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #4caf5033}.alert{padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem}.alert-success{background-color:#4caf501a;color:var(--color-success);border:1px solid rgba(76,175,80,.3)}.alert-error{background-color:#f443361a;color:var(--color-error);border:1px solid rgba(244,67,54,.3)}.alert-warning{background-color:#ff98001a;color:var(--color-warning);border:1px solid rgba(255,152,0,.3)}.alert-info{background-color:#2196f31a;color:var(--color-info);border:1px solid rgba(33,150,243,.3)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background-color:#4caf504d;color:var(--text-primary)}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}.loading-spinner{border:2px solid var(--border-secondary);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{background-color:#00000080}[data-theme=dark] .modal-overlay{background-color:#000000b3}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-primary);box-shadow:var(--shadow-xl)}.tooltip{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion: no-preference){*{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}}@media (prefers-contrast: high){:root{--border-primary: #000000;--text-primary: #000000}[data-theme=dark]{--border-primary: #ffffff;--text-primary: #ffffff}}.wizard-step label{font-size:1rem;font-weight:650;color:#1f2937e6;margin-bottom:.35rem;display:inline-block}.wizard-step .input,.wizard-step select,.wizard-step textarea{background:#fff;color:var(--text-primary);border-radius:14px;border:1px solid rgba(15,23,42,.12);padding:.85rem 1rem;box-shadow:0 14px 30px #0f172a17;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.wizard-step .input:focus,.wizard-step select:focus,.wizard-step textarea:focus{border-color:var(--button-bg);box-shadow:0 18px 32px #0f172a26;outline:none}.wizard-step select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%232c2c2c' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px}.wizard-step .field-group{display:flex;flex-direction:column;gap:.25rem}.consent-note{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.link,.consent-note .link{color:var(--button-bg);font-weight:600;text-decoration:underline}.tooltip__content{white-space:normal;max-width:240px}.validation-grid{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}.validation-list{background:#1c2a38e6;border-radius:16px;padding:1.25rem;display:grid;gap:1rem}.validation-list h2{margin:0;color:#fff}.validation-list ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.validation-list button{width:100%;display:grid;gap:.35rem;padding:.75rem;text-align:left;border:1px solid transparent;border-radius:12px;background:#131d27d9;color:#ecf0f1d9;cursor:pointer;transition:border-color .2s ease,background .2s ease}.validation-list button.active,.validation-list button:hover{border-color:#1abc9c99;background:#1abc9c1f}.validation-list .badge{justify-self:start}.validation-list .muted{font-size:.8rem;opacity:.65}.wizard-status{margin-top:auto;padding:1rem;border-radius:12px;background:#3f3b2114;font-size:.85rem;color:var(--text-secondary);display:grid;gap:.5rem}.wizard-status__message,.wizard-status__elapsed{margin:0;font-size:.8rem;color:#1f2937d9}.tooltip{position:relative;display:inline-flex;align-items:center;margin-left:.35rem}.tooltip__icon{display:inline-flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:50%;background:#1abc9c66;color:#fff;font-size:10px;cursor:help}.tooltip__content{position:absolute;top:120%;left:50%;transform:translate(-50%);background:#131d27f2;color:#ecf0f1e6;border-radius:8px;padding:.5rem .75rem;width:220px;font-size:.8rem;box-shadow:0 10px 25px #0003;z-index:20}.dashboard-grid{display:grid;gap:1.5rem}.dashboard-summary__cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-filters{display:flex;gap:1rem;flex-wrap:wrap}.dashboard-filters label{display:grid;gap:.4rem;color:#ecf0f1cc}.dashboard-filters select{background:#131d27eb;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.4rem .6rem;color:#ecf0f1e6}.dashboard-table .table-wrapper{overflow-x:auto}.dashboard-table table,.dashboard-metrics table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td,.dashboard-metrics th,.dashboard-metrics td{padding:.65rem .75rem;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.dashboard-table tbody tr:hover{background:#1abc9c14}.validation-detail{display:grid;gap:1.25rem}.validation-actions{display:grid;gap:.75rem;margin-top:.75rem}.validation-actions__buttons{display:flex;gap:.75rem;flex-wrap:wrap}.wizard-container{display:grid;grid-template-columns:300px 1fr;min-height:75vh;background:var(--bg-card);border-radius:24px;overflow:hidden;box-shadow:0 35px 80px #0f172a2e;border:1px solid rgba(15,23,42,.05);color:var(--text-primary)}.wizard-sidebar{padding:2.25rem 2rem;background:linear-gradient(180deg,#ffffffe6,#f3f4f6f2);display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid rgba(15,23,42,.05)}.wizard-sidebar h1{font-size:1.6rem;font-weight:600;color:var(--text-primary);line-height:1.3}.wizard-steps{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.wizard-steps__item{display:flex;align-items:center;gap:.75rem;font-size:.95rem;padding:.75rem 1rem;border-radius:12px;background:#0f172a0a;color:var(--text-secondary);transition:all .2s ease}.wizard-steps__item:before{content:"";width:10px;height:10px;border-radius:50%;background:#fff6;flex-shrink:0}.wizard-steps__item--active{background:#3f3b211f;color:var(--text-primary);box-shadow:0 12px 30px #3f3b2126}.wizard-steps__item--active:before{background:var(--button-bg);box-shadow:0 0 12px #3f3b2173}.wizard-status{margin-top:auto;padding:1rem;border-radius:12px;background:#3f3b2114;font-size:.85rem;color:var(--text-secondary)}.wizard-history{margin-top:1rem;padding:1rem;border-radius:12px;background:#f3f4f6e6;color:var(--text-secondary);max-height:280px;overflow-y:auto;box-shadow:inset 0 1px 2px #0f172a0a}.wizard-history h2{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.wizard-history ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.wizard-history__title{font-weight:600}.wizard-history__meta{display:flex;gap:.6rem;font-size:.8rem;color:var(--text-secondary)}.wizard-history__hint{font-size:.85rem;color:var(--text-secondary)}.wizard-history__hint--error{color:#e57373}.wizard-history__recommendations{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.4rem}.wizard-history__recommendations li{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.wizard-history__rec-title{color:var(--text-primary)}.wizard-status__saving{color:#b7791f}.wizard-status__saved{color:#1f2937;font-weight:700}.wizard-main{padding:3rem 4rem;background:var(--bg-secondary);overflow-y:auto}.wizard-step h2{font-size:1.8rem;margin-bottom:.75rem;color:var(--text-primary)}.wizard-step p{margin-bottom:2rem;color:var(--text-secondary);max-width:620px}.persona-grid{display:grid;gap:1.5rem}.persona-card{padding:1.5rem;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);display:grid;gap:.5rem;text-align:left;color:var(--text-primary);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:0 18px 45px #0f172a14}.persona-card:hover,.persona-card:focus{transform:translateY(-2px);border-color:#3f3b2159;box-shadow:0 22px 55px #0f172a1f;outline:none}.persona-card--active{border-color:#485e46a6;box-shadow:0 24px 60px #485e4640}.persona-card__label{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.persona-card__description{font-size:.95rem;color:var(--text-secondary)}.form{display:grid;gap:1.75rem;max-width:820px}.grid{display:grid;gap:1.5rem}.grid--two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.field-group{display:grid;gap:.5rem}.field-group label{font-size:1rem;font-weight:650;color:#1f2937e6}.input,.select,.textarea{width:100%;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:.85rem 1rem;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 14px 30px #0f172a17}.input:focus,.select:focus,.textarea:focus{border-color:var(--button-bg);box-shadow:0 18px 32px #0f172a26;outline:none}.textarea{resize:vertical;min-height:120px}.field-error{color:#e57373;font-size:.85rem}.wizard-actions{display:flex;justify-content:space-between;gap:1rem}.wizard-actions .btn{min-width:140px}.consent-list{display:grid;gap:1rem;margin-bottom:2rem}.consent-item{display:flex;gap:.75rem;align-items:flex-start;background:#fff;padding:1.15rem 1.3rem;border-radius:16px;color:var(--text-primary);border:1px solid rgba(15,23,42,.08);box-shadow:0 15px 45px #0f172a14}.consent-item input{margin-top:.25rem;width:18px;height:18px}.consent-meta{display:grid;gap:1.2rem;margin-bottom:2.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));color:var(--text-secondary)}.consent-meta label{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem;display:inline-block}.consent-meta .input{background:#fff;color:var(--text-primary);border-radius:12px;border:1px solid rgba(15,23,42,.12);padding:.85rem 1rem;box-shadow:0 10px 24px #0f172a14}.summary__block{background:#fff;padding:1.5rem;border-radius:16px;margin-bottom:1.5rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px #0f172a14}.summary__block h3{margin:0 0 .75rem;color:var(--text-primary)}.summary__list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.4rem;font-size:.95rem;color:var(--text-secondary)}.summary__snippet{max-height:220px;overflow:auto;background:#f9f9f9f2;padding:1rem;border-radius:12px;border:1px solid rgba(15,23,42,.08);color:var(--text-secondary);font-size:.85rem}.summary__details{display:grid;gap:.4rem}.summary__detail-row{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:.75rem;align-items:flex-start}.summary__detail-key{font-weight:600;color:var(--text-secondary);text-transform:capitalize;word-break:break-word}.summary__detail-value{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.summary__footer{margin-top:2.5rem;display:grid;gap:1rem;padding:1.5rem;border-radius:16px;background:#f9f9f9f2;border:1px solid rgba(15,23,42,.08)}.summary__status{font-size:.85rem;color:var(--text-secondary)}.summary__actions{display:flex;gap:1rem;flex-wrap:wrap}.summary__block-actions{margin-top:1rem;display:flex;gap:.75rem;flex-wrap:wrap}.summary__message{padding:.75rem 1rem;border-radius:12px;font-size:.9rem}.summary__message--success{background:#2ecc711f;border:1px solid rgba(46,204,113,.3);color:#166534}.summary__message--error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.3);color:#b91c1c}.summary__hint{font-size:.9rem;color:var(--text-secondary)}.summary__edit-form{margin-top:1rem;padding:1rem;border-radius:12px;border:1px dashed rgba(15,23,42,.2);background:#f9f9f9f2;display:grid;gap:1rem}.summary__edit-checkbox{display:flex;gap:.5rem;align-items:center;font-size:.9rem;color:var(--text-primary)}.summary__edit-checkbox input{width:18px;height:18px}.summary__edit-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.btn.btn--ghost{background:#f3f4f6;color:var(--text-primary);border:1px solid rgba(15,23,42,.12);box-shadow:none}.btn.btn--ghost:hover,.btn.btn--ghost:focus{background:#e5e7eb}.summary__recommendations{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.summary__recommendation-header{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:.5rem}.summary__recommendation-title{font-weight:600;color:var(--text-primary)}.summary__badge{padding:.25rem .6rem;border-radius:999px;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:.3rem;background:#3f3b211f;color:var(--text-primary)}.summary__badge--high{background:#e74c3c2e;color:#b91c1c}.summary__badge--medium{background:#f1c40f2e;color:#92400e}.summary__badge--low{background:#2ecc7126;color:#166534}.summary__badge--modality{background:#3498db26;color:#1d4ed8}.summary__recommendation-rationale{margin:0;padding-left:1.25rem;display:grid;gap:.3rem;color:var(--text-secondary);font-size:.9rem}.summary__recommendation-desc{margin:0 0 .6rem;color:var(--text-secondary);font-size:.9rem}.summary__recommendation-source{font-size:.8rem;color:#1f293799;margin:.4rem 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0307128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:#fff;border-radius:20px;padding:2rem;width:min(520px,92vw);box-shadow:0 35px 80px #0f172a59;border:1px solid rgba(15,23,42,.08);color:var(--text-primary)}.modal h3{margin-top:0;margin-bottom:.35rem;color:var(--text-primary)}.modal p{margin-top:0;margin-bottom:1.25rem;color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.rating-input{display:flex;gap:.5rem}.rating-input__star{background:none;border:none;font-size:1.6rem;color:#94a3b899;cursor:pointer;transition:transform .15s ease,color .15s ease}.rating-input__star:hover,.rating-input__star:focus{transform:scale(1.2);color:#fbbf24}.rating-input__star--active{color:#f59e0b}.btn.btn--link{background:#9ca3af;border:none;color:#fff;padding:.25rem .9rem;font-size:.9rem;border-radius:999px;transition:background-color .2s ease,transform .2s ease;box-shadow:0 6px 16px #0f172a1f}.btn.btn--link:hover,.btn.btn--link:focus{background:#6b7280;transform:translateY(-1px)}@media (max-width: 960px){.wizard-container{grid-template-columns:1fr}.wizard-sidebar{position:sticky;top:0;z-index:2}}
