@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-card: rgba(255, 255, 255, .9);--color-bg-elevated: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #1e293b;--color-text-muted: #334155;--color-border: rgba(148, 163, 184, .3);--color-brand-teal: #40c9c9;--color-brand-teal-dark: #2fb3b3;--color-brand-deep: #1a5f7a;--color-brand-deep-dark: #134a5f;--color-accent-primary: #1a5f7a;--color-accent-secondary: #40c9c9;--color-accent-glow: rgba(64, 201, 201, .3);--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-cv: #3b82f6;--color-vc: #8b5cf6;--color-ccv: #ec4899;--color-ortografia: #14b8a6;--color-pseudo: #f97316;--color-palabras: #22c55e;--gradient-primary: linear-gradient(135deg, #1a5f7a 0%, #0d9488 50%, #40c9c9 100%);--gradient-card: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);--gradient-glow: radial-gradient(ellipse at center, rgba(64, 201, 201, .15), transparent 70%);--gradient-bg: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(64, 201, 201, .15) 0%, transparent 50%), radial-gradient(ellipse 60% 50% at 100% 40%, rgba(99, 102, 241, .1) 0%, transparent 50%), radial-gradient(ellipse 50% 60% at -10% 60%, rgba(26, 95, 122, .1) 0%, transparent 50%), linear-gradient(180deg, #ffffff 0%, #f0fdfa 25%, #ecfeff 50%, #f8fafc 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 30px var(--color-accent-glow);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}[data-theme=dark]{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-card: #1a1a25;--color-bg-elevated: #22222f;--color-text-primary: #ffffff;--color-text-secondary: #a0a0b0;--color-text-muted: #606070;--color-border: #2d2d3a;--color-accent-glow: rgba(64, 201, 201, .4);--gradient-card: linear-gradient(145deg, #1a1a25 0%, #12121a 100%);--gradient-glow: radial-gradient(ellipse at center, var(--color-accent-glow), transparent 70%);--gradient-bg: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(64, 201, 201, .08) 0%, transparent 50%), radial-gradient(ellipse 60% 50% at 100% 40%, rgba(99, 102, 241, .05) 0%, transparent 50%), radial-gradient(ellipse 50% 60% at -10% 60%, rgba(26, 95, 122, .06) 0%, transparent 50%), linear-gradient(180deg, #0a0a0f 0%, #0f1419 50%, #0a0a0f 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--gradient-bg);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 40px var(--color-accent-glow);color:#fff!important;background:var(--gradient-primary)}.btn-secondary{background:var(--color-bg-card);color:#1a1a2e;border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);color:#000!important}[data-theme=dark] .btn-secondary{color:var(--color-text-primary)}[data-theme=dark] .btn-secondary:hover{color:#fff!important}.btn-success{background:var(--color-success);color:#fff}.btn-error{background:var(--color-error);color:#fff}.input{width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow)}.input::placeholder{color:var(--color-text-muted)}.card{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md)}.container{max-width:1200px;margin:0 auto;padding:var(--space-xl)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{flex-direction:column}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes cardAppear{0%{opacity:0;transform:scale(.8) rotateX(-10deg)}to{opacity:1;transform:scale(1) rotateX(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-slide-up{animation:slideUp var(--transition-slow) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-base) ease forwards}.animate-card-appear{animation:cardAppear .2s ease-out forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-bg-elevated)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-primary);font-size:1.2rem}.theme-toggle:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);transform:scale(1.05)}.theme-toggle svg{width:20px;height:20px}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 24px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--landing-border)}.landing-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:12px}.landing-logo-img{height:36px;width:auto}.landing-logo-text{font-size:1.25rem;font-weight:700;color:var(--landing-primary)}.landing-nav{display:flex;align-items:center;gap:32px}.landing-nav a{color:var(--landing-text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.landing-nav a:hover{color:var(--landing-primary)}.btn-header-cta{background:var(--landing-primary);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-header-cta:hover{background:var(--landing-primary-dark);transform:translateY(-1px)}@media(max-width:768px){.landing-nav a{display:none}}.landing-footer{background:#0f172a;padding:64px 24px 24px;border-top:1px solid #1e293b;color:#f1f5f9}.footer-content{max-width:1200px;margin:0 auto 48px;display:grid;grid-template-columns:2fr 3fr;gap:64px}.footer-brand{display:flex;flex-direction:column;gap:16px}.footer-logo{height:48px;width:auto;max-width:180px;object-fit:contain}.footer-brand p{color:#cbd5e1;line-height:1.6;max-width:320px;font-size:.95rem}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.footer-column h4{font-size:1rem;font-weight:600;margin-bottom:16px;color:#f1f5f9}.footer-column a{display:block;color:#cbd5e1;text-decoration:none;font-size:.95rem;padding:8px 0;transition:color .2s}.footer-column a:hover{color:#fff}.footer-bottom{border-top:1px solid #1e293b;padding-top:24px;text-align:center}.footer-bottom p{color:#94a3b8;font-size:.9rem}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:40px}.footer-links{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.footer-links{grid-template-columns:1fr}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -4px 6px -1px #0000001a;z-index:9999;padding:1.5rem;border-top:1px solid #e2e8f0}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.cookie-banner-text{display:flex;gap:1rem;align-items:flex-start}.cookie-icon{font-size:1.5rem}.cookie-banner-text strong{display:block;color:#1e293b;margin-bottom:.25rem;font-size:1rem}.cookie-banner-text p{margin:0;color:#64748b;font-size:.9rem;line-height:1.5;max-width:600px}.cookie-banner-text a{color:#4f46e5;text-decoration:none;font-weight:500}.cookie-banner-text a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:.75rem;flex-shrink:0}.cookie-btn{padding:.625rem 1.25rem;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.cookie-btn-primary{background-color:#4f46e5;color:#fff;border:none}.cookie-btn-primary:hover{background-color:#4338ca}.cookie-btn-secondary{background-color:#fff;color:#475569;border:1px solid #e2e8f0}.cookie-btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.cookie-btn-outline{background-color:transparent;color:#4f46e5;border:1px solid #4f46e5}.cookie-btn-outline:hover{background-color:#eef2ff}.cookie-banner-overlay{position:fixed;inset:0;background-color:#00000080;z-index:10000;display:flex;justify-content:center;align-items:center;padding:1rem}.cookie-config-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;display:flex;flex-direction:column}.cookie-config-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.cookie-config-header h3{margin:0;font-size:1.25rem;color:#1e293b}.btn-close{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem}.btn-close:hover{color:#1e293b}.btn-close svg{width:24px;height:24px}.cookie-config-body{padding:1.5rem;overflow-y:auto}.cookie-option{margin-bottom:1.5rem;background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.cookie-option:last-child{margin-bottom:0}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.option-header span{font-weight:600;color:#1e293b}.cookie-option p{margin:0;font-size:.875rem;color:#64748b;line-height:1.5}.cookie-config-footer{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}@media(max-width:768px){.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-text{flex-direction:column;align-items:center}.cookie-banner-actions{width:100%;flex-direction:column}.cookie-btn{width:100%;text-align:center}}.dashboard-nav{position:fixed;top:0;left:0;right:0;height:52px;background:var(--color-bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:1000;font-family:Outfit,sans-serif}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1400px;margin:0 auto;padding:0 20px 0 12px;gap:20px}.navbar-left{display:flex;align-items:center;flex-shrink:0}.navbar-logo{display:flex;align-items:center;gap:8px;cursor:pointer;transition:opacity .2s}.navbar-logo:hover{opacity:.85}.navbar-logo-img{width:38px;height:48px;object-fit:contain}.navbar-logo-text{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#1a5f7a,#40c9c9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-center{display:flex;justify-content:center;flex:1}.navbar-estudia-banner{display:flex;align-items:center;gap:12px;padding:4px 16px;background:var(--color-bg-elevated);border:1px solid var(--color-accent-primary);border-radius:8px;height:42px;min-width:600px;justify-content:space-between;transition:all .3s ease}.navbar-estudia-banner:hover{box-shadow:0 0 10px #40c9c933;transform:translateY(1px)}.navbar-estudia-content{display:flex;align-items:center;gap:8px}.navbar-estudia-img{width:auto;height:32px;object-fit:contain}.navbar-estudia-text{display:flex;flex-direction:column}.navbar-estudia-title{font-size:.85rem;font-weight:700;color:var(--color-text-primary);line-height:1.1}.navbar-estudia-subtitle{font-size:.65rem;color:var(--color-text-secondary);line-height:1}.navbar-estudia-actions{display:flex;align-items:center;gap:8px;border-left:1px solid var(--color-border);padding-left:8px}.navbar-estudia-price{font-size:.8rem;font-weight:800;color:var(--color-brand-teal)}.navbar-estudia-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 12px;background:linear-gradient(135deg,#40c9c9,#0d9488);color:#fff;font-weight:600;font-size:.75rem;text-decoration:none;border-radius:6px;transition:all .2s;height:26px}.navbar-estudia-btn:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff}.navbar-estudia-btn.navbar-estudia-btn-info{background:transparent;border:1.5px solid rgba(64,201,201,.6);color:#0d9488}[data-theme=dark] .navbar-estudia-btn.navbar-estudia-btn-info{color:#40c9c9;border-color:#40c9c980}.navbar-estudia-btn.navbar-estudia-btn-info:hover{background:#40c9c91a;border-color:#40c9c9;color:#0d9488}.navbar-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.navbar-credits{display:flex;align-items:center;gap:8px;padding:4px 34px;height:45px;background:linear-gradient(135deg,#10b9811f,#3b82f614);border:1px solid rgba(16,185,129,.25);border-radius:15px;cursor:pointer;transition:all .2s ease;position:relative}.navbar-credits:hover{background:linear-gradient(135deg,#10b98133,#3b82f626);border-color:#10b98166;transform:translateY(-1px)}.navbar-credits.no-credits{background:linear-gradient(135deg,#ef444426,#dc26261a);border-color:#ef44444d}.navbar-credits.no-credits:hover{background:linear-gradient(135deg,#ef444440,#dc26262e);border-color:#ef444480}.credits-icon{font-size:1rem}.credits-info{display:flex;flex-direction:column;gap:0}.credits-label{font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.credits-value{font-size:.85rem;font-weight:700;color:#10b981;line-height:1.2;display:flex;align-items:center;gap:2px}.credits-value.loading{color:var(--color-text-muted);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.credits-value.unlimited{color:#8b5cf6;font-size:1rem}.credits-detailed{display:flex;align-items:center;gap:6px}.credit-type{display:flex;align-items:center;gap:3px;cursor:help}.credit-type-label{font-size:.7rem;font-weight:500;opacity:.8}.credit-type-value{font-weight:700}.diagnosis-credits{color:#10b981}.credits-divider{color:var(--color-text-muted);font-size:.75rem;font-weight:300}.intervention-credits{color:#f59e0b}.credits-warning{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ef4444;border-radius:50%;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;animation:bounce .5s ease-in-out infinite alternate}@keyframes bounce{0%{transform:scale(1)}to{transform:scale(1.1)}}.no-credits .credits-value{color:#ef4444}.navbar-profile{position:relative}.profile-trigger{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:50px;cursor:pointer;transition:all .2s}.profile-trigger:hover,.profile-trigger.active{background:var(--color-bg-card);border-color:var(--color-accent-primary)}.profile-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#1a5f7a,#40c9c9);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}.profile-name-container{display:flex;align-items:center;gap:6px}.profile-name{font-size:.9rem;font-weight:500;color:var(--color-text-primary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chevron{font-size:.6rem;color:var(--color-text-secondary);transition:transform .2s}.profile-trigger.active .profile-chevron{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--color-bg-card, #ffffff);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;animation:dropdownIn .2s ease}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:#40c9c914}.dropdown-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1a5f7a,#40c9c9);color:#fff;font-weight:700;font-size:1.3rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropdown-user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-name{font-weight:700;font-size:1rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-email{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-center{font-size:.75rem;color:#3b82f6;font-weight:500;background:#3b82f61f;padding:2px 8px;border-radius:4px;display:inline-block;margin-top:4px;width:fit-content}.dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--color-text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}.dropdown-item:hover{background:var(--color-bg-elevated)}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#ef44441a}.dropdown-icon{font-size:1rem;width:20px;text-align:center}.navbar-theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .2s ease;color:var(--color-text-secondary);font-size:1.1rem}.navbar-theme-toggle:hover{background:var(--color-bg-card);border-color:var(--color-accent-primary);color:var(--color-text-primary);transform:scale(1.05)}.navbar-admin-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:1.1rem;padding:0}.navbar-admin-icon:hover{transform:scale(1.05);background:var(--color-bg-card);border-color:#3b82f6;box-shadow:0 0 10px #3b82f633}.navbar-admin-icon.center-admin:hover{border-color:#059669;box-shadow:0 0 10px #05966933}.navbar-theme-toggle svg{width:18px;height:18px}@media(max-width:900px){.navbar-center{display:none}}@media(max-width:640px){.navbar-container{padding:0 16px}.navbar-logo-text{display:none}.navbar-credits{padding:6px 10px}.credits-label,.profile-name{display:none}.profile-trigger{padding:4px;border-radius:50%}.profile-chevron{display:none}.navbar-theme-toggle{width:34px;height:34px}}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-layout-content{flex:1;padding-top:52px}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}:root{--sm-bg-main: #ffffff;--sm-bg-card: #f8fafc;--sm-bg-input: #ffffff;--sm-accent: #1a5f7a;--sm-accent-light: #40c9c9;--sm-accent-glow: rgba(26, 95, 122, .25);--sm-text-primary: #0f172a;--sm-text-secondary: #334155;--sm-text-muted: #64748b;--sm-border: #e2e8f0;--sm-border-light: #f1f5f9;--sm-danger: #ef4444;--sm-success: #059669}@keyframes smFadeIn{0%{opacity:0}to{opacity:1}}@keyframes smSlideUp{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.student-modal-overlay{position:fixed;inset:0;background-color:#0f172a99;display:flex;justify-content:center;align-items:center;z-index:99999;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1rem;animation:smFadeIn .3s ease-out}.student-modal-content{background-color:var(--sm-bg-main)!important;color:var(--sm-text-primary)!important;border:1px solid var(--sm-border)!important;border-radius:1.25rem!important;width:100%;max-width:920px;max-height:calc(100vh - 40px);overflow-y:auto;font-family:Outfit,sans-serif!important;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fffc inset;animation:smSlideUp .4s cubic-bezier(.16,1,.3,1);position:relative}.student-modal-header{background:linear-gradient(135deg,#1a5f7a,#0d9488 40%,#40c9c9)!important;padding:.85rem 1.5rem!important;border-bottom:none!important;display:flex;align-items:center;gap:1rem;position:relative;z-index:100;border-radius:1.25rem 1.25rem 0 0}.header-icon{font-size:1.5rem;background:#fff3;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:.6rem;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-text h2{margin:0;font-size:1.15rem;font-weight:700;color:#fff!important}.header-text p{margin:0;font-size:.75rem;color:#ffffffd9!important}.student-modal-close{margin-left:auto;background:#ffffff26;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s}.student-modal-close:hover{background:#ffffff40;color:#fff}.student-modal-close svg{width:24px;height:24px}.student-modal-form{padding:1rem 1.5rem!important;background-color:var(--sm-bg-main)!important}.form-section{background-color:var(--sm-bg-card)!important;border:1px solid var(--sm-border)!important;border-radius:.75rem!important;padding:.85rem 1rem!important;margin-bottom:.75rem!important;box-shadow:0 1px 3px #0000000d}.section-title{font-size:.7rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--sm-accent)!important;margin-bottom:.65rem!important;display:block!important}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.flex-2{grid-column:span 2}@media(max-width:640px){.flex-2{grid-column:span 1}.form-grid{grid-template-columns:1fr}}.form-group label{font-size:.8rem!important;font-weight:600!important;color:var(--sm-text-primary)!important;margin-bottom:.3rem!important;display:block}.input{background-color:#fff!important;border:1.5px solid var(--sm-border)!important;color:#0f172a!important;padding:.55rem .85rem!important;border-radius:.5rem!important;font-size:.9rem!important;width:100%!important;box-sizing:border-box!important;transition:all .2s ease!important;font-family:inherit!important;box-shadow:0 1px 2px #0000000a}.input:focus{outline:none!important;border-color:var(--sm-accent)!important;box-shadow:0 0 0 3px var(--sm-accent-glow),0 1px 2px #0000000a!important}.input::placeholder{color:#94a3b8!important}.input-readonly{background-color:#f1f5f9!important;color:#64748b!important;cursor:not-allowed!important}.select{cursor:pointer!important;appearance:none!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3e%3c/svg%3e")!important;background-position:right .6rem center!important;background-repeat:no-repeat!important;background-size:.85rem!important;padding-right:2rem!important}.form-group.toggles{display:flex;gap:.5rem;align-items:stretch}.card-toggle{flex:1;background:#fff!important;border:1.5px solid var(--sm-border)!important;border-radius:.5rem!important;padding:.5rem!important;display:flex;align-items:center;gap:.5rem;cursor:pointer!important;transition:all .2s!important;box-shadow:0 1px 2px #0000000a}.card-toggle:hover{border-color:var(--sm-accent)!important;background:#f8fafc!important}.card-toggle input{appearance:none!important;width:18px!important;height:18px!important;border:2px solid #cbd5e1!important;border-radius:4px!important;background:#fff!important;cursor:pointer!important;position:relative!important;margin:0!important;transition:all .2s;flex-shrink:0}.card-toggle input:checked{background-color:var(--sm-accent)!important;border-color:var(--sm-accent)!important}.card-toggle input:checked:after{content:""!important;position:absolute!important;left:5px;top:1px;width:4px;height:8px;border:solid white!important;border-width:0 2px 2px 0!important;transform:rotate(45deg)!important}.toggle-label{font-weight:600!important;color:var(--sm-text-primary)!important;font-size:.75rem!important;line-height:1.2}.toggle-desc{font-size:.65rem!important;color:var(--sm-text-muted)!important;display:block}.card-toggle.danger input:checked{background-color:var(--sm-danger)!important;border-color:var(--sm-danger)!important}.student-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.85rem!important;margin-top:.5rem!important;border-top:1px solid var(--sm-border)!important}.student-modal .btn{padding:.6rem 1.5rem!important;border-radius:.5rem!important;font-weight:700!important;font-size:.85rem!important;cursor:pointer!important;transition:all .2s!important;border:none!important;font-family:inherit!important}.student-modal .btn-secondary{background-color:#fff!important;color:var(--sm-text-secondary)!important;border:1.5px solid var(--sm-border)!important}.student-modal .btn-secondary:hover{background:#f8fafc!important;border-color:#cbd5e1!important;color:var(--sm-text-primary)!important}.student-modal .btn-primary{background:linear-gradient(135deg,#1a5f7a,#0d9488 40%,#40c9c9)!important;color:#fff!important;box-shadow:0 4px 15px #40c9c94d!important}.student-modal .btn-primary:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 8px 25px #40c9c966!important}.student-modal .btn-primary:disabled{background:#e2e8f0!important;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important}.react-datepicker-popper{z-index:999999!important;position:absolute!important}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker{background-color:#fff!important;border:1px solid var(--sm-border)!important;border-radius:.75rem!important;color:var(--sm-text-primary)!important;font-family:Outfit,sans-serif!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important;min-width:280px}.react-datepicker__header{background-color:#f8fafc!important;border-bottom:1px solid var(--sm-border)!important;border-radius:.75rem .75rem 0 0!important}.react-datepicker__current-month{color:var(--sm-text-primary)!important;font-weight:600!important}.react-datepicker__day-name{color:var(--sm-accent)!important;font-weight:600!important}.react-datepicker__day{color:var(--sm-text-primary)!important;transition:.2s;border-radius:6px!important}.react-datepicker__day:hover{background-color:#e0f2fe!important;color:var(--sm-accent)!important}.react-datepicker__day--selected{background-color:var(--sm-accent)!important;color:#fff!important;font-weight:700!important}.react-datepicker__day--today{border:1.5px solid var(--sm-accent)!important;border-radius:6px!important;font-weight:600!important}.react-datepicker__navigation-icon:before{border-color:var(--sm-accent)!important}.input-error{border-color:var(--sm-danger)!important;box-shadow:0 0 0 3px #ef444426,0 1px 2px #0000000a!important}.input-error:focus{border-color:var(--sm-danger)!important;box-shadow:0 0 0 3px #ef444440,0 1px 2px #0000000a!important}.field-error-msg{display:block;color:var(--sm-danger);font-size:.75rem;font-weight:500;margin-top:.25rem}.validation-summary{color:var(--sm-danger);font-size:.85rem;font-weight:500;margin-top:.65rem;text-align:right}.student-selector-overlay.fullscreen{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:stretch;justify-content:center;z-index:1000;padding:var(--space-xl);animation:fadeIn .2s ease}.student-selector.fullscreen{background:var(--color-bg-card);border-radius:var(--radius-xl);width:100%;max-width:1400px;height:100%;max-height:calc(100vh - 2 * var(--space-xl));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 80px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.student-selector-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1);background:var(--color-bg-elevated);flex-shrink:0}.header-title{display:flex;align-items:center;gap:var(--space-sm)}.header-title h2{font-size:1.1rem;margin:0;font-weight:600}.student-count{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:2px var(--space-sm);border-radius:var(--radius-full)}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.header-actions .btn{padding:var(--space-xs) var(--space-md);font-size:.85rem}.close-btn{background:#ffffff1a;border:none;font-size:1.25rem;color:var(--color-text-secondary);cursor:pointer;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn:hover{background:#ff646433;color:#ff6b6b}.stats-bar{display:flex;gap:var(--space-sm);padding:var(--space-xs) var(--space-xl);background:var(--color-bg-secondary);border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.stat-item{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border:1px solid transparent}.stat-item:hover{background:#ffffff14}.stat-item.active{border-color:var(--color-accent-primary);background:#3b82f61a}.stat-item .stat-value{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.stat-item .stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.stat-item.complete .stat-value{color:#22c55e}.stat-item.incomplete .stat-value{color:#f59e0b}.stat-item.pending .stat-value{color:var(--color-text-muted)}.search-section{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.search-row{display:flex;gap:var(--space-md);align-items:center}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-md);font-size:1.1rem;pointer-events:none}.search-input{width:100%;padding:var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + 2rem);background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.clear-search-btn{position:absolute;right:var(--space-md);background:none;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.clear-search-btn:hover{color:var(--color-text-primary)}.filter-toggle-btn{padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:var(--space-sm);transition:all var(--transition-fast);position:relative}.filter-toggle-btn:hover,.filter-toggle-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.filter-toggle-btn.has-filters:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-accent-primary);border-radius:50%}.filter-badge{display:none}.sort-select{padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;min-width:160px}.sort-select:focus{outline:none;border-color:var(--color-accent-primary)}.filters-panel{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--space-xs);min-width:140px}.filter-group label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--color-accent-primary)}.clear-filters-btn{padding:var(--space-sm) var(--space-md);background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#f87171;cursor:pointer;font-size:.85rem;transition:all var(--transition-fast);margin-left:auto}.clear-filters-btn:hover{background:#ef44444d}.student-selector-list{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-xl)}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.student-card{background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:var(--space-sm)}.student-card:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.student-card.complete{border-left:4px solid #22c55e}.student-card.in-progress{border-left:4px solid #f59e0b}.student-card.pending{border-left:4px solid var(--color-text-muted)}.student-card-header{display:flex;justify-content:space-between;align-items:center}.student-code{font-family:var(--font-mono);font-size:.8rem;color:var(--color-accent-secondary);background:#8b5cf633;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.status-badge{font-size:.7rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:500}.status-badge.complete{background:#22c55e33;color:#22c55e}.status-badge.in-progress{background:#f59e0b33;color:#f59e0b}.status-badge.pending{background:#ffffff1a;color:var(--color-text-muted)}.student-card-body{flex:1}.student-card-body .student-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-xs) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-details{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.detail-badge{font-size:.7rem;padding:2px var(--space-sm);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-text-secondary)}.detail-badge.course{background:#3b82f633;color:#60a5fa}.detail-badge.sex{background:#a855f733;color:#a78bfa}.detail-badge.repeater{background:#ef444433;color:#f87171}.student-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.05)}.test-progress{display:flex;gap:4px}.test-dot{width:12px;height:12px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.test-dot.done{background:#22c55e;border-color:#22c55e}.select-arrow{color:var(--color-text-muted);font-size:1.25rem;transition:transform var(--transition-fast)}.student-card:hover .select-arrow{transform:translate(4px);color:var(--color-accent-primary)}.student-selector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);text-align:center;min-height:300px}.student-selector-empty .empty-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.5}.student-selector-empty p{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:1.1rem}.student-selector-empty .btn{margin-top:var(--space-sm)}@media(max-width:900px){.student-selector-overlay.fullscreen{padding:var(--space-md)}.students-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.stats-bar{padding:var(--space-sm) var(--space-md)}.stat-item .stat-value{font-size:1.25rem}.search-section,.student-selector-list{padding:var(--space-md)}}@media(max-width:600px){.student-selector-overlay.fullscreen{padding:0}.student-selector.fullscreen{border-radius:0;max-height:100vh}.header-title h2{font-size:1.1rem}.student-count{display:none}.header-actions .btn{padding:var(--space-sm) var(--space-md);font-size:.85rem}.search-row{flex-wrap:wrap}.search-input-wrapper{width:100%;order:1}.filter-toggle-btn{flex:1;order:2;justify-content:center}.sort-select{flex:1;order:3;min-width:auto}.filters-panel{flex-direction:column}.filter-group{width:100%}.students-grid{grid-template-columns:1fr}.stats-bar{gap:var(--space-xs)}.stat-item{padding:var(--space-xs)}.stat-item .stat-value{font-size:1.1rem}.stat-item .stat-label{font-size:.65rem}}.fab-container{position:absolute;bottom:var(--space-xl);right:var(--space-xl);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);z-index:100}.fab-button{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));border:none;color:#fff;font-size:2rem;cursor:pointer;box-shadow:0 4px 20px #8b5cf666;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.fab-button:hover{transform:scale(1.1);box-shadow:0 6px 28px #8b5cf680}.fab-button.active{transform:rotate(45deg);background:linear-gradient(135deg,#ef4444,#f87171)}.fab-plus{line-height:1;font-weight:300;transition:transform .3s ease}.fab-menu{display:flex;flex-direction:column;gap:var(--space-xs);animation:fabMenuIn .2s ease}@keyframes fabMenuIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);box-shadow:0 4px 12px #0000004d}.fab-menu-item:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);transform:translate(-4px)}.fab-icon{font-size:1rem}.fab-label{font-size:.85rem;font-weight:500}@media(max-width:600px){.fab-container{bottom:var(--space-lg);right:var(--space-lg)}.fab-button{width:48px;height:48px;font-size:1.5rem}.fab-menu-item{padding:var(--space-xs) var(--space-sm)}.fab-label{font-size:.8rem}}.pdf-quick-btn{background:#fff;border:1px solid #e2e8f0;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.pdf-quick-btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a;background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.pdf-quick-btn svg{display:block}.global-fab-container{position:fixed;bottom:32px;right:32px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:9999;pointer-events:auto}.global-fab-button{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 6px 24px #8b5cf680;transition:transform .3s cubic-bezier(.25,.8,.25,1),background .3s;display:flex;align-items:center;justify-content:center}.global-fab-button:hover{transform:scale(1.1);box-shadow:0 8px 32px #8b5cf699}.global-fab-button.active{transform:rotate(45deg);background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 6px 24px #ef444480}.global-fab-plus{line-height:1;font-weight:300}.global-fab-menu{display:flex;flex-direction:column;gap:8px;animation:globalFabMenuIn .25s ease}@keyframes globalFabMenuIn{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.global-fab-menu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1e1e28f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 4px 16px #0006}.global-fab-menu-item:hover{background:#323246f2;border-color:#8b5cf6;transform:translate(-6px);box-shadow:0 6px 24px #00000080}.global-fab-icon{font-size:1.1rem}.global-fab-label{font-size:.9rem;font-weight:500}.global-fab-backdrop{position:fixed;inset:0;background:#0000004d;z-index:9998}.fab-toast{position:fixed;bottom:100px;right:32px;padding:12px 20px;background:#22c55ee6;color:#fff;border-radius:8px;font-weight:500;z-index:10000;animation:toastIn .3s ease,toastOut .3s ease 1.5s forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(max-width:600px){.global-fab-container{bottom:24px;right:24px}.global-fab-button{width:52px;height:52px;font-size:1.8rem}.global-fab-menu-item{padding:10px 14px}.global-fab-label{font-size:.85rem}}.purchase-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:10px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.purchase-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:16px;max-width:900px;width:100%;max-height:95vh;overflow-y:auto;position:relative;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffffff1a,0 0 60px #6366f126;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.purchase-modal-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;background:#ffffff1a;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1}.purchase-modal-close svg{width:16px;height:16px;color:#ffffffb3}.purchase-modal-close:hover{background:#fff3}.purchase-modal-close:hover svg{color:#fff}.purchase-modal-header{text-align:center;padding:14px 20px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.purchase-modal-icon{width:40px;height:40px;background:linear-gradient(135deg,#40c9c9,#1a5f7a);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;box-shadow:0 4px 16px #40c9c959}.purchase-modal-icon svg{width:20px;height:20px;color:#fff}.purchase-modal-header h2{font-size:18px;font-weight:700;color:#fff;margin:0 0 4px}.purchase-modal-header p{font-size:12px;color:#fff9;margin:0;line-height:1.3}.purchase-modal-balance{display:flex;gap:10px;padding:10px 20px;background:#ffffff08}.balance-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px;background:#ffffff0d;border-radius:8px}.balance-label{font-size:9px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.balance-value{font-size:18px;font-weight:700;color:#40c9c9}.purchase-modal-info{display:flex;align-items:center;gap:8px;padding:10px 20px;margin:0 20px 8px;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:8px;font-size:12px;color:#ffffffbf;line-height:1.4}.purchase-modal-info svg{color:#6366f1}.purchase-modal-products{padding:12px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product-card{background:#ffffff08;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;transition:all .3s ease;position:relative;cursor:pointer}.product-card:hover{border-color:#40c9c966;background:#ffffff0d}.product-card.selected{border-color:#40c9c9;background:#40c9c914;box-shadow:0 0 20px #40c9c926}.product-card.premium{border-color:#6366f14d}.product-card.premium:hover{border-color:#6366f180}.product-card.premium.selected{border-color:#6366f1;background:#6366f11a;box-shadow:0 0 20px #6366f133}.product-card.intervention{border-color:#10b9814d}.product-card.intervention:hover{border-color:#10b98180}.product-card.intervention.selected{border-color:#10b981;background:#10b9811a;box-shadow:0 0 20px #10b98133}.product-card.intervention .plan-price .price-amount{color:#10b981}.product-card.intervention .plan-features li svg{color:#10b981}.popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#2d5a5a,#1a4040);color:#fff;padding:4px 14px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.product-header-vertical{text-align:center;margin-bottom:12px;padding-top:4px}.plan-name{font-size:18px;font-weight:700;color:#fff;margin:0 0 4px}.plan-subtitle{font-size:12px;color:#ffffff80;margin:0 0 12px}.plan-price{display:flex;flex-direction:column;align-items:center;gap:0}.plan-price .price-amount{font-size:32px;font-weight:700;color:#40c9c9}.product-card.premium .plan-price .price-amount{color:#6366f1}.plan-price .price-unit{font-size:11px;color:#ffffff80;margin-top:-2px}.plan-total{text-align:center;font-size:13px;color:#ffffff8c;margin-top:6px;font-weight:500}.plan-features{list-style:none;padding:0;margin:0 0 14px}.plan-features li{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#ffffffbf;margin-bottom:6px;line-height:1.3}.plan-features li svg{width:14px;height:14px;flex-shrink:0;color:#40c9c9;margin-top:1px}.product-card.premium .plan-features li svg{color:#6366f1}.product-quantity{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.quantity-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;border-radius:8px;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.quantity-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f166}.quantity-btn:disabled{opacity:.3;cursor:not-allowed}.product-quantity input{width:50px;height:32px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;border-radius:8px;color:#fff;font-size:16px;font-weight:600;text-align:center}.product-quantity input:focus{outline:none;border-color:#6366f1;background:#6366f11a}.product-subtotal{text-align:center;font-size:12px;color:#fff9}.product-subtotal strong{color:#fff}.purchase-modal-error{display:flex;align-items:center;gap:10px;padding:12px 32px;background:#ef44441a;color:#f87171;font-size:14px}.purchase-modal-error svg{width:20px;height:20px;flex-shrink:0}.purchase-modal-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);background:#0003}.total-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.total-label{font-size:13px;color:#fff9}.total-amount{font-size:26px;font-weight:700;color:#fff}.purchase-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 6px 20px #6366f159}.purchase-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #6366f173}.purchase-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.purchase-btn svg{width:18px;height:18px}.purchase-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.secure-payment{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;font-size:11px;color:#ffffff80}.secure-payment svg{width:12px;height:12px}.purchase-modal-contact{padding:12px 20px;text-align:center;border-top:1px solid rgba(255,255,255,.05)}.purchase-modal-contact p{font-size:12px;color:#ffffff80;margin:0 0 3px}.purchase-modal-contact a{font-size:12px;color:#6366f1;text-decoration:none;transition:color .2s ease}.purchase-modal-contact a:hover{color:#8b5cf6;text-decoration:underline}@media(max-width:900px){.purchase-modal-products{grid-template-columns:1fr}}@media(max-width:560px){.purchase-modal{max-height:100vh;border-radius:0}.purchase-modal-header,.purchase-modal-products,.purchase-modal-footer,.purchase-modal-contact{padding-left:20px;padding-right:20px}.purchase-modal-balance{padding-left:20px;padding-right:20px;flex-direction:column}.product-header{flex-wrap:wrap}.product-price{width:100%;text-align:left;margin-top:8px}}
