@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Playfair+Display:wght@600;700;800&display=swap";:root{--primary:#1b2a4a;--primary-light:#2d4373;--accent:#c8922a;--accent-light:#e8b84d;--background:#fafaf8;--surface:#fff;--surface-alt:#f3f1ee;--text:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#7a7a7a;--border:#e5e2dc;--border-light:#edebe6;--success:#2d8a56;--danger:#c53030;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--transition:all .25s ease;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000012;--shadow-lg:0 8px 32px #00000017;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Playfair Display", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.65}.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}h1,h2,h3{font-family:var(--font-display);color:var(--primary);letter-spacing:-.01em;font-weight:700;line-height:1.25}h4,h5,h6{font-family:var(--font-body);color:var(--text);font-weight:600;line-height:1.35}.section-title{text-align:center;margin-bottom:.75rem;font-size:2.25rem}.section-subtitle{color:var(--text-muted);text-align:center;max-width:560px;margin:0 auto;font-size:1.05rem}.text-gradient{color:var(--accent);-webkit-text-fill-color:var(--accent);background:0 0;-webkit-background-clip:unset;background-clip:unset}.text-primary{color:var(--primary)}.text-accent{color:var(--accent)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.text-sm{font-size:.9rem}.text-xs{font-size:.8rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-12{margin-top:3rem}.mt-auto{margin-top:auto}.pt-4{padding-top:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-0{padding:0!important}.mx-auto{margin-left:auto;margin-right:auto}.max-w-2xl{max-width:42rem}.overflow-hidden{overflow:hidden}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.95rem;font-weight:600;font-family:var(--font-body);border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-light);border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--primary);border-color:var(--border);background:0 0}.btn-secondary:hover{border-color:var(--primary);background:#1b2a4a0a}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}.glass-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);background:#ffffffeb}.grid{display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (width>=768px){.md-grid-cols-2{grid-template-columns:repeat(2,1fr)}.md-grid-cols-3{grid-template-columns:repeat(3,1fr)}.md-grid-cols-4{grid-template-columns:repeat(4,1fr)}.md-hidden{display:none}.md-flex{display:flex}}@media (width>=1024px){.lg-grid-cols-3{grid-template-columns:repeat(3,1fr)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.navbar{z-index:100;transition:var(--transition);background:0 0;padding:1.25rem 0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fffffff2;padding:.75rem 0}.navbar-container{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:.6rem;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;text-decoration:none!important}.logo:hover{box-shadow:none!important;background:0 0!important;outline:none!important;text-decoration:none!important}.logo-image-header{width:auto;height:38px;transition:var(--transition);border-radius:6px;box-shadow:0 2px 6px #00000026}.logo:hover .logo-image-header{transform:scale(1.06)}.logo-text{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;transition:var(--transition);font-size:1.3rem;font-weight:700}.navbar.scrolled .logo-text{color:var(--primary)}.nav-link{color:#ffffffd9;transition:var(--transition);padding:.25rem 0;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.navbar.scrolled .nav-link{color:var(--text-secondary)}.nav-link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.nav-link:hover{color:var(--accent-light)}.navbar.scrolled .nav-link:hover{color:var(--accent)}.nav-link:hover:after{width:100%}.desktop-menu{align-items:center;gap:2rem;display:none}@media (width>=768px){.desktop-menu{display:flex}}.mobile-toggle{color:#fff;cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.25rem}.navbar.scrolled .mobile-toggle{color:var(--primary)}@media (width>=768px){.mobile-toggle{display:none}}.mobile-menu{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-menu .nav-link{color:var(--text-secondary)}.mobile-menu .nav-link:hover{color:var(--accent)}.w-full{width:100%}.footer{background:var(--primary);color:#ffffffb3;margin-top:0;padding:3.5rem 0 2rem}.footer-content{border-bottom:1px solid #ffffff1f;flex-direction:column;gap:2rem;margin-bottom:2.5rem;padding-bottom:2rem;display:flex}@media (width>=768px){.footer-content{flex-direction:row;justify-content:space-between;align-items:center}}.footer-logo .logo-text{font-family:var(--font-display);color:#fff;font-size:1.2rem;font-weight:700}.footer .text-muted{color:#ffffff80}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{color:#fff9;transition:var(--transition);font-size:.88rem;text-decoration:none}.footer-links a:hover{color:var(--accent-light)}.footer-bottom{text-align:center;flex-direction:column;gap:.75rem;display:flex}@media (width>=768px){.footer-bottom{text-align:left;flex-direction:row;justify-content:space-between}}.hero-section{background:var(--primary);align-items:center;min-height:100vh;padding-top:5rem;display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";z-index:1;background:linear-gradient(135deg,#1b2a4af7 0%,#2d4373e6 100%);position:absolute;inset:0}.hero-content{z-index:10;position:relative}.hero-text h1{color:#fff;font-size:3rem;line-height:1.15;font-family:var(--font-body);letter-spacing:-.02em;margin-bottom:1.5rem;font-weight:700}.hero-text h1 .text-gradient{color:var(--accent-light);-webkit-text-fill-color:var(--accent-light)}.hero-description{color:#ffffffb3;max-width:520px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.75}.hero-actions .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--primary);font-weight:700}.hero-actions .btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.hero-actions .btn-secondary{color:#ffffffe6;background:0 0;border-color:#ffffff40}.hero-actions .btn-secondary:hover{color:#fff;background:#ffffff14;border-color:#ffffff80}.ml-2{margin-left:.5rem}.hero-visual{position:relative}.visual-card{border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:-20px -20px 70px #c8922a2e,  20px 20px 70px #4a7ab538,  var(--shadow-lg);background:#ffffff14;border:1px solid #ffffff1f;padding:.75rem;position:relative}.hero-image{border-radius:var(--radius-md);object-fit:cover;aspect-ratio:4/3;width:100%;height:auto;display:block}@media (width<=768px){.hero-text h1{font-size:2.2rem}}.text-muted-light{color:var(--text-muted);line-height:1.5}.about-content h3{color:var(--primary);font-size:1.6rem;font-family:var(--font-display)}.feature-card{border-radius:var(--radius-lg);height:100%;padding:1.5rem}.feature-card:hover{border-color:var(--accent)}.icon-wrapper{border-radius:var(--radius-sm);color:var(--accent);background:#c8922a1a;padding:.65rem;display:inline-flex}.feature-icon{width:22px;height:22px}.vehicle-card{flex-direction:column;display:flex;overflow:hidden}.vehicle-image-wrapper{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.vehicle-image{object-fit:cover;width:100%;height:100%;transition:transform .6s}.vehicle-card:hover .vehicle-image{transform:scale(1.04)}.vehicle-badge{background:var(--accent);color:#fff;border-radius:var(--radius-sm);letter-spacing:.03em;text-transform:uppercase;padding:.3rem .85rem;font-size:.75rem;font-weight:700;position:absolute;top:1rem;right:1rem}.vehicle-info{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.vehicle-info h3{color:var(--primary);font-size:1.35rem;font-family:var(--font-display);margin-bottom:.5rem}.vehicle-tag{background:var(--surface-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.mb-16{margin-bottom:4rem}.promo-icon{background:#c8922a1a;border-radius:50%;padding:1rem;display:inline-flex}.promo-icon .text-gradient{color:var(--accent);-webkit-text-fill-color:var(--accent)}.agenda-promo{border-color:var(--border);position:relative;overflow:hidden}.agenda-promo:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;position:absolute;top:0;left:0;right:0}.sida-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);border-left:4px solid var(--accent)}.tabs-nav{background:var(--surface-alt);border-radius:var(--radius-md);border:1px solid var(--border-light);max-width:fit-content;margin:0 auto 2.5rem;padding:.35rem;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);font-size:.9rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:.7rem 1.4rem}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.tab-content{width:100%;min-height:350px;position:relative}.price-card{flex-direction:column;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden}.price-card.popular{border-color:var(--accent);box-shadow:0 6px 24px #c8922a1a}.price-card.popular:hover{transform:translateY(-4px)}.popular-badge{background:var(--accent);color:#fff;letter-spacing:.05em;text-transform:uppercase;padding:.2rem 2.5rem;font-size:.7rem;font-weight:700;position:absolute;top:1rem;right:-2.2rem;transform:rotate(45deg)}.price-header{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.price-header h3{margin:0;font-size:1.35rem}.price-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.55}.features-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.features-list li{color:var(--text-secondary);align-items:flex-start;gap:.6rem;font-size:.88rem;line-height:1.45;display:flex}.text-green{color:var(--success)}@keyframes fadeInTab{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.35s ease-out forwards fadeInTab}.unasca-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.unasca-banner:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.unasca-icon-wrapper{transition:var(--transition)}.unasca-banner:hover .unasca-icon-wrapper{transform:scale(1.05)}.unasca-maps-link{text-underline-offset:4px;font-weight:600;text-decoration:underline}@media (width<=768px){.tabs-nav{border-radius:var(--radius-md);flex-direction:column;width:100%}.tab-btn{text-align:center;width:100%}}#rinnovi{background-color:var(--background);padding:6rem 0}.rinnovi-grid{grid-template-columns:1fr;align-items:start;gap:2.5rem;display:grid}@media (width>=992px){.rinnovi-grid{grid-template-columns:1.1fr .9fr}}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);padding:2.5rem}.info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-title{font-family:var(--font-display);color:var(--primary);border-bottom:1px solid var(--border-light);padding-bottom:.75rem;font-size:1.5rem}.intervals-table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-light);margin-top:1.25rem;overflow-x:auto}.intervals-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.intervals-table th{background-color:var(--surface-alt);color:var(--primary);border-bottom:2px solid var(--border);padding:1rem;font-weight:700}.intervals-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding:1rem}.intervals-table tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;border-radius:50px;padding:.25rem .75rem;font-size:.8rem;font-weight:700;display:inline-block}.badge-gold{color:var(--accent);background-color:#c8922a1a;border:1px solid #c8922a40}.higher-categories-info{background:var(--surface-alt);border-radius:var(--radius-md);border-left:3px solid var(--accent);padding:1rem 1.25rem}.higher-categories-info ul{padding-left:0}.higher-categories-info li{align-items:flex-start;gap:.25rem;margin-bottom:.4rem;display:flex}.higher-categories-info li svg{flex-shrink:0;margin-top:.15rem}.doctor-schedule{border-radius:var(--radius-md);border:1px solid var(--border-light);border-left:4px solid var(--accent);background-color:#1b2a4a08;margin-bottom:1.5rem;padding:1.25rem}.schedule-day .day-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem;font-size:.8rem;font-weight:600}.schedule-day .time-value{color:var(--accent);font-size:1.1rem;font-weight:700}.schedule-day.border-l{border-left:1px solid var(--border-light);padding-left:1rem}.documents-list{padding-left:.25rem}.documents-list li{color:var(--text-secondary)}.simulator-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-top:4px solid var(--accent);overflow:hidden}.simulator-header{border-bottom:1px solid var(--border-light)}.simulator-header .icon-wrapper{border-radius:var(--radius-md);background-color:#c8922a14;border:1px solid #c8922a26;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.simulator-form{margin-top:1.5rem}.form-group{position:relative}.form-label{color:var(--primary);font-weight:600}.form-input,.form-select{border-radius:var(--radius-md);border:1.5px solid var(--border);background-color:var(--surface);width:100%;font-family:var(--font-body);color:var(--text);transition:var(--transition);outline:none;padding:.85rem 1rem;font-size:.95rem}.form-input:focus,.form-select:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #c8922a1f}.simulator-results{background-color:var(--surface-alt);border-top:1px solid var(--border)}.result-summary-grid{margin-bottom:1.25rem}.summary-item{box-shadow:var(--shadow-sm)}.summary-item span{margin-bottom:.25rem;display:block}.summary-item strong{color:var(--primary);font-size:1.25rem;display:block}.expiry-display{box-shadow:var(--shadow-md);background-color:var(--primary);color:#fff;border:1px solid #ffffff0d;border-bottom:3px solid var(--accent);transition:var(--transition)}.expiry-display .label{opacity:.8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;display:block}.expiry-display .expiry-date{color:var(--accent-light);font-size:1.5rem;font-family:var(--font-display);font-weight:700;display:block}.expiry-display:hover{transform:scale(1.01);box-shadow:0 8px 24px #1b2a4a26}.birthday-rule-badge{animation:2s infinite alternate pulse-border}.countdown-box{box-shadow:var(--shadow-sm)}.countdown-box.is-expired{background-color:#c530300d;border-color:#c5303033}.countdown-box.is-valid{background-color:#2d8a560d;border-color:#2d8a5633}.countdown-box .status-badge{justify-content:center;align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}.countdown-box.is-expired .status-badge{color:var(--danger)}.countdown-box.is-valid .status-badge{color:var(--success)}.countdown-box p{color:var(--primary);font-size:1.1rem;font-weight:700}.alert{border-radius:var(--radius-md);align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:1rem;font-size:.9rem;display:flex}.alert svg{flex-shrink:0;margin-top:.15rem}.alert-error{color:var(--danger);background-color:#c5303014;border:1px solid #c5303033}.alert-warning{color:var(--text-secondary);background-color:#c8922a14;border:1px solid #c8922a4d}.alert-success{color:var(--success);background-color:#2d8a5614;border:1px solid #2d8a564d;justify-content:center;font-weight:600}@keyframes pulse-border{0%{background-color:#ffffff1a}to{background-color:#c8922a40}}@media (width<=576px){.info-card{padding:1.5rem}.card-title{font-size:1.3rem}.intervals-table th,.intervals-table td{padding:.75rem;font-size:.85rem}.result-summary-grid{grid-template-columns:1fr;gap:.75rem}}.bacheca-section{background-color:var(--background)}.stat-card{border-radius:var(--radius-lg);transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;display:flex}.stat-icon{color:var(--accent);width:54px;height:54px;transition:var(--transition);background:#c8922a14;border-radius:50%;justify-content:center;align-items:center;display:flex}.stat-card:hover .stat-icon{background:var(--accent);color:var(--primary);transform:scale(1.08)}.stat-value{font-family:var(--font-body);font-size:1.8rem;font-weight:700}.bacheca-gallery{flex-wrap:wrap;justify-content:center;gap:2.2rem;display:flex}.polaroid-card{border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;flex:300px;max-width:350px;padding:1rem 1rem 1.5rem;transition:all .35s cubic-bezier(.25,.8,.25,1);position:relative;box-shadow:0 10px 25px #1b2a4a14}.polaroid-card:first-child{transform:rotate(-1.5deg)}.polaroid-card:nth-child(2){transform:rotate(1.5deg)}.polaroid-card:nth-child(3){transform:rotate(-1deg)}.polaroid-card:nth-child(4){transform:rotate(1.2deg)}.polaroid-card:nth-child(5){transform:rotate(-1.3deg)}.polaroid-img-wrapper{aspect-ratio:4/3;background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;width:100%;position:relative;overflow:hidden}.polaroid-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.polaroid-date{color:#fff;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b2a4ad9;padding:.2rem .5rem;font-size:.75rem;font-weight:600;position:absolute;bottom:8px;right:8px}.polaroid-content{text-align:center;margin-top:1.2rem;padding:0 .25rem}.polaroid-title{font-family:var(--font-display);color:var(--primary);font-size:1.15rem;font-weight:700}.polaroid-desc{color:var(--text-secondary);line-height:1.5}.polaroid-card:hover{border-color:var(--accent);z-index:10;box-shadow:0 25px 45px #1b2a4a26;transform:translateY(-10px)scale(1.04)rotate(0)!important}.polaroid-card:hover .polaroid-img{transform:scale(1.06)}.contact-info{padding:2.5rem}.contact-info h3{color:var(--primary);border-bottom:1px solid var(--border);font-size:1.4rem;font-family:var(--font-display);padding-bottom:1rem}.info-item{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.info-item:last-child{margin-bottom:0}.info-icon{color:var(--accent);border-radius:var(--radius-sm);background:#c8922a1a;flex-shrink:0;justify-content:center;align-items:center;padding:.7rem;display:flex}.info-text h4{color:var(--text);margin-bottom:.2rem;font-size:.95rem}.info-text p,.info-text a{color:var(--text-muted);transition:var(--transition);margin-bottom:.1rem;font-size:.88rem;text-decoration:none}.info-text a:hover{color:var(--accent)}.map-container{border-radius:var(--radius-lg);overflow:hidden}.input-wrapper input,.input-wrapper textarea{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font-body);transition:var(--transition);padding:1rem 1rem 1rem 3rem}.input-wrapper input:focus,.input-wrapper textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1b2a4a14}.mb-6{margin-bottom:1.5rem}.login-page{background:var(--surface-alt);align-items:center;min-height:100vh;padding-top:6rem;padding-bottom:4rem;display:flex}.login-card{border-radius:var(--radius-lg);width:100%;max-width:420px;margin:0 auto;padding:2.5rem 2rem}.login-card:hover{transform:none}.login-icon-wrapper{width:72px;height:72px;color:var(--accent);background:#c8922a1a;border:1px solid #c8922a33;border-radius:50%;justify-content:center;align-items:center;display:flex}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);position:absolute;left:1rem}.input-wrapper input{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font-body);transition:var(--transition);padding:.8rem 1rem .8rem 2.75rem;font-size:.95rem}.input-wrapper input:focus{border-color:var(--primary);background:var(--surface);outline:none;box-shadow:0 0 0 3px #1b2a4a14}.input-wrapper input::placeholder{color:var(--text-muted)}.custom-checkbox{accent-color:var(--accent);width:16px;height:16px}.forgot-password{color:var(--accent);transition:var(--transition);font-size:.85rem;text-decoration:none}.forgot-password:hover{color:var(--primary);text-decoration:underline}.h-full{height:100%}.cursor-pointer{cursor:pointer}.register-page{background:var(--surface-alt);align-items:center;min-height:100vh;padding-top:6rem;padding-bottom:4rem;display:flex}.register-card{border-radius:var(--radius-lg);width:100%;max-width:520px;margin:0 auto;padding:2.5rem 2rem}.register-card:hover{transform:none}.register-card h2{font-size:1.5rem}.register-error{color:var(--danger);border-radius:var(--radius-sm);background:#c5303014;border:1px solid #c5303026;padding:.75rem 1rem;font-size:.85rem}.photo-section{margin-bottom:.5rem}.photo-buttons{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.photo-option-btn{background:var(--surface-alt);border:2px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);color:var(--text-muted);font-family:var(--font-body);flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;font-size:.85rem;font-weight:600;display:flex}.photo-option-btn:hover{border-color:var(--accent);color:var(--accent);background:#c8922a0a}.camera-container{border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.camera-video{border-radius:var(--radius-md) var(--radius-md) 0 0;background:#000;width:100%;display:block}.camera-actions{background:var(--surface-alt);gap:.75rem;padding:.75rem;display:flex}.camera-actions .btn{flex:1}.photo-preview-container{width:100%;display:inline-block;position:relative}.photo-preview{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;max-height:280px;display:block}.photo-remove-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-family:var(--font-body);transition:var(--transition);background:#000000b3;border:none;align-items:center;gap:.3rem;padding:.4rem .75rem;font-weight:600;display:flex;position:absolute;top:.5rem;right:.5rem}.photo-remove-btn:hover{background:var(--danger)}.register-select{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font-body);cursor:pointer;transition:var(--transition);appearance:auto;padding:.8rem 1rem;font-size:.95rem}.register-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1b2a4a14}.success-icon{width:64px;height:64px;color:var(--success);border:2px solid var(--success);background:#2d8a561a;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.register-login-link{color:var(--accent);font-weight:600;text-decoration:none}.register-login-link:hover{text-decoration:underline}.dashboard-page{background:var(--surface-alt);min-height:100vh;padding-top:7rem;padding-bottom:5rem}.text-3xl{font-size:1.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.border-b{border-bottom:1px solid}.border-t{border-top:1px solid}.border-glass{border-color:var(--border)}.capitalize{text-transform:capitalize}.px-8{padding-left:2rem;padding-right:2rem}@media (width>=1024px){.lg-col-span-2{grid-column:span 2/span 2}}.sticky-sidebar{position:sticky;top:6rem}.step-card{flex-direction:column;display:flex}.step-section{border-bottom:1px solid var(--border-light);margin-bottom:1.75rem;padding-bottom:1.75rem;transition:opacity .3s}.step-section.no-border{border-bottom:none;margin-bottom:0;padding-bottom:0}.step-number{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;font-weight:700;display:flex}.date-display{text-align:center;min-width:140px}.icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;transition:var(--transition);justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.day-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);color:var(--text);flex-direction:column;align-items:center;gap:.4rem;padding:.9rem .5rem;display:flex}.day-cell:hover:not(.disabled){border-color:var(--primary);background:#1b2a4a08}.day-cell.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #1b2a4a33}.day-cell.disabled{opacity:.3;cursor:not-allowed;background:0 0}.day-name{text-transform:capitalize;color:var(--text-muted);font-size:.8rem}.day-cell.selected .day-name{color:#fffc}.day-number{font-size:1.2rem;font-weight:700}.time-slot{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:var(--transition);font-size:.85rem;font-weight:600;font-family:var(--font-body);justify-content:center;align-items:center;gap:.4rem;padding:.8rem .5rem;display:flex}.time-slot:hover:not(:disabled){border-color:var(--primary);background:#1b2a4a0a}.time-slot.selected{background:var(--primary);border-color:var(--primary);color:#fff}.time-slot.booked{background:var(--surface-alt);color:var(--text-muted);border-color:var(--border-light);text-decoration:line-through}.type-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);font-weight:600;font-family:var(--font-body);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.15rem 1rem;display:flex}.type-btn:hover{border-color:var(--text-muted);color:var(--text)}.type-btn.selected-normal{border-color:var(--primary);color:var(--primary);background:#1b2a4a0f}.type-btn.selected-mandatory{border-color:var(--accent);color:var(--accent);background:#c8922a14}.booking-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);align-items:center;gap:1rem;padding:1rem;display:flex}.booking-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.booking-date{background:var(--surface-alt);color:var(--text);border:1px solid var(--border-light);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;min-width:56px;padding:.5rem .75rem;display:flex}.booking-date .day{color:var(--primary);font-size:1.4rem;font-weight:800;line-height:1}.booking-date .month{color:var(--accent);text-transform:uppercase;font-size:.7rem;font-weight:600}.booking-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.65rem;font-weight:700}.badge-normal{color:var(--primary);background:#1b2a4a14}.badge-mandatory{color:var(--accent);background:#c8922a1a}.flex-grow{flex-grow:1}.delete-booking-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex}.delete-booking-btn:hover{color:var(--danger);background:#c530301a}.delete-booking-btn:disabled{opacity:.3;cursor:not-allowed}.delete-booking-btn:disabled:hover{color:var(--text-muted);background:0 0}.student-input-container{background:var(--surface-alt);border-radius:var(--radius-md);border:1px solid var(--border);padding:1.15rem}.admin-tabs{border-bottom:1px solid var(--border)}.admin-tab{color:var(--text-muted);font-family:var(--font-body);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.75rem 1.5rem;font-weight:600;display:flex}.admin-tab:hover{color:var(--primary)}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.students-container{animation:.3s fadeIn}.student-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);flex-direction:column;display:flex;overflow:hidden}.student-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.student-photo-wrapper{aspect-ratio:1;background:var(--surface-alt);width:100%;position:relative;overflow:hidden}.student-photo{object-fit:cover;width:100%;height:100%;display:block}.student-photo-placeholder{width:100%;height:100%;color:var(--text-muted);opacity:.5;justify-content:center;align-items:center;display:flex}.student-license-badge{background:var(--accent);color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;padding:.25rem .5rem;font-size:.7rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.student-card-info{padding:1rem}.student-card-info h4{color:var(--primary);margin-bottom:.25rem;font-size:1.1rem}.delete-student-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;margin-left:.5rem;padding:.4rem;display:flex}.delete-student-btn:hover{color:var(--danger);background:#c530301a}.password-modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;background:#0b132bd9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.password-modal-card{border-radius:var(--radius-lg);text-align:center;background:#0f172af2;border:1px solid #c8922a4d;width:100%;max-width:450px;padding:2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) modal-appear;box-shadow:0 10px 40px #000c,0 0 20px #c8922a26}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.password-modal-icon-wrapper{border:1.5px solid var(--accent);color:var(--accent);background:#c8922a26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;display:flex}.password-modal-title{color:#fff;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.password-modal-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem;line-height:1.5}.password-modal-error{border:1px solid var(--danger);color:#ff8080;border-radius:var(--radius-sm);text-align:left;background:#c5303026;margin-bottom:1.5rem;padding:.75rem;font-size:.85rem;line-height:1.4}
