:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:1920px;margin:0 auto;text-align:center}.logo{will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,48px);background:linear-gradient(145deg,#e0f2ff,#c3d9ff 45%,#d5f1ff);position:relative;overflow:hidden;box-sizing:border-box}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;z-index:0;pointer-events:none}.auth-page:before{width:520px;height:520px;background:#3b82f640;top:-220px;right:-160px}.auth-page:after{width:360px;height:360px;background:#f6e05e4d;bottom:-160px;left:-120px}.auth-home-button{position:fixed;top:clamp(18px,3vw,36px);left:clamp(18px,3vw,36px);width:56px;height:56px;background:#ffffffeb;border-radius:16px;border:1px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;color:#0f172a;box-shadow:0 18px 38px -22px #0f172a73;z-index:3;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.auth-home-button:hover{transform:translateY(-3px);box-shadow:0 22px 44px -24px #1e40af73;opacity:.9}.auth-card{position:relative;z-index:1;background:#fffffff2;border-radius:28px;border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 80px -28px #1e40af73;padding:clamp(32px,4vw,48px);max-width:480px;width:min(100%,480px);display:flex;flex-direction:column;gap:clamp(18px,3vw,28px)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;color:#1f2937;font-size:1.05rem}.auth-logo-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.auth-logo-icon img{width:44px;height:44px;object-fit:contain}.auth-header{text-align:center;display:flex;flex-direction:column;gap:6px}.auth-header h1{color:#0f172a;margin:0;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;letter-spacing:-.03em}.auth-header p{color:#6b7280;margin:0;font-size:1rem;line-height:1.5}.auth-tabs{display:flex;background:#94a3b81f;border-radius:18px;padding:4px;gap:6px}.auth-tab{flex:1;border:none;border-radius:14px;padding:10px 16px;font-size:.95rem;font-weight:600;background:transparent;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.auth-tab.active{background:#e0f2fe;color:#1d4ed8;box-shadow:0 6px 16px -10px #2563eb59}.auth-tab:disabled{opacity:.6;cursor:not-allowed}.auth-body{display:flex;flex-direction:column;gap:18px;text-align:left}.auth-title{margin:0;color:#111827;font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.auth-message{padding:12px 16px;border-radius:14px;font-weight:500;border:1px solid transparent}.auth-message.error{background:#fee2e2f2;color:#b91c1c;border-color:#f8717173}.auth-message.success{background:#dcfce7f2;color:#15803d;border-color:#4ade8073}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#1f2937;font-weight:600}.auth-input{width:100%;display:flex;align-items:center;gap:10px;border:1px solid rgba(148,163,184,.3);border-radius:14px;padding:12px 14px;background:#f8fafce6;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-sizing:border-box;color:#0f172a}.auth-input.select{border:1px solid #93c5fd;background:#fffffff2;position:relative}.auth-input.select:has(.role-select-trigger:disabled){opacity:.6;cursor:not-allowed;pointer-events:none}.auth-input input,.auth-input select{border:none;outline:none;background:transparent;font-size:.95rem;color:#0f172a;flex:1}.auth-input input::placeholder,.auth-input select::placeholder{color:#9ca3af}.auth-input:focus-within{outline:none;background:#fffffff2;border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa2e}.auth-input svg{color:#60a5fa;flex-shrink:0}.role-select-trigger{flex:1;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:#0f172a}.role-select-trigger span{flex:1}.role-select-trigger .chevron{color:#f97316;transition:transform .2s ease;flex-shrink:0}.role-select-trigger .chevron.open{transform:rotate(180deg)}.role-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:14px;box-shadow:0 10px 30px -12px #0f172a66;overflow:hidden;z-index:1000;border:1px solid rgba(148,163,184,.15)}.role-option{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font-weight:600;color:#1f2937;transition:background-color .15s ease;border:none;background:transparent;width:100%;text-align:left}.role-option:not(.student):not(.teacher):not(.parent):hover{background-color:#3b82f61a}.role-option.selected .check{color:#0f172a;flex-shrink:0}.role-option.student:hover,.role-option.student.selected{background-color:#fef3c7}.role-option.teacher:hover,.role-option.parent:hover,.role-option.teacher.selected,.role-option.parent.selected{background-color:#dbeafe}.role-option span{flex:1}.auth-submit{width:100%;background:linear-gradient(135deg,#fbbf24,#f59e0b 45%,#f97316);color:#fff;border:none;border-radius:16px;padding:16px 22px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;margin-top:6px;box-shadow:0 18px 32px -20px #f9731699}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 34px -18px #f97316a6}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}@media(max-width:480px){.auth-card{padding:28px 22px;border-radius:22px}.auth-tabs{gap:4px}.auth-tab{padding:9px 12px}.auth-input{padding:12px}.auth-submit{padding:14px 18px}}@media(min-width:1024px){.auth-page{padding:72px}.auth-card{padding:56px 60px}}.dashboard-container{display:flex;height:100vh;background:#f5f7fa}.dashboard-sidebar{background:#1e293b;color:#fff;transition:width .3s ease;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a}.dashboard-sidebar.open{width:280px}.dashboard-sidebar.closed{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-brand h1{font-size:20px;font-weight:700;margin:0}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s}.sidebar-toggle:hover{background:#ffffff1a}.sidebar-search{padding:20px;display:flex;align-items:center;gap:10px;background:#ffffff0d;margin:10px;border-radius:8px}.sidebar-search input{flex:1;background:none;border:none;color:#fff;outline:none;font-size:14px}.sidebar-search input::placeholder{color:#ffffff80}.sidebar-nav{flex:1;overflow-y:auto;padding:10px}.nav-group{margin-bottom:20px}.nav-group-header{font-size:12px;font-weight:600;color:#ffffff80;padding:8px 12px;text-transform:uppercase;letter-spacing:1px}.nav-item{width:100%;background:none;border:none;color:#fff;text-align:left;padding:12px 16px;cursor:pointer;border-radius:8px;transition:all .2s;font-size:14px;display:flex;align-items:center;gap:10px}.nav-item:hover{background:#ffffff1a;transform:translate(4px)}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;background:#ef4444;border:none;color:#fff;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}.logout-btn:hover{background:#dc2626}.dashboard-main{flex:1;overflow-y:auto;padding:40px}.dashboard-header{margin-bottom:40px}.dashboard-header h2{font-size:32px;font-weight:700;color:#1e293b;margin:0 0 10px}.dashboard-header p{font-size:16px;color:#64748b;margin:0}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-value{font-size:36px;font-weight:700;color:#3b82f6;margin-bottom:8px}.stat-label{font-size:14px;color:#64748b;font-weight:500}.dashboard-quick-actions{margin-bottom:32px;display:flex;gap:20px;flex-wrap:wrap}.quick-action-card{background:linear-gradient(135deg,#3b82f6,#2563eb);padding:24px;border-radius:16px;cursor:pointer;transition:all .2s;border:none;color:#fff;text-align:left;flex:1;min-width:280px;max-width:400px;box-shadow:0 4px 16px -8px #2563eb66}.quick-action-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px -8px #2563eb80}.quick-action-card svg{margin-bottom:12px}.quick-action-card h3{margin:0 0 8px;font-size:1.3rem;font-weight:700;color:#fff}.quick-action-card p{margin:0;font-size:.9rem;color:#ffffffe6}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.entity-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;border:2px solid transparent}.entity-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:#3b82f6}.entity-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.entity-card-header svg{color:#3b82f6}.entity-card-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.entity-endpoint{font-size:13px;color:#64748b;font-family:Courier New,monospace;background:#f1f5f9;padding:8px 12px;border-radius:6px;margin-bottom:12px}.entity-card-footer{display:flex;justify-content:space-between;align-items:center}.entity-badge{font-size:12px;padding:4px 12px;border-radius:12px;background:#f1f5f9;color:#64748b;font-weight:500}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.tutor-dashboard-container{display:flex;min-height:100vh;background:#f8fafc;gap:24px;padding:24px}.tutor-dashboard-loading,.tutor-dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:#64748b}.tutor-dashboard-loading .spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.tutor-dashboard-error button{padding:10px 20px;background:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.tutor-profile-sidebar{flex-shrink:0;width:320px;display:flex;flex-direction:column;gap:20px}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;font-weight:600;color:#1e293b;transition:all .2s;width:fit-content}.back-button:hover{background:#f1f5f9;border-color:#cbd5e1}.tutor-profile-card{background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 1px 3px #0000001a;text-align:center}.tutor-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;margin:0 auto 16px}.tutor-name{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 8px}.tutor-email{font-size:.95rem;color:#64748b;margin:0}.tutor-stats{background:#fff;border-radius:20px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:24px}.stat-item{display:flex;gap:12px}.stat-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-content{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.85rem;color:#64748b;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:#0f172a}.teaching-load{margin-top:8px;display:flex;flex-direction:column;gap:6px}.load-label{font-size:.8rem;color:#64748b;font-weight:500}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .3s ease}.load-percentage{font-size:.9rem;font-weight:600;color:#f59e0b;align-self:flex-end}.companion-button{padding:16px;background:linear-gradient(90deg,#fbbf24,#f59e0b);color:#78350f;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #fbbf244d}.companion-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #fbbf2466}.tutor-admin-main{flex:1;display:flex;flex-direction:column;gap:24px}.admin-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0}.admin-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 1px 3px #0000001a}.admin-card.small{padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.card-header h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0}.month-selector{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#1e293b;font-weight:500;cursor:pointer;transition:border-color .2s}.month-selector:hover{border-color:#cbd5e1}.month-selector:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.card-content{display:flex;flex-direction:column;gap:12px}.no-data{color:#64748b;font-size:.95rem;margin:0}.lessons-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.lesson-item{padding:12px 16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s}.lesson-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.lesson-single-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lesson-info-group{display:flex;align-items:center;gap:6px}.lesson-label{font-size:.85rem;font-weight:600;color:#64748b;white-space:nowrap}.lesson-value{font-size:.85rem;font-weight:600;color:#1e293b;white-space:nowrap}.lesson-item-status{display:inline-block;padding:4px 10px;background:#3b82f61a;color:#1d4ed8;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;margin-left:auto}.action-button{padding:12px 20px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.action-button.primary{background:#3b82f6;color:#fff}.action-button.primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.card-link{color:#6366f1;text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s}.card-link:hover{color:#4f46e5;text-decoration:underline}.trial-stat{color:#1e293b;font-size:.95rem;margin:0}.trial-stat strong{color:#6366f1;font-size:1.1rem}.fines-list{display:flex;flex-direction:column;gap:10px}.fine-item{padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}.fine-details{flex:1;display:flex;flex-direction:column;gap:4px}.fine-datetime{color:#991b1b;font-size:.9rem;font-weight:600}.fine-reason{color:#b91c1c;font-size:.85rem;font-weight:500}.fine-meta{display:flex;align-items:center;gap:8px}.fine-status{padding:4px 10px;background:#fbbf2426;color:#92400e;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.fine-amount{color:#dc2626;font-size:1rem;font-weight:700}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:1200px){.admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:968px){.tutor-dashboard-container{flex-direction:column}.tutor-profile-sidebar{width:100%}.admin-grid{grid-template-columns:1fr}}.parent-dashboard{height:100vh;overflow:hidden;background:linear-gradient(180deg,#f0f9ff,#e0f2fe);font-family:Poppins,Segoe UI,sans-serif;display:flex;flex-direction:column}.parent-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:20px clamp(24px,5vw,48px);box-shadow:0 2px 8px -4px #0f172a1a}.parent-header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;gap:24px}.parent-logo{display:flex;align-items:center;gap:10px;font-weight:700;color:#0f172a;cursor:pointer;flex-shrink:0}.parent-logo-icon{width:32px;height:32px;display:grid;place-items:center}.parent-logo-icon img{width:28px;height:28px;object-fit:contain}.parent-nav{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:24px}.parent-nav button{background:transparent;border:none;font-size:.95rem;font-weight:600;color:#1e293b;cursor:pointer;padding:8px 12px;transition:color .2s ease}.parent-nav button:hover{color:#2563eb}.parent-user-menu{position:relative;flex-shrink:0}.parent-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#facc15,#f59e0b);color:#0f172a;border:none;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.parent-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px -4px #facc1580}.parent-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px -8px #0f172a4d;min-width:220px;overflow:hidden;border:1px solid rgba(148,163,184,.15);z-index:1000}.parent-dropdown-user{padding:16px}.parent-dropdown-email{font-size:.95rem;font-weight:600;color:#0f172a;margin-bottom:4px}.parent-dropdown-role{font-size:.85rem;color:#64748b}.parent-dropdown-divider{height:1px;background:#94a3b833;margin:8px 0}.parent-dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;text-align:left;font-size:.95rem;font-weight:500;color:#1e293b;cursor:pointer;transition:background-color .2s ease}.parent-dropdown-item:hover{background:#3b82f614}.parent-dropdown-item svg{color:#64748b;flex-shrink:0}.parent-main{max-width:1400px;width:calc(100% - 40px);margin:0 auto;padding:clamp(16px,3vw,24px) 20px;flex:1;overflow:hidden;display:flex;flex-direction:column}.parent-content-wrapper{display:grid;grid-template-columns:280px 1fr;gap:20px;flex:1;min-height:0;overflow:hidden}.parent-sidebar{background:#ffffffe6;border-radius:16px;padding:20px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);overflow-y:auto;display:flex;flex-direction:column}.parent-sidebar h3{margin:0 0 16px;font-size:1.1rem;font-weight:700;color:#0f172a;padding-bottom:12px;border-bottom:2px solid rgba(59,130,246,.2)}.parent-content-main{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden}.parent-content-main::-webkit-scrollbar{width:8px}.parent-content-main::-webkit-scrollbar-track{background:#94a3b81a;border-radius:4px}.parent-content-main::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:4px}.parent-content-main::-webkit-scrollbar-thumb:hover{background:#3b82f680}.parent-sidebar::-webkit-scrollbar{width:6px}.parent-sidebar::-webkit-scrollbar-track{background:transparent}.parent-sidebar::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.parent-sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b880}.selected-child-header{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;padding:14px 20px;box-shadow:0 4px 16px -8px #2563eb66}.selected-child-header h2{margin:0;font-size:1.3rem;font-weight:700;color:#fff}.no-selection-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#64748b;gap:12px}.no-selection-state svg{opacity:.3}.no-selection-state h3{margin:0;font-size:1.4rem;font-weight:700;color:#475569}.no-selection-state p{margin:0;font-size:.95rem;max-width:320px}.parent-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:#ffffffe6;border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);transition:transform .2s ease,box-shadow .2s ease}.stat-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-content h3{margin:0 0 4px;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:0 0 2px;font-size:1.1rem!important;font-weight:700;color:#0f172a;line-height:1.2}.stat-label{margin:0;font-size:.7rem;color:#64748b;line-height:1.2}.parent-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.parent-section{background:#ffffffe6;border-radius:20px;padding:28px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1)}.parent-section-full{background:#ffffffe6;border-radius:16px;padding:20px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);margin-bottom:16px}.parent-section-activity{background:#ffffffe6;border-radius:12px;padding:16px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);flex:1;min-height:0;display:flex;flex-direction:column}.parent-section-activity h3{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:#0f172a;flex-shrink:0}.activity-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px}.activity-list::-webkit-scrollbar{width:8px}.activity-list::-webkit-scrollbar-track{background:#94a3b814;border-radius:4px;margin:4px 0}.activity-list::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:4px;border:2px solid rgba(255,255,255,.9)}.activity-list::-webkit-scrollbar-thumb:hover{background:#3b82f680}.parent-section h2,.parent-section-full h2{margin:0 0 16px;font-size:1.3rem;font-weight:700;color:#0f172a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:#64748b}.empty-state-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;color:#64748b;gap:8px}.empty-state-compact svg{opacity:.4}.empty-state-compact p{margin:0;font-size:.9rem;font-weight:500}.children-sidebar-list{display:flex;flex-direction:column;gap:10px}.child-sidebar-card{display:flex;align-items:center;gap:12px;padding:12px;background:#3b82f60a;border-radius:12px;border:2px solid rgba(59,130,246,.08);transition:all .2s ease;cursor:pointer}.child-sidebar-card:hover{background:#3b82f614;border-color:#3b82f626;transform:translate(4px)}.child-sidebar-card.selected{background:#3b82f61f;border-color:#3b82f64d;box-shadow:0 4px 12px -6px #3b82f64d}.child-sidebar-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0}.child-sidebar-info{flex:1;display:flex;flex-direction:column;gap:4px}.child-sidebar-info h4{margin:0;font-size:.95rem;font-weight:600;color:#0f172a}.child-status-small{display:inline-block;padding:2px 8px;background:#22c55e1a;color:#16a34a;border-radius:4px;font-size:.75rem;font-weight:500;width:fit-content}.children-list{display:flex;flex-direction:column;gap:12px}.children-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:700px;margin:0 auto}.child-card{display:flex;align-items:center;gap:16px;padding:16px;background:#3b82f60d;border-radius:12px;border:1px solid rgba(59,130,246,.1);transition:all .2s ease}.child-card-large{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 28px;background:#3b82f60d;border-radius:14px;border:2px solid rgba(59,130,246,.1);transition:all .2s ease;cursor:pointer;text-align:center;min-width:180px;flex:0 1 auto}.child-card:hover,.child-card-large:hover{background:#3b82f61a;border-color:#3b82f633;transform:translateY(-4px);box-shadow:0 8px 24px -12px #3b82f64d}.child-card-selected{background:#3b82f626!important;border-color:#3b82f666!important;border-width:3px;box-shadow:0 8px 24px -8px #3b82f666}.child-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}.child-avatar-large{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.6rem;flex-shrink:0;box-shadow:0 6px 20px -10px #3b82f666}.child-info{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center}.child-info h3{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.child-status{display:inline-block;padding:4px 10px;background:#22c55e1a;color:#16a34a;border-radius:6px;font-size:.85rem;font-weight:500;width:fit-content}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#fff9;border-radius:10px;border:1px solid rgba(148,163,184,.15);transition:all .2s ease}.activity-item:hover{background:#ffffffe6;border-color:#3b82f633;transform:translate(4px)}.activity-item-highlight{background:#22c55e14!important;border:2px solid rgba(34,197,94,.3)!important;box-shadow:0 4px 12px -6px #22c55e4d}.activity-item-highlight:hover{background:#22c55e1f!important;border-color:#22c55e66!important}.latest-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;box-shadow:0 2px 8px -4px #22c55e66}.activity-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon svg{width:18px;height:18px}.activity-content{flex:1;display:flex;flex-direction:column;gap:4px}.activity-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.activity-content h4{margin:0;font-size:.9rem;font-weight:600;color:#0f172a}.activity-date{margin:0;font-size:.9rem;color:#64748b;font-weight:500}.activity-detail{margin:0;font-size:.85rem;color:#94a3b8}.activity-tutor{display:inline-block;padding:4px 10px;background:#6366f11a;color:#4f46e5;border-radius:6px;font-size:.85rem;font-weight:500}.zoom-link{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-decoration:none;font-weight:600;font-size:.85rem;border-radius:8px;transition:all .2s ease;box-shadow:0 2px 8px -4px #2563eb66}.zoom-link:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px -4px #2563eb80}.activity-status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;width:fit-content;margin-top:4px;text-transform:capitalize}.activity-status.status-completed,.activity-status.status-attended,.activity-status.status-present{background:#22c55e1a;color:#16a34a}.activity-status.status-pending,.activity-status.status-scheduled{background:#facc151a;color:#ca8a04}.activity-status.status-absent,.activity-status.status-missed{background:#ef44441a;color:#dc2626}.activity-status.status-cancelled{background:#94a3b81a;color:#64748b}.activity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.activity-student-type{display:inline-block;padding:4px 10px;background:#3b82f61a;color:#2563eb;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:capitalize}@media(max-width:1024px){.parent-content-wrapper{grid-template-columns:240px 1fr;gap:16px}.parent-sidebar{padding:16px}}@media(max-width:768px){.parent-content-wrapper{grid-template-columns:1fr;height:auto}.parent-sidebar{height:auto;max-height:300px}.parent-stats{grid-template-columns:repeat(2,1fr)}.parent-sections{grid-template-columns:1fr}.parent-header-content{flex-direction:column;gap:16px;align-items:flex-start}.parent-content-main{overflow-y:visible}}.student-dashboard{min-height:100vh;background:linear-gradient(180deg,#fef3c7,#fde68a);font-family:Poppins,Segoe UI,sans-serif}.student-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:20px clamp(24px,5vw,48px);box-shadow:0 2px 8px -4px #0f172a1a}.student-header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;gap:24px}.student-logo{display:flex;align-items:center;gap:10px;font-weight:700;color:#0f172a;cursor:pointer;flex-shrink:0}.student-logo-icon{width:32px;height:32px;display:grid;place-items:center}.student-logo-icon img{width:28px;height:28px;object-fit:contain}.student-nav{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:24px}.student-nav button{background:transparent;border:none;font-size:.95rem;font-weight:600;color:#1e293b;cursor:pointer;padding:8px 12px;transition:color .2s ease}.student-nav button:hover{color:#2563eb}.student-user-menu{position:relative;flex-shrink:0}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#facc15,#f59e0b);color:#0f172a;border:none;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.student-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px -4px #facc1580}.student-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px -8px #0f172a4d;min-width:220px;overflow:hidden;border:1px solid rgba(148,163,184,.15);z-index:1000}.student-dropdown-user{padding:16px}.student-dropdown-email{font-size:.95rem;font-weight:600;color:#0f172a;margin-bottom:4px}.student-dropdown-role{font-size:.85rem;color:#64748b}.student-dropdown-divider{height:1px;background:#94a3b833;margin:8px 0}.student-dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;text-align:left;font-size:.95rem;font-weight:500;color:#1e293b;cursor:pointer;transition:background-color .2s ease}.student-dropdown-item:hover{background:#3b82f614}.student-dropdown-item svg{color:#64748b;flex-shrink:0}.student-main{max-width:1400px;margin:0 auto;padding:clamp(32px,5vw,48px)}.student-welcome{margin-bottom:32px}.student-welcome h2{margin:0 0 8px;font-size:2rem;font-weight:700;color:#0f172a}.student-welcome p{margin:0 0 20px;color:#475569;font-size:1.05rem;line-height:1.6}.code-companion-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px -8px #2563eb66;transition:all .2s ease}.code-companion-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 20px -8px #2563eb80}.student-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fffffff2;border-radius:20px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px #0f172a4d}.stat-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#facc15,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-icon.trophy{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.stat-content h3{margin:0 0 8px;font-size:.9rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:0 0 4px;font-size:2rem;font-weight:700;color:#0f172a}.stat-label{margin:0;font-size:.85rem;color:#64748b}.student-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.student-section{background:#fffffff2;border-radius:20px;padding:28px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1)}.student-section h2{margin:0 0 24px;font-size:1.5rem;font-weight:700;color:#0f172a}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#64748b}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#475569}.empty-state-subtitle{font-size:.9rem;font-weight:400;color:#94a3b8}.courses-list,.achievements-list,.lessons-list{display:flex;flex-direction:column;gap:12px}.course-item,.achievement-item,.lesson-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fef3c780;border-radius:12px;border:1px solid rgba(148,163,184,.1);transition:transform .2s ease,box-shadow .2s ease}.course-item:hover,.achievement-item:hover,.lesson-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px -4px #0f172a26}.course-icon,.achievement-icon,.lesson-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#facc15,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.achievement-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.lesson-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.course-info,.achievement-info,.lesson-info{flex:1}.course-info h4,.achievement-info h4,.lesson-info h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:#0f172a}.course-progress{margin:0;font-size:.85rem;color:#64748b}.achievement-info p,.lesson-info p{margin:0;font-size:.9rem;color:#64748b}.lesson-tutor{margin:4px 0 0;font-size:.85rem;color:#94a3b8}.lesson-zoom-link{display:inline-block;margin-top:8px;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-decoration:none;border-radius:8px;font-size:.85rem;font-weight:600;transition:all .2s ease}.lesson-zoom-link:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 2px 8px -4px #2563eb66}@media(max-width:768px){.student-stats,.student-sections{grid-template-columns:1fr}.student-header-content{flex-direction:column;gap:16px;align-items:flex-start}}.entity-view-container{min-height:100vh;background:#f5f7fa;padding:40px;display:flex;flex-direction:column;overflow-x:hidden}.entity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap;gap:20px}.back-btn{background:#fff;border:1px solid #e2e8f0;padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#64748b;transition:all .2s}.entity-title{flex:1}.entity-title h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.entity-count{font-size:14px;color:#64748b;font-weight:500}.entity-actions{display:flex;gap:12px}.refresh-btn{background:#fff;border:1px solid #e2e8f0;padding:10px 16px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.refresh-btn:hover{background:#f8fafc}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.create-btn{background:#3b82f6;border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background .2s}.create-btn:hover{background:#2563eb}.entity-toolbar{background:#fff;padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.entity-body{display:flex;flex-direction:column;gap:24px;flex:1;min-height:0}.table-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.info-banner{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px}.search-box{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:12px 16px;border-radius:8px;border:1px solid #e2e8f0}.search-box input{flex:1;background:none;border:none;outline:none;font-size:14px;color:#1e293b}.loading-state,.error-state{background:#fff;padding:60px 20px;border-radius:12px;text-align:center;box-shadow:0 1px 3px #0000001a}.loading-state p,.error-state p{color:#64748b;margin-top:16px;font-size:16px}.error-state button{margin-top:16px;background:#3b82f6;border:none;color:#fff;padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table-container-inner{overflow-x:auto;overflow-y:hidden;width:100%;display:block}.data-table{width:100%;border-collapse:collapse;min-width:max-content}.data-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}.data-table th{padding:16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;min-width:120px;background:#f8fafc}.data-table th:last-child{position:sticky;right:0;background:#f8fafc;box-shadow:-2px 0 4px #0000000d;z-index:11}.data-table tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .2s}.data-table tbody tr:hover{background:#f8fafc}.data-table td{padding:16px;font-size:14px;color:#334155;white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.data-table td:last-child{position:sticky;right:0;background:#fff;box-shadow:-2px 0 4px #0000000d}.data-table tbody tr:hover td:last-child{background:#f8fafc}.edit-btn,.delete-btn{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s}.edit-btn{color:#3b82f6}.edit-btn:hover{background:#dbeafe}.delete-btn{color:#ef4444}.delete-btn:hover{background:#fee2e2}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.pagination button{background:#fff;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;color:#64748b;display:flex;align-items:center;gap:8px;transition:all .2s}.page-buttons{display:flex;align-items:center;gap:8px}.pagination .page-button{padding:8px 12px;min-width:40px;justify-content:center;gap:0}.pagination .page-button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.pagination button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.page-info{font-size:14px;color:#64748b;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:4px}.record-range{font-size:12px;color:#94a3b8;font-weight:400}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-header{padding:24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:20px;font-weight:600;color:#1e293b;margin:0}.modal-close{background:none;border:none;font-size:28px;color:#94a3b8;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#64748b}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.form-field{margin-bottom:20px}.form-field label{display:block;font-size:14px;font-weight:500;color:#334155;margin-bottom:8px;text-transform:capitalize}.form-field input,.form-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#3b82f6}.form-value{padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:14px;color:#334155;word-break:break-word}.modal-footer{padding:24px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;flex-shrink:0}.cancel-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b;padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.cancel-btn:hover{background:#f8fafc}.save-btn{background:#3b82f6;border:none;color:#fff;padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:24px;color:#64748b}.ads-synced-page .entity-header{background:linear-gradient(135deg,#4f46e51a,#ec48991a);padding:28px;border-radius:16px;box-shadow:0 20px 30px -25px #4f46e573}.ads-synced-page .create-btn{background:linear-gradient(135deg,#4f46e5,#ec4899);box-shadow:0 15px 30px -20px #4c1d95a6}.ads-synced-page .entity-count{color:#4f46e5}.ads-synced-page.entity-config-missing{min-height:60vh;display:grid;place-items:center;text-align:center;color:#475569}.assign-trial-requests-page .entity-header{background:linear-gradient(135deg,#818cf826,#f9a8d426)}.call-tracking-page .entity-header{background:linear-gradient(135deg,#38bdf81f,#0ea5e91f)}.children-student-page .entity-header{background:linear-gradient(135deg,#10b9811f,#4ade801f)}.facebook-ads-page .entity-header{background:linear-gradient(135deg,#3b82f626,#93c5fd26)}.feedback-form-page .entity-header{background:linear-gradient(135deg,#fed7aa29,#fef9c329)}.google-ads-page .entity-header{background:linear-gradient(135deg,#f8717124,#fbbf2424)}@layer rdg{@layer Defaults,FocusSink,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.mlln6zg7-0-0-beta-58{contain:strict;grid-row:1;visibility:hidden}}@layer rdg.Cell{.cj343x07-0-0-beta-58{position:relative;padding-block:0;padding-inline:8px;border-inline-end:var(--rdg-border-width) solid var(--rdg-border-color);border-block-end:var(--rdg-border-width) solid var(--rdg-border-color);grid-row-start:var(--rdg-grid-row-start);align-content:center;background-color:inherit;white-space:nowrap;overflow:clip;text-overflow:ellipsis;outline:none}.cj343x07-0-0-beta-58[aria-selected=true]{outline:var(--rdg-selection-width) solid var(--rdg-selection-color);outline-offset:calc(var(--rdg-selection-width) * -1)}}@layer rdg.Cell{.csofj7r7-0-0-beta-58{position:sticky;z-index:1}.csofj7r7-0-0-beta-58:nth-last-child(1 of.csofj7r7-0-0-beta-58){box-shadow:var(--rdg-cell-frozen-box-shadow)}}@layer rdg.DragHandle{.ch2wcw87-0-0-beta-58{--rdg-drag-handle-size: 8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.ch2wcw87-0-0-beta-58:hover{--rdg-drag-handle-size: 16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.c1wvphzh7-0-0-beta-58{z-index:1;position:sticky}}@layer rdg.CheckboxInput{.c1bn88vv7-0-0-beta-58{display:block;margin:auto;inline-size:20px;block-size:20px}.c1bn88vv7-0-0-beta-58:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.c1bn88vv7-0-0-beta-58:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.g1s9ylgp7-0-0-beta-58{outline:none}}@layer rdg.GroupCellCaret{.cz54e4y7-0-0-beta-58{margin-inline-start:4px;stroke:currentColor;stroke-width:1.5px;fill:transparent;vertical-align:middle}.cz54e4y7-0-0-beta-58>path{transition:d .1s}}@layer rdg.SortableHeaderCell{.h44jtk67-0-0-beta-58{display:flex}}@layer rdg.SortableHeaderCellName{.hcgkhxz7-0-0-beta-58{flex-grow:1;overflow:clip;text-overflow:ellipsis}}@layer rdg.Cell{.c6ra8a37-0-0-beta-58{background-color:#ccf}}@layer rdg.EditCell{.cis5rrm7-0-0-beta-58{padding:0}}@layer rdg.HeaderCell{.c6l2wv17-0-0-beta-58{cursor:pointer}}@layer rdg.HeaderCell{.c1kqdw7y7-0-0-beta-58{touch-action:none}}@layer rdg.HeaderCell{.r1y6ywlx7-0-0-beta-58{cursor:col-resize;position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inline-size:10px}}@layer rdg.HeaderCell{.c1bezg5o7-0-0-beta-58{background-color:var(--rdg-header-draggable-background-color)}}@layer rdg.HeaderCell{.c1vc96037-0-0-beta-58{background-color:var(--rdg-header-draggable-background-color)}}@layer rdg.HeaderCell{.d8rwc9w7-0-0-beta-58{border-radius:4px;width:fit-content;outline:2px solid hsl(207,100%,50%);outline-offset:-2px}}@layer rdg.Row{.r1upfr807-0-0-beta-58{display:contents;background-color:var(--rdg-background-color)}.r1upfr807-0-0-beta-58:hover{background-color:var(--rdg-row-hover-background-color)}.r1upfr807-0-0-beta-58[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.r1upfr807-0-0-beta-58[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.FocusSink{.r190mhd37-0-0-beta-58{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.FocusSink{.r139qu9m7-0-0-beta-58:before{content:"";display:inline-block;block-size:100%;position:sticky;inset-inline-start:0;border-inline-start:2px solid var(--rdg-selection-color)}}@layer rdg.HeaderRow{.h10tskcx7-0-0-beta-58{display:contents;background-color:var(--rdg-header-background-color);font-weight:700}.h10tskcx7-0-0-beta-58>.cj343x07-0-0-beta-58{z-index:2;position:sticky}.h10tskcx7-0-0-beta-58>.csofj7r7-0-0-beta-58{z-index:3}}@layer rdg.SortIcon{.a3ejtar7-0-0-beta-58{fill:currentColor}.a3ejtar7-0-0-beta-58>path{transition:d .1s}}@layer rdg.Defaults{.rnvodz57-0-0-beta-58 *,.rnvodz57-0-0-beta-58 *:before,.rnvodz57-0-0-beta-58 *:after{box-sizing:inherit}}@layer rdg.Root{.rnvodz57-0-0-beta-58{--rdg-selection-width: 2px;--rdg-selection-color: hsl(207, 75%, 66%);--rdg-font-size: 14px;--rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, .3);--rdg-border-width: 1px;--rdg-summary-border-width: calc(var(--rdg-border-width) * 2);--rdg-color: light-dark(#000, #ddd);--rdg-border-color: light-dark(#ddd, #444);--rdg-summary-border-color: light-dark(#aaa, #555);--rdg-background-color: light-dark(hsl(0deg 0% 100%), hsl(0deg 0% 13%));--rdg-header-background-color: light-dark(hsl(0deg 0% 97.5%), hsl(0deg 0% 10.5%));--rdg-header-draggable-background-color: light-dark(hsl(0deg 0% 90.5%), hsl(0deg 0% 17.5%));--rdg-row-hover-background-color: light-dark(hsl(0deg 0% 96%), hsl(0deg 0% 9%));--rdg-row-selected-background-color: light-dark(hsl(207deg 76% 92%), hsl(207deg 76% 42%));--rdg-row-selected-hover-background-color: light-dark(hsl(207deg 76% 88%), hsl(207deg 76% 38%));--rdg-checkbox-focus-color: hsl(207deg 100% 69%);color-scheme:var(--rdg-color-scheme, light dark);display:grid;accent-color:light-dark(hsl(207deg 100% 29%),hsl(207deg 100% 79%));contain:content;content-visibility:auto;block-size:350px;border:1px solid var(--rdg-border-color);box-sizing:border-box;overflow:auto;background-color:var(--rdg-background-color);color:var(--rdg-color);font-size:var(--rdg-font-size)}.rnvodz57-0-0-beta-58.rdg-dark{--rdg-color-scheme: dark}.rnvodz57-0-0-beta-58.rdg-light{--rdg-color-scheme: light}.rnvodz57-0-0-beta-58:dir(rtl){--rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, .3)}.rnvodz57-0-0-beta-58:before{content:"";grid-column:1/-1;grid-row:1/-1}.rnvodz57-0-0-beta-58>:nth-last-child(1 of.rdg-top-summary-row)>.cj343x07-0-0-beta-58{border-block-end:var(--rdg-summary-border-width) solid var(--rdg-summary-border-color)}.rnvodz57-0-0-beta-58>:nth-child(1 of.rdg-bottom-summary-row)>.cj343x07-0-0-beta-58{border-block-start:var(--rdg-summary-border-width) solid var(--rdg-summary-border-color)}}@layer rdg.Root{.vlqv91k7-0-0-beta-58{-webkit-user-select:none;user-select:none}.vlqv91k7-0-0-beta-58 .r1upfr807-0-0-beta-58{cursor:move}}@layer rdg.FocusSink{.f1lsfrzw7-0-0-beta-58{grid-column:1/-1;pointer-events:none;z-index:1}}@layer rdg.FocusSink{.f1cte0lg7-0-0-beta-58{z-index:3}}@layer rdg.SummaryCell{.s8wc6fl7-0-0-beta-58{inset-block-start:var(--rdg-summary-row-top);inset-block-end:var(--rdg-summary-row-bottom)}}@layer rdg.SummaryRow{.skuhp557-0-0-beta-58>.cj343x07-0-0-beta-58{position:sticky}}@layer rdg.SummaryRow{.tf8l5ub7-0-0-beta-58>.cj343x07-0-0-beta-58{z-index:2}.tf8l5ub7-0-0-beta-58>.csofj7r7-0-0-beta-58{z-index:3}}@layer rdg.GroupedRow{.g1yxluv37-0-0-beta-58:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.g1yxluv37-0-0-beta-58>.cj343x07-0-0-beta-58:not(:last-child,.csofj7r7-0-0-beta-58),.g1yxluv37-0-0-beta-58>:nth-last-child(n+2 of.csofj7r7-0-0-beta-58){border-inline-end:none}}@layer rdg.TextEditor{.t7vyx3i7-0-0-beta-58{appearance:none;box-sizing:border-box;inline-size:100%;block-size:100%;padding-block:0;padding-inline:6px;border:2px solid #ccc;vertical-align:top;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size)}.t7vyx3i7-0-0-beta-58:focus{border-color:var(--rdg-selection-color);outline:none}.t7vyx3i7-0-0-beta-58::placeholder{color:#999;opacity:1}}.airtable-like-view{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column;overflow:hidden}.airtable-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:12px}.back-btn{background:#fff;border:1px solid #e2e8f0;padding:8px 16px;border-radius:6px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#64748b;transition:all .2s}.back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.airtable-title{flex:1}.airtable-title h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.record-count{font-size:13px;color:#64748b}.airtable-actions{display:flex;gap:8px;align-items:center}.refresh-btn{padding:8px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#f1f5f9;color:#475569;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.refresh-btn:hover{background:#e2e8f0;border-color:#cbd5e1;color:#334155}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.create-btn{padding:8px 16px;border-radius:6px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.create-btn:hover{background:#2563eb;border-color:#2563eb}.airtable-toolbar{display:flex;align-items:center;gap:8px;padding:8px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.create-view-container{position:relative}.create-view-btn{padding:8px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.create-view-btn:hover{background:#f8fafc;border-color:#cbd5e1}.create-view-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:200px;z-index:100;overflow:hidden}.view-option{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .2s;font-size:14px;color:#374151}.view-option:hover{background:#f9fafb}.view-option:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.view-option:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.view-icon{flex-shrink:0}.grid-icon{color:#3b82f6}.calendar-icon{color:#f59e0b}.gallery-icon{color:#a855f7}.kanban-icon{color:#10b981}.timeline-icon{color:#ef4444}.list-icon{color:#06b6d4}.gantt-icon{color:#84cc16}.form-icon{color:#ec4899}.section-icon{color:#6b7280}.search-box{width:50%;max-width:50%;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:#94a3b8}.search-box input{width:100%;padding:8px 12px 8px 36px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.filter-btn{padding:8px 16px;border-radius:6px;border:1px solid #f59e0b;background:#fef3c7;color:#92400e;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .2s}.filter-btn:hover{background:#fde68a;border-color:#f59e0b;color:#78350f}.filter-btn.active{background:#f59e0b;color:#fff;border-color:#f59e0b}.filter-btn.active:hover{background:#d97706;border-color:#d97706}.hide-fields-btn{padding:8px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.hide-fields-btn:hover{background:#f8fafc;border-color:#cbd5e1}.group-btn{padding:8px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.group-btn:hover{background:#f8fafc;border-color:#cbd5e1}.group-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.group-btn.active:hover{background:#2563eb;border-color:#2563eb}.filter-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.filter-modal{background:#fff;border-radius:8px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.filter-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.close-btn{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#f3f4f6}.filter-conditions{padding:24px;overflow-y:auto;flex:1}.filter-empty-state{padding:20px;text-align:center;color:#6b7280;font-size:14px}.filter-condition-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0}.filter-where-text{font-size:14px;color:#374151;font-weight:500;min-width:50px}.filter-logical-operator{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#374151;cursor:pointer;min-width:60px;font-weight:500}.filter-logical-operator:hover{border-color:#9ca3af}.filter-field-select,.filter-operator-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#374151;cursor:pointer;min-width:140px}.filter-field-select:hover,.filter-operator-select:hover{border-color:#9ca3af}.filter-value-input{flex:1;padding:6px 10px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;font-size:14px;min-width:200px}.filter-value-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-condition-actions{display:flex;align-items:center;gap:4px}.filter-more-btn{background:none;border:none;cursor:pointer;padding:4px 8px;color:#6b7280;font-size:18px;line-height:1;border-radius:4px;transition:background .2s;display:flex;align-items:center;justify-content:center}.filter-more-btn:hover{background:#f3f4f6}.remove-filter-btn{background:none;border:none;cursor:pointer;padding:4px 8px;color:#6b7280;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-filter-btn:hover{background:#fee2e2;color:#dc2626}.filter-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.add-condition-btn,.add-condition-group-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;padding:8px 0;text-align:left;font-weight:500;transition:color .2s}.add-condition-btn:hover,.add-condition-group-btn:hover{color:#2563eb}.copy-view-link{color:#6b7280;font-size:14px;text-decoration:none;padding:8px 0;transition:color .2s}.copy-view-link:hover{color:#374151;text-decoration:underline}.filter-modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #e5e7eb}.filter-modal-footer .cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.filter-modal-footer .cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.apply-filter-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.apply-filter-btn:hover{background:#2563eb}.airtable-grid-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;margin:0 24px 24px;border:1px solid #e2e8f0;border-radius:8px}.airtable-grid{flex:1;min-height:400px}.airtable-grid-container .rdg{background:#fff!important;color:#1e293b!important;border:none!important}.airtable-grid-container .rdg-header-row{background:#f8fafc!important;color:#1e293b!important;border-bottom:1px solid #e2e8f0!important;font-weight:600!important}.airtable-grid-container .rdg-cell{background:#fff!important;color:#1e293b!important;border-right:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;padding:8px 12px!important}.airtable-grid-container .rdg-row{background:#fff!important;color:#1e293b!important}.airtable-grid-container .rdg-row:hover{background:#f8fafc!important}.airtable-grid-container .rdg-row[aria-selected=true]{background:#eff6ff!important}.airtable-grid-container .rdg-header-row .rdg-cell{background:#f8fafc!important;color:#475569!important;font-weight:600!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.5px!important}.airtable-grid-container .rdg-cell[aria-selected=true]{background:#dbeafe!important;border:2px solid #3b82f6!important}.rdg-text-editor{width:100%;padding:4px 8px;border:2px solid #3b82f6;border-radius:4px;font-size:14px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinning{animation:spin 1s linear infinite}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-top:1px solid #e2e8f0}.pagination button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;font-size:14px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:hover:not(:disabled){background:#f8fafc}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#64748b;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-body{padding:20px}.form-field{margin-bottom:16px}.form-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-field input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.form-value{padding:8px 12px;background:#f8fafc;border-radius:6px;font-size:14px;color:#64748b}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e2e8f0}.cancel-btn,.save-btn{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:1px solid #e2e8f0}.cancel-btn{background:#fff;color:#64748b}.save-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.save-btn:hover{background:#2563eb}.rdg{background:#fff!important;color:#1e293b!important}.rdg::-webkit-scrollbar{width:12px;height:12px;background:#fff!important}.rdg::-webkit-scrollbar-track{background:#fff!important}.rdg::-webkit-scrollbar-thumb{background:#e2e8f0!important;border-radius:6px;border:2px solid white}.rdg::-webkit-scrollbar-thumb:hover{background:#cbd5e1!important}.rdg-header-row{background:#f8fafc!important;color:#1e293b!important}.rdg-header-row .rdg-cell{background:#f8fafc!important;color:#475569!important;font-weight:600!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.5px!important}.rdg-cell{background:#fff!important;color:#1e293b!important;border-color:#e2e8f0!important}.rdg-row{background:#fff!important;color:#1e293b!important}.rdg-row:hover{background:#f8fafc!important}.rdg-row[aria-selected=true]{background:#eff6ff!important}.rdg-cell[aria-selected=true]{background:#dbeafe!important;border-color:#3b82f6!important}.rdg .group-header-row{background:#f8fafc!important;font-weight:500!important}.rdg .group-header-row .rdg-cell{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;padding:8px 12px!important}.group-header-cell-content{display:flex;align-items:center;gap:8px}.group-field-name{color:#64748b;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.group-chevron{color:#64748b;flex-shrink:0}.group-pill{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:13px;font-weight:500;white-space:nowrap}.group-count{color:#64748b;font-size:13px;font-weight:500;margin-left:4px}.hide-fields-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.hide-fields-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.hide-fields-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.hide-fields-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.hide-fields-search{padding:16px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;position:relative}.hide-fields-search svg{position:absolute;left:32px;color:#9ca3af;pointer-events:none}.hide-fields-search input{flex:1;padding:8px 12px 8px 40px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:14px;color:#1e293b}.hide-fields-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.hide-fields-search input::placeholder{color:#9ca3af}.hide-fields-list{flex:1;overflow-y:auto;padding:8px 0}.hide-fields-item{display:flex;align-items:center;gap:12px;padding:10px 24px;transition:background .2s}.hide-fields-item:hover{background:#f9fafb}.field-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.field-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.field-toggle input:checked+.toggle-slider{background-color:#10b981}.field-toggle input:checked+.toggle-slider:before{transform:translate(20px)}.field-type-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#6b7280;flex-shrink:0}.field-name{flex:1;font-size:14px;color:#374151}.field-more-btn{background:none;border:none;cursor:pointer;padding:4px 8px;color:#9ca3af;font-size:18px;line-height:1;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.field-more-btn:hover{background:#f3f4f6;color:#6b7280}.hide-fields-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid #e5e7eb;gap:12px}.hide-all-btn,.show-all-btn{flex:1;padding:8px 16px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.hide-all-btn:hover,.show-all-btn:hover{background:#f9fafb;border-color:#9ca3af}.show-all-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.show-all-btn:hover{background:#2563eb;border-color:#2563eb}.view-selector-container{margin:0}.view-selector{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;min-width:150px}.view-selector:hover{border-color:#cbd5e1}.view-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-view-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.create-view-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.create-view-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;gap:12px}.view-name-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:16px;font-weight:600;color:#111827}.view-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-view-content{padding:24px;overflow-y:auto;flex:1}.view-config-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.view-info{margin:0 0 16px;font-size:13px;color:#6b7280;line-height:1.5}.view-filters-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.current-filters-preview{font-size:13px;color:#374151}.current-filters-preview strong{display:block;margin-bottom:8px;color:#111827}.current-filters-preview ul{margin:0;padding-left:20px}.current-filters-preview li{margin-bottom:4px}.no-filters{margin:0;font-size:13px;color:#6b7280;font-style:italic}.create-view-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.create-view-submit-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.create-view-submit-btn:hover{background:#2563eb}.group-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.group-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.group-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.group-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.group-search{padding:16px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;position:relative}.group-search svg{position:absolute;left:32px;color:#9ca3af;pointer-events:none}.group-search input{flex:1;padding:8px 12px 8px 40px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:14px;color:#1e293b}.group-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.group-search input::placeholder{color:#9ca3af}.group-fields-list{flex:1;overflow-y:auto;padding:8px 0}.group-field-item{display:flex;align-items:center;gap:12px;padding:10px 24px;transition:background .2s}.group-field-item:hover{background:#f9fafb}.group-field-checkbox{position:relative;display:inline-block;cursor:pointer}.group-field-checkbox input{opacity:0;width:0;height:0}.checkbox-custom{position:absolute;top:0;left:0;height:18px;width:18px;background-color:#fff;border:2px solid #d1d5db;border-radius:4px;transition:all .2s}.group-field-checkbox input:checked~.checkbox-custom{background-color:#3b82f6;border-color:#3b82f6}.group-field-checkbox input:checked~.checkbox-custom:after{content:"";position:absolute;display:block;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.group-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb}.apply-group-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.apply-group-btn:hover{background:#2563eb}.airtable-grid-container::-webkit-scrollbar,.airtable-grid-container .rdg::-webkit-scrollbar,.hide-fields-list::-webkit-scrollbar,.filter-conditions::-webkit-scrollbar,.create-view-content::-webkit-scrollbar{width:12px;height:12px;background:#fff}.airtable-grid-container::-webkit-scrollbar-track,.airtable-grid-container .rdg::-webkit-scrollbar-track,.hide-fields-list::-webkit-scrollbar-track,.filter-conditions::-webkit-scrollbar-track,.create-view-content::-webkit-scrollbar-track,.group-fields-list::-webkit-scrollbar-track{background:#fff;border-radius:6px}.airtable-grid-container::-webkit-scrollbar-thumb,.airtable-grid-container .rdg::-webkit-scrollbar-thumb,.hide-fields-list::-webkit-scrollbar-thumb,.filter-conditions::-webkit-scrollbar-thumb,.create-view-content::-webkit-scrollbar-thumb,.group-fields-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:6px;border:2px solid white}.airtable-grid-container::-webkit-scrollbar-thumb:hover,.airtable-grid-container .rdg::-webkit-scrollbar-thumb:hover,.hide-fields-list::-webkit-scrollbar-thumb:hover,.filter-conditions::-webkit-scrollbar-thumb:hover,.create-view-content::-webkit-scrollbar-thumb:hover,.group-fields-list::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.airtable-grid-container,.airtable-grid-container .rdg,.hide-fields-list,.filter-conditions,.create-view-content,.group-fields-list{scrollbar-width:thin;scrollbar-color:#e2e8f0 white}.parents-page .entity-header{background:linear-gradient(135deg,#fbbf2429,#f59e0b29)}.scheduled-lessons-calendar-list-page{min-height:100vh;padding:32px;background:radial-gradient(125% 125% at 15% 10%,#4f46e51f,#0e749014);box-sizing:border-box}.scheduled-lessons-calendar-list-page .view-toggle-bar{display:flex;justify-content:flex-end;margin-bottom:20px}.scheduled-lessons-calendar-list-page .view-toggle-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#6366f1eb;color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.02em;text-decoration:none;box-shadow:0 16px 40px -25px #4338cad9;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.scheduled-lessons-calendar-list-page .view-toggle-link:after{content:"→";font-weight:700}.scheduled-lessons-calendar-list-page .view-toggle-link:hover{transform:translateY(-1px);background:#4f46e5fa;box-shadow:0 18px 45px -25px #4338caf2}.scheduled-lessons-calendar-entity-view.entity-view-container{background:#fff;border-radius:24px;box-shadow:0 24px 60px -40px #0f172a8c;border:1px solid rgba(148,163,184,.2)}.scheduled-lessons-calendar-entity-view .entity-header{background:linear-gradient(135deg,#3b82f61f,#818cf829);border-radius:24px 24px 0 0;padding:28px 32px}.scheduled-lessons-calendar-entity-view .entity-toolbar{padding:20px 32px 0}.scheduled-lessons-calendar-entity-view .entity-body{padding:0 32px 32px}.scheduled-lessons-calendar-entity-view .entity-actions .create-btn{background:#4f46e5eb;border:none;transition:transform .18s ease,box-shadow .18s ease}.scheduled-lessons-calendar-entity-view .entity-actions .create-btn:hover{transform:translateY(-1px);box-shadow:0 12px 32px -20px #4f46e5cc}.scheduled-lessons-calendar-entity-view .data-table tbody tr:hover{background:#4f46e50d}@media(max-width:1024px){.scheduled-lessons-calendar-list-page{padding:24px}.scheduled-lessons-calendar-entity-view .entity-header,.scheduled-lessons-calendar-entity-view .entity-toolbar,.scheduled-lessons-calendar-entity-view .entity-body{padding-left:24px;padding-right:24px}}@media(max-width:768px){.scheduled-lessons-calendar-list-page{padding:16px}.scheduled-lessons-calendar-list-page .view-toggle-bar{justify-content:center}.scheduled-lessons-calendar-entity-view.entity-view-container{border-radius:18px}.scheduled-lessons-calendar-entity-view .entity-header,.scheduled-lessons-calendar-entity-view .entity-toolbar,.scheduled-lessons-calendar-entity-view .entity-body{padding-left:20px;padding-right:20px}}.scheduled-lessons-calendar-calendar-page{padding:32px;min-height:100vh;background:radial-gradient(125% 125% at 15% 10%,#4f46e51f,#0e749014);display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.scheduled-lessons-calendar-calendar-page .calendar-card{width:clamp(960px,90vw,1200px);background:#fff;border-radius:24px;box-shadow:0 24px 60px -35px #0f172a73;border:1px solid rgba(148,163,184,.2);padding:28px 32px 36px;display:flex;flex-direction:column;gap:24px}.scheduled-lessons-calendar-calendar-page .calendar-header{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px}.scheduled-lessons-calendar-calendar-page .calendar-header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.scheduled-lessons-calendar-calendar-page .tutor-selector-container{display:flex;flex-direction:row;align-items:center;gap:8px}.scheduled-lessons-calendar-calendar-page .tutor-select-label{font-weight:600;font-size:.95rem;color:#0f172a;white-space:nowrap;margin:0;line-height:1.5;display:inline-flex;align-items:center}.scheduled-lessons-calendar-calendar-page .tutor-select{min-width:180px;padding:8px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;line-height:1.5;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;vertical-align:middle}.scheduled-lessons-calendar-calendar-page .tutor-select:hover:not(:disabled){border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.scheduled-lessons-calendar-calendar-page .tutor-select:focus{outline:none;border-color:#6366f1b3;box-shadow:0 0 0 3px #6366f126}.scheduled-lessons-calendar-calendar-page .tutor-select:disabled{opacity:.6;cursor:not-allowed;background:#f8fafccc}.scheduled-lessons-calendar-calendar-page .tutor-profile-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 4px 12px #667eea4d;white-space:nowrap}.scheduled-lessons-calendar-calendar-page .tutor-profile-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.scheduled-lessons-calendar-calendar-page .tutor-profile-btn:active{transform:translateY(0)}.scheduled-lessons-calendar-calendar-page .calendar-header h1{font-size:2rem;font-weight:700;margin:0}.scheduled-lessons-calendar-calendar-page .calendar-header p{font-size:.95rem;margin:0;color:#475569}.scheduled-lessons-calendar-calendar-page .calendar-controls{display:inline-flex;align-items:center;gap:10px;background:#0f172a0d;padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px #94a3b82e}.scheduled-lessons-calendar-calendar-page .calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:6px 10px;gap:6px;border-radius:999px;border:1px solid rgba(15,23,42,.18);background:transparent;color:#0f172a;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.scheduled-lessons-calendar-calendar-page .calendar-nav-btn.prev:before,.scheduled-lessons-calendar-calendar-page .calendar-nav-btn.next:before{content:"";width:0;height:0}.scheduled-lessons-calendar-calendar-page .calendar-nav-btn:hover{transform:translateY(-1px);background:#0f172a;color:#fff;box-shadow:0 10px 20px -18px #0f172ab3}.scheduled-lessons-calendar-calendar-page .calendar-nav-btn:focus-visible{outline:2px solid rgba(99,102,241,.5);outline-offset:1px}.scheduled-lessons-calendar-calendar-page .calendar-nav-btn svg{width:18px;height:18px;stroke:currentColor}.scheduled-lessons-calendar-calendar-page .calendar-nav-text{font-weight:600;font-size:.9rem}.scheduled-lessons-calendar-calendar-page .calendar-back-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:8px 14px;font-weight:600;font-size:.9rem;letter-spacing:.02em;background:#fff;color:#1e293b;box-shadow:0 10px 24px -18px #4f46e599,inset 0 0 0 1px #94a3b833;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap}.scheduled-lessons-calendar-calendar-page .calendar-back-btn.today{padding:8px 14px;background:#fff;color:#0f172a;box-shadow:inset 0 0 0 1px #94a3b873}.scheduled-lessons-calendar-calendar-page .calendar-back-btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px -22px #4f46e5b3,inset 0 0 0 1px #6366f166}.scheduled-lessons-calendar-calendar-page .calendar-back-btn:focus-visible{outline:2px solid rgba(99,102,241,.55);outline-offset:2px}.scheduled-lessons-calendar-calendar-page .calendar-month-label{font-weight:600;color:#0f172a;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin:0 6px;white-space:nowrap}.scheduled-lessons-calendar-calendar-page .calendar-state{display:grid;place-items:center;padding:48px 0 64px;color:#475569;gap:16px}.scheduled-lessons-calendar-calendar-page .calendar-state.error{color:#b91c1c}.scheduled-lessons-calendar-calendar-page .calendar-state button{border:none;border-radius:12px;padding:10px 18px;background:#6366f1;color:#fff;cursor:pointer;font-weight:600;letter-spacing:.02em}.scheduled-lessons-calendar-calendar-page .spinner{width:42px;height:42px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.scheduled-lessons-calendar-calendar-page .calendar-grid{display:flex;flex-direction:column;gap:12px;position:relative;transition:opacity .2s ease}.scheduled-lessons-calendar-calendar-page .calendar-grid.loading{opacity:.7;pointer-events:none}.scheduled-lessons-calendar-calendar-page .calendar-grid.loading:after{content:"";position:absolute;inset:0;background:#ffffff80;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:1;pointer-events:none}.scheduled-lessons-calendar-calendar-page .calendar-weekdays,.scheduled-lessons-calendar-calendar-page .calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.scheduled-lessons-calendar-calendar-page .calendar-weekday{text-align:center;font-size:.9rem;font-weight:600;color:#64748b;letter-spacing:.04em;text-transform:uppercase}.scheduled-lessons-calendar-calendar-page .calendar-day{background:linear-gradient(180deg,#f8fafcf2,#fffffffa);border-radius:20px;padding:12px 14px;min-height:140px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px #94a3b82e;transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}.scheduled-lessons-calendar-calendar-page .calendar-day.today{background:linear-gradient(180deg,#818cf833,#60a5fa2e);box-shadow:inset 0 0 0 1px #6366f159}.scheduled-lessons-calendar-calendar-page .calendar-day.outside-month{opacity:.6}.scheduled-lessons-calendar-calendar-page .calendar-day:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #6366f133,0 12px 30px -20px #0f172a66}.scheduled-lessons-calendar-calendar-page .day-label{font-weight:700;font-size:1.1rem;color:#0f172a}.scheduled-lessons-calendar-calendar-page .day-lessons{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:100px;flex:1;min-height:0}.scheduled-lessons-calendar-calendar-page .day-lessons::-webkit-scrollbar{width:4px}.scheduled-lessons-calendar-calendar-page .day-lessons::-webkit-scrollbar-track{background:transparent}.scheduled-lessons-calendar-calendar-page .day-lessons::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.scheduled-lessons-calendar-calendar-page .day-lessons::-webkit-scrollbar-thumb:hover{background:#94a3b880}.scheduled-lessons-calendar-calendar-page .lesson-pill{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-radius:14px;background:#4f46e51a;color:#312e81;font-size:.85rem;font-weight:600;gap:12px;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.scheduled-lessons-calendar-calendar-page .lesson-pill:hover{transform:translateY(-1px);background:#4f46e526;box-shadow:0 4px 12px -4px #4f46e54d}.scheduled-lessons-calendar-calendar-page .lesson-pill:active{transform:translateY(0)}.scheduled-lessons-calendar-calendar-page .lesson-info{display:flex;flex-direction:column;gap:4px}.scheduled-lessons-calendar-calendar-page .lesson-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.scheduled-lessons-calendar-calendar-page .lesson-time{font-size:.75rem;font-weight:500;color:#4338ca;letter-spacing:.02em}.scheduled-lessons-calendar-calendar-page .lesson-status{background:#3b82f629;color:#1d4ed8;padding:2px 8px;border-radius:999px;font-size:.75rem;letter-spacing:.01em}.scheduled-lessons-calendar-calendar-page .lesson-more{color:#6366f1;font-weight:600;font-size:.8rem;letter-spacing:.04em}.scheduled-lessons-calendar-calendar-page .lesson-empty{color:#94a3b8;font-size:.85rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;background:#94a3b829;align-self:flex-start;padding:4px 10px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.scheduled-lessons-calendar-calendar-page{padding:24px}.scheduled-lessons-calendar-calendar-page .calendar-card{width:100%;padding:24px}.scheduled-lessons-calendar-calendar-page .calendar-weekdays,.scheduled-lessons-calendar-calendar-page .calendar-week{gap:10px}.scheduled-lessons-calendar-calendar-page .calendar-day{min-height:120px;padding:10px 12px}}@media(max-width:768px){.scheduled-lessons-calendar-calendar-page{padding:16px}.scheduled-lessons-calendar-calendar-page .calendar-header{flex-direction:column;align-items:flex-start;gap:16px}.scheduled-lessons-calendar-calendar-page .tutor-selector-container{width:100%;flex-direction:column;align-items:flex-start;gap:8px}.scheduled-lessons-calendar-calendar-page .tutor-select{width:100%;min-width:unset}.scheduled-lessons-calendar-calendar-page .calendar-controls{padding:6px 10px;gap:12px;width:100%;justify-content:center}.scheduled-lessons-calendar-calendar-page .calendar-nav-text{display:none}.scheduled-lessons-calendar-calendar-page .calendar-day{min-height:110px}.scheduled-lessons-calendar-calendar-page .lesson-id{max-width:80px}}.scheduled-lessons-calendar-calendar-page .lesson-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.scheduled-lessons-calendar-calendar-page .lesson-modal-content{background:#fff;border-radius:24px;box-shadow:0 24px 60px -35px #0f172a99;border:1px solid rgba(148,163,184,.2);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.scheduled-lessons-calendar-calendar-page .lesson-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid rgba(148,163,184,.2)}.scheduled-lessons-calendar-calendar-page .lesson-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a}.scheduled-lessons-calendar-calendar-page .lesson-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:#94a3b826;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;padding:0}.scheduled-lessons-calendar-calendar-page .lesson-modal-close:hover{background:#ef44441a;color:#dc2626;transform:scale(1.05)}.scheduled-lessons-calendar-calendar-page .lesson-modal-close:active{transform:scale(.95)}.scheduled-lessons-calendar-calendar-page .lesson-modal-close svg{stroke-width:2.5}.scheduled-lessons-calendar-calendar-page .lesson-modal-body{padding:28px;display:flex;flex-direction:column;gap:20px}.scheduled-lessons-calendar-calendar-page .lesson-detail-item{display:flex;flex-direction:column;gap:6px}.scheduled-lessons-calendar-calendar-page .lesson-detail-label{font-weight:600;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.scheduled-lessons-calendar-calendar-page .lesson-detail-value{font-size:1rem;color:#0f172a;font-weight:500;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tutor-calendar-grouping-page .entity-header{background:linear-gradient(135deg,#60a5fa24,#818cf824)}.landing-page{min-height:100vh;font-family:Poppins,Segoe UI,sans-serif;background:linear-gradient(180deg,#e9f6ff,#f1fbff);color:#0f172a;display:flex;flex-direction:column}.landing-navbar{display:flex;justify-content:space-between;align-items:center;padding:24px clamp(24px,5vw,72px);position:sticky;top:0;background:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10}.landing-logo{display:flex;align-items:center;gap:10px;font-weight:700;color:#0f172a}.landing-logo-icon{width:32px;height:32px;display:grid;place-items:center;font-size:20px}.landing-logo-icon img{width:28px;height:28px;object-fit:contain}.landing-navbar nav{display:flex;align-items:center;gap:18px}.landing-navbar nav button{background:transparent;border:none;font-size:.95rem;font-weight:600;color:#1e293b;cursor:pointer}.landing-navbar nav button:hover{color:#2563eb}.landing-navbar .nav-free-trial-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border-radius:10px;padding:10px 20px;box-shadow:0 4px 12px -6px #7c3aed66;transition:all .2s ease}.landing-navbar .nav-free-trial-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-2px);box-shadow:0 6px 16px -6px #7c3aed80;color:#fff}.landing-navbar .nav-signup{background:linear-gradient(135deg,#facc15,#f59e0b 45%,#f97316);color:#0f172a;border-radius:999px;padding:10px 20px;box-shadow:0 15px 30px -20px #f9731699}.hero-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,48px);padding:clamp(32px,6vw,72px);align-items:center}.hero-content h1{margin:0 0 16px;display:flex;flex-direction:column;gap:12px;font-size:clamp(2.4rem,5vw,3.6rem)}.hero-content h1 span:first-child{color:#0f172a;font-weight:700}.hero-highlight{color:#facc15;font-weight:700}.hero-content p{margin:0 0 24px;font-size:1.05rem;line-height:1.6;color:#334155}.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.primary-btn,.free-trial-btn{padding:14px 28px;border-radius:16px;border:none;background:linear-gradient(135deg,#facc15,#f59e0b 45%,#f97316);color:#0f172a;font-size:1rem;font-weight:600;box-shadow:0 18px 40px -22px #f97316a6;cursor:pointer;transition:all .3s ease}.primary-btn:hover,.free-trial-btn:hover{transform:translateY(-2px);box-shadow:0 22px 48px -20px #f97316bf}.secondary-btn{padding:14px 28px;border-radius:16px;border:2px solid #1e293b;background:transparent;color:#1e293b;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.secondary-btn:hover{background:#1e293b;color:#fff;transform:translateY(-2px)}.hero-tip{margin-top:24px;color:#475569;font-style:italic;font-size:.9rem;display:flex;align-items:center;gap:8px}.hero-media{display:flex;flex-direction:column;gap:18px}.hero-gallery-grid{display:flex;gap:16px;justify-content:center;align-items:stretch;flex-wrap:wrap}.hero-gallery-card{flex:1 1 200px;max-height:120px;border-radius:22px;overflow:hidden;background:#fffc;box-shadow:0 18px 36px -24px #0f172a66}.hero-gallery-card.primary{background:linear-gradient(135deg,#60a5fa2e,#6366f12e)}.hero-gallery-card.secondary{background:linear-gradient(135deg,#facc152e,#f973162e)}.hero-gallery-image{display:block;width:100%;height:100%;object-fit:cover}.hero-video{position:relative;width:100%;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#2663eb,#5b8bff);box-shadow:0 30px 60px -34px #2563eb99;aspect-ratio:16 / 9}.hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.highlight-section{padding:clamp(36px,6vw,72px);text-align:center}.highlight-section h2{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:12px}.highlight-section p{margin:0 auto clamp(24px,4vw,36px);color:#475569;max-width:680px}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;justify-items:stretch}.highlight-card{background:#ffffffd9;border-radius:20px;border:1px solid rgba(253,230,138,.6);padding:18px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 22px 40px -26px #fbbf2466;color:#334155}.highlight-card svg{color:#f59e0b}.portal-section{padding:clamp(36px,6vw,72px);text-align:center;display:flex;flex-direction:column;gap:20px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.portal-card{background:#ffffffe6;border:1px solid rgba(59,130,246,.1);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 20px 45px -26px #2563eb66}.portal-card:hover{transform:translateY(-4px);box-shadow:0 28px 52px -28px #2563eb80}.portal-icon{width:50px;height:50px;border-radius:16px;background:#3b82f61f;display:grid;place-items:center;color:#1d4ed8}.portal-card button{margin-top:auto;border:none;background:#3b82f61f;color:#1d4ed8;border-radius:14px;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.testimonial-section{padding:clamp(36px,6vw,72px)}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.testimonial-card{background:#ffffffeb;border-radius:24px;border:1px solid rgba(148,163,184,.2);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 22px 44px -26px #0f172a59}.stars{display:flex;gap:4px;color:#facc15}.testimonial-card .quote{font-style:italic;color:#475569}.person{display:flex;align-items:center;gap:12px}.person .meta{display:flex;align-items:center;gap:6px}.person .meta strong{margin-right:4px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#facc15,#f97316);display:grid;place-items:center;color:#0f172a;font-weight:700}.landing-footer{margin-top:auto;padding:clamp(32px,5vw,48px);background:#e9f6fff2;display:flex;flex-direction:column;gap:32px;position:relative}.footer-top{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(0,2fr);gap:clamp(24px,4vw,48px);align-items:start}.footer-brand{display:flex;align-items:center;gap:16px;color:#475569;max-width:380px}.footer-brand p{margin:0;line-height:1.6}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:clamp(18px,3vw,32px)}.footer-columns>div{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.footer-columns>div a,.footer-columns>div button{padding:0}.footer-columns h4{margin:0 0 12px;color:#0f172a}.footer-columns a,.footer-columns button{display:block;border:none;background:none;padding:6px 0;font-size:.95rem;color:#334155;text-align:left;cursor:pointer}.footer-columns a:hover,.footer-columns button:hover{color:#2563eb}.footer-bottom{border-top:1px solid rgba(148,163,184,.25);padding-top:18px;text-align:center;color:#64748b;font-size:.9rem}.whatsapp-bubble{position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);border-radius:999px;border:none;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 26px 48px -28px #0596698c;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;text-decoration:none;font-weight:600;font-size:.95rem}.whatsapp-bubble img{width:26px;height:26px}.chat-toggle-btn svg{width:24px;height:24px;color:#fff}.chat-header-content svg{width:20px;height:20px;color:#fff}.chat-close-btn{background:#fff;border:2px solid rgba(37,99,235,.4);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease;flex-shrink:0;box-shadow:0 2px 8px #00000040}.chat-close-btn svg{width:12px;height:12px;color:#1e40af;stroke-width:1.5;display:block;flex-shrink:0}.chat-close-btn:hover{background:#eff6ff;border-color:#2563eb99;transform:scale(1.1);box-shadow:0 4px 12px #00000059}.chat-close-btn:hover svg{color:#1e3a8a}.chat-send-btn{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;flex-shrink:0;box-shadow:0 2px 8px #2563eb66}.chat-send-btn svg{width:14px;height:14px;color:#fff;stroke-width:2;display:block;flex-shrink:0}.chat-send-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 12px #2563eb80;border-color:#ffffff80}.chat-send-btn:hover:not(:disabled) svg{color:#fff}.chat-send-btn:disabled{opacity:.65;cursor:not-allowed;border-color:#fff3}@media(max-width:768px){.landing-navbar nav{gap:12px}.portal-card,.highlight-card,.testimonial-card{text-align:left}.hero-gallery-grid{flex-direction:column}.highlight-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.footer-top{grid-template-columns:1fr}.footer-brand{flex-direction:column;align-items:flex-start}.footer-columns{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.chat-window{width:calc(100vw - 32px);height:calc(100vh - 32px);max-height:calc(100vh - 32px);bottom:16px;left:16px;border-radius:20px}.chat-toggle-btn{bottom:16px;left:16px}.whatsapp-bubble{bottom:80px}}@media(max-width:520px){.highlight-grid{grid-template-columns:1fr}}.chat-toggle-btn{position:fixed;bottom:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px);width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 26px 48px -28px #2563eb8c;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:transform .2s ease,box-shadow .2s ease}.chat-toggle-btn:hover{transform:scale(1.05);box-shadow:0 30px 52px -28px #2563eba6}.chat-window{position:fixed;bottom:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px);width:clamp(320px,90vw,400px);height:clamp(500px,70vh,600px);max-height:80vh;background:#fff;border-radius:24px;box-shadow:0 30px 60px -34px #0f172a80;display:flex;flex-direction:column;z-index:1001;overflow:hidden;border:1px solid rgba(148,163,184,.2)}.chat-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:24px 24px 0 0}.chat-header-content{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1rem}.chat-close-btn{background:#fff;border:1px solid rgba(37,99,235,.3);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1d4ed8;transition:background .2s ease,transform .2s ease,border-color .2s ease;flex-shrink:0;box-shadow:0 2px 8px #0003}.chat-close-btn svg{width:18px;height:18px;filter:none}.chat-close-btn:hover{background:#eff6ff;border-color:#2563eb80;transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.chat-close-btn:hover svg{filter:drop-shadow(0 1px 2px rgba(37,99,235,.2))}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:#f8fafc}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#64748b;text-align:center;gap:12px}.chat-empty svg{color:#94a3b8}.chat-empty p{margin:0;font-size:.9rem;max-width:240px}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:80%;animation:messageSlideIn .3s ease}.user-message{align-self:flex-end}.user-message .message-content{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:12px 16px;border-radius:18px 18px 4px;word-wrap:break-word;line-height:1.5}.assistant-message{align-self:flex-start}.assistant-message .message-content{background:#fff;color:#0f172a;padding:12px 16px;border-radius:18px 18px 18px 4px;border:1px solid rgba(148,163,184,.2);word-wrap:break-word;line-height:1.5;display:flex;align-items:center;gap:8px}.message-time{font-size:.75rem;color:#94a3b8;padding:0 4px}.loading-spinner{animation:spin 1s linear infinite}.chat-input-container{display:flex;gap:10px;padding:16px;background:#fff;border-top:1px solid rgba(148,163,184,.2);align-items:flex-end;flex-shrink:0}.chat-input{flex:1;border:1px solid rgba(148,163,184,.3);border-radius:20px;padding:12px 16px;font-size:.95rem;font-family:inherit;resize:none;min-height:44px;max-height:120px;overflow-y:auto;outline:none;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;background:#f8fafc;color:#0f172a;line-height:1.5}.chat-input::placeholder{color:#94a3b8}.chat-input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.chat-send-btn{width:40px;height:40px;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease;flex-shrink:0}.chat-send-btn svg{width:18px;height:18px}.chat-send-btn:hover:not(:disabled){transform:scale(1.05)}.chat-send-btn:disabled{opacity:.65;cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b880}@media(max-width:768px){.chat-window{width:calc(100vw - 32px);height:calc(100vh - 32px);max-height:calc(100vh - 32px);bottom:16px;left:16px;border-radius:20px}.chat-toggle-btn{bottom:16px;left:16px}.whatsapp-bubble{bottom:80px}}.programs-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#e9f6ff,#f1fbff);color:#0f172a}.programs-navbar{display:flex;justify-content:space-between;align-items:center;padding:24px clamp(24px,6vw,72px);background:#fff;box-shadow:0 10px 30px -24px #0f172a66;position:sticky;top:0;z-index:10}.programs-logo{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}.programs-logo-icon img{width:32px;height:32px;object-fit:contain}.programs-navbar nav{display:flex;align-items:center;gap:18px}.programs-navbar nav button{border:none;background:transparent;color:#1e293b;font-weight:600;cursor:pointer}.programs-navbar nav button:hover{color:#2563eb}.programs-signup{padding:10px 20px;border-radius:999px;background:linear-gradient(135deg,#facc15,#f59e0b 45%,#f97316);color:#0f172a;box-shadow:0 15px 30px -20px #f9731699}.programs-main{flex:1;padding:clamp(32px,6vw,72px);display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}.programs-breadcrumbs{display:flex;align-items:center;gap:10px;color:#475569;font-size:.95rem}.programs-breadcrumbs button{border:none;background:none;color:#2563eb;cursor:pointer;font-weight:600}.programs-hero{text-align:center;display:flex;flex-direction:column;gap:16px}.programs-hero h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:0}.programs-hero p{margin:0 auto;max-width:680px;color:#475569;line-height:1.6}.programs-empty-state{margin-top:18px;padding:28px;border-radius:24px;background:#ffffffd9;color:#64748b;max-width:420px;margin-inline:auto;box-shadow:0 20px 40px -28px #0f172a59}.programs-cta{background:#ffffffe6;border-radius:28px;padding:clamp(28px,5vw,42px);text-align:center;box-shadow:0 24px 48px -32px #0f172a4d;display:flex;flex-direction:column;gap:16px;align-items:center}.programs-cta h2{margin:0;font-size:clamp(1.8rem,4vw,2.2rem)}.programs-cta p{margin:0;color:#475569;max-width:540px;line-height:1.6}.programs-cta-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:12px}.programs-cta-actions button,.programs-cta-actions a{border:none;border-radius:16px;padding:14px 28px;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.cta-primary{background:linear-gradient(135deg,#facc15,#f59e0b 45%,#f97316);color:#0f172a;box-shadow:0 18px 40px -22px #f97316a6}.cta-secondary{background:#2563eb1f;color:#1d4ed8;text-decoration:none}.programs-footer{padding:clamp(32px,5vw,48px);background:#e9f6fff2;display:flex;flex-direction:column;gap:32px}@media(max-width:768px){.programs-navbar{flex-direction:column;gap:16px}.programs-navbar nav{flex-wrap:wrap;justify-content:center}.programs-breadcrumbs{justify-content:center}}.users-page{min-height:100vh;background:linear-gradient(180deg,#f0f9ff,#e0f2fe);font-family:Poppins,Segoe UI,sans-serif;padding:clamp(20px,4vw,40px)}.users-header{max-width:1400px;margin:0 auto 24px;display:flex;align-items:center;gap:20px}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#475569;font-weight:600;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.users-header h1{margin:0;font-size:2rem;font-weight:700;color:#0f172a}.users-container{max-width:1400px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 16px -8px #0f172a33;border:1px solid rgba(148,163,184,.1);overflow:hidden}.alert{padding:12px 16px;border-radius:8px;margin:16px;display:flex;justify-content:space-between;align-items:center;font-weight:500}.alert button{background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .2s}.alert button:hover{opacity:1}.alert-error{background:#fee2e2f2;color:#b91c1c;border:1px solid rgba(248,113,113,.45)}.alert-success{background:#dcfce7f2;color:#15803d;border:1px solid rgba(74,222,128,.45)}.users-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(148,163,184,.2);gap:16px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f8fafc;border:1px solid rgba(148,163,184,.2);border-radius:10px;flex:1;min-width:250px;max-width:400px}.search-box svg{color:#64748b}.search-box input{flex:1;border:none;background:none;outline:none;font-size:.95rem;color:#0f172a}.search-box input::placeholder{color:#94a3b8}.toolbar-actions{display:flex;gap:12px}.btn-primary,.btn-secondary,.btn-icon{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px -4px #2563eb66}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px -4px #2563eb80}.btn-secondary{background:#fff;color:#475569;border:1px solid rgba(148,163,184,.3)}.btn-secondary:hover{background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.btn-icon{padding:8px;background:#fff;color:#475569;border:1px solid rgba(148,163,184,.2)}.btn-icon:hover{background:#f8fafc;color:#2563eb;border-color:#3b82f64d}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover{background:#fef2f2;border-color:#dc26264d;color:#b91c1c}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#f8fafc;border-bottom:2px solid rgba(148,163,184,.2)}.users-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.1);color:#0f172a;font-size:.95rem}.users-table tbody tr:hover{background:#f8fafc}.role-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600}.role-parent{background:#3b82f61a;color:#2563eb}.role-student{background:#a855f71a;color:#7c3aed}.role-teacher{background:#22c55e1a;color:#16a34a}.role-admin{background:#f973161a;color:#ea580c}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600}.status-badge.active{background:#22c55e1a;color:#16a34a}.status-badge.inactive{background:#94a3b81a;color:#64748b}.action-buttons{display:flex;gap:8px}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:#64748b;font-size:1.1rem}.modal-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px -16px #0f172a66}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(148,163,184,.2)}.modal-header h2{margin:0;font-size:1.4rem;font-weight:700;color:#0f172a}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;color:#334155}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid rgba(148,163,184,.3);border-radius:8px;font-size:.95rem;transition:all .2s;background:#fff;color:#0f172a}.form-group input:disabled{background:#f1f5f9;cursor:not-allowed}.password-input{position:relative;display:flex;align-items:center}.password-input input{padding-right:44px}.password-toggle{position:absolute;right:10px;background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.password-toggle:hover{background:#f1f5f9;color:#0f172a}.modal-footer{padding:16px 24px;border-top:1px solid rgba(148,163,184,.2);display:flex;gap:12px;justify-content:flex-end}@media(max-width:768px){.users-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.toolbar-actions{flex-direction:column}.users-table-container{overflow-x:scroll}}.code-companion{height:100vh;display:flex;flex-direction:column;background:#f8fafc;font-family:Poppins,Segoe UI,sans-serif;overflow:hidden}.companion-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px -3px #00000014;flex-shrink:0}.companion-brand{display:flex;align-items:center;gap:12px}.companion-logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.companion-logo-icon img{width:38px;height:38px;object-fit:contain}.companion-brand-text h1{margin:0;font-size:1.25rem;font-weight:700;color:#111827;letter-spacing:-.01em}.companion-brand-text p{margin:0;font-size:.82rem;color:#6b7280;font-weight:500}.companion-logout{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid rgba(148,163,184,.3);border-radius:10px;color:#475569;font-weight:600;cursor:pointer;transition:all .2s ease}.companion-logout:hover{background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.companion-container{flex:1;display:grid;grid-template-columns:240px 1fr;min-height:0;overflow:hidden}.companion-sidebar{background:#e2e8f0;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#facc15,#f59e0b);color:#0f172a;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px -6px #f59e0b66;transition:all .2s ease}.new-chat-btn:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px);box-shadow:0 6px 16px -6px #f59e0b80}.past-chats{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}.past-chats h3{margin:0;font-size:.95rem;font-weight:700;color:#0f172a;padding-bottom:8px;border-bottom:2px solid rgba(148,163,184,.3)}.chat-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.chat-item{padding:10px 12px;background:#ffffff80;border:1px solid rgba(148,163,184,.2);border-radius:8px;text-align:left;cursor:pointer;transition:all .2s ease;color:#334155;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item:hover{background:#fffc;border-color:#3b82f64d}.chat-item.active{background:#fff;border-color:#3b82f666;color:#2563eb;font-weight:600}.companion-main{display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f3ff,#ede9fe,#ddd6fe);overflow:hidden;min-width:0}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;display:flex;flex-direction:column;gap:16px}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:14px;color:#0f172a;max-width:600px;margin:0 auto;padding:24px}.welcome-emoji{font-size:3.5rem;animation:wave 1s ease-in-out;margin-bottom:4px}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-20deg)}}.welcome-message h2{margin:0;font-size:2.2rem;font-weight:700;color:#111827}.welcome-message p{margin:0;font-size:1.1rem;color:#4b5563;max-width:480px;line-height:1.6}.welcome-instruction{font-size:.95rem!important;color:#6b7280;font-style:italic;margin-top:4px}.chat-message{display:flex;flex-direction:column;max-width:75%;animation:messageSlideIn .3s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end;align-items:flex-end}.user-message .message-content{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:14px 18px;border-radius:18px 18px 4px;word-wrap:break-word;word-break:break-word;line-height:1.5;font-size:.95rem;overflow-wrap:break-word;box-shadow:0 2px 8px #3b82f64d}.assistant-message{align-self:flex-start;align-items:flex-start}.assistant-message .message-content{background:#fff;color:#111827;padding:14px 18px;border-radius:18px 18px 18px 4px;word-wrap:break-word;word-break:break-word;line-height:1.6;font-size:.95rem;overflow-wrap:break-word;box-shadow:0 2px 8px #0000001a}.message-section{display:block;margin-bottom:16px}.message-section:last-child{margin-bottom:0}.message-section:first-child{margin-top:0}.message-content{display:flex;flex-direction:column;width:100%;text-align:left}.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.message-section>*:first-child{margin-top:0}.message-section>*:last-child{margin-bottom:0}.assistant-message .message-content h1,.assistant-message .message-content h2,.assistant-message .message-content h3{margin:16px 0 10px;color:#111827;font-weight:700;line-height:1.3}.user-message .message-content h1,.user-message .message-content h2,.user-message .message-content h3{margin:16px 0 10px;color:#fff;font-weight:700;line-height:1.3}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.assistant-message .message-content h1{font-size:1.3rem;padding-bottom:6px;border-bottom:1px solid #d1d5db;margin-bottom:12px}.user-message .message-content h1{font-size:1.3rem;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.3);margin-bottom:12px}.message-content h2{font-size:1.15rem}.message-content h3{font-size:1rem}.assistant-message .message-content p{margin:12px 0;line-height:1.6;color:#374151}.user-message .message-content p{margin:12px 0;line-height:1.6;color:#fff}.message-content ul,.message-content ol{margin:12px 0;padding-left:28px}.message-content ul{list-style-type:disc}.message-content ol{list-style-type:decimal}.assistant-message .message-content li{margin:8px 0;line-height:1.6;color:#374151;padding-left:6px}.user-message .message-content li{margin:8px 0;line-height:1.6;color:#fff;padding-left:6px}.assistant-message .message-content li::marker{color:#111827;font-weight:600}.user-message .message-content li::marker{color:#fff;font-weight:600}.message-content li p{margin:4px 0;display:block}.message-content li>ul,.message-content li>ol{margin:6px 0;padding-left:20px}.assistant-message .message-content strong{font-weight:700;color:#111827}.user-message .message-content strong{font-weight:700;color:#fff}.assistant-message .message-content em{font-style:italic;color:#4b5563}.user-message .message-content em{font-style:italic;color:#ffffffe6}.message-content p strong{font-weight:600}.assistant-message .message-content code{background:#0000000d;padding:2px 6px;border-radius:3px;font-family:Söhne Mono,Monaco,Consolas,monospace;font-size:.88em;color:#f5a504}.user-message .message-content code{background:#fff3;padding:2px 6px;border-radius:3px;font-family:Söhne Mono,Monaco,Consolas,monospace;font-size:.88em;color:#fff}.message-content pre{background:#1e1e1e;color:#d4d4d4;padding:14px;border-radius:8px;overflow-x:auto;margin:12px 0;max-width:100%}.message-content pre code{background:none;color:#d4d4d4;padding:0;font-size:.85rem;line-height:1.6;font-family:Söhne Mono,Monaco,Consolas,monospace}.assistant-message .message-content blockquote{border-left:3px solid #d1d5db;padding-left:14px;margin:12px 0;color:#6b7280}.user-message .message-content blockquote{border-left:3px solid rgba(255,255,255,.5);padding-left:14px;margin:12px 0;color:#ffffffe6}.assistant-message .message-content a{color:#0969da;text-decoration:underline;transition:color .2s ease}.assistant-message .message-content a:hover{color:#0550ae}.user-message .message-content a{color:#fff;text-decoration:underline;transition:opacity .2s ease}.user-message .message-content a:hover{opacity:.8}.assistant-message .message-content hr{border:none;border-top:1px solid #e5e7eb;margin:20px 0;opacity:.7}.user-message .message-content hr{border:none;border-top:1px solid rgba(255,255,255,.3);margin:20px 0;opacity:.7}.message-content table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.9rem}.assistant-message .message-content th,.assistant-message .message-content td{padding:8px 10px;border:1px solid #d1d5db;text-align:left}.user-message .message-content th,.user-message .message-content td{padding:8px 10px;border:1px solid rgba(255,255,255,.3);text-align:left}.assistant-message .message-content th{background:#f9fafb;font-weight:600;color:#111827}.user-message .message-content th{background:#ffffff26;font-weight:600;color:#fff}.assistant-message .message-content td{color:#374151}.user-message .message-content td{color:#fff}.message-time{font-size:.7rem;color:#6b7280;margin-top:4px;font-weight:400;padding:0 4px}.user-message .message-time{text-align:right}.assistant-message .message-time{text-align:left}.loading-spinner{animation:spin 1s linear infinite;color:#6b7280;display:inline-block;margin-right:8px}.chat-input-container{background:transparent;padding:16px 24px 20px;display:flex;gap:10px;align-items:flex-end;max-width:100%;flex-shrink:0}.chat-input{flex:1;border:none;border-radius:24px;padding:12px 18px;font-size:.95rem;font-family:inherit;resize:none;min-height:48px;max-height:200px;overflow-y:auto;outline:none;transition:box-shadow .2s ease;background:#fff;color:#111827;line-height:1.5;box-shadow:0 2px 8px #0000001a}.chat-input::placeholder{color:#9ca3af}.chat-input:focus{background:#fff;box-shadow:0 4px 12px #00000026}.chat-input:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.send-btn{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;align-self:flex-end;margin-bottom:5px;box-shadow:0 2px 8px #3b82f666;padding:12px}.send-btn svg{width:18px;height:18px}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:scale(1.05);box-shadow:0 4px 12px #3b82f680}.send-btn:disabled{opacity:.4;cursor:not-allowed;background:#94a3b8;transform:none;box-shadow:none}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.companion-sidebar::-webkit-scrollbar{width:6px}.companion-sidebar::-webkit-scrollbar-track{background:transparent}.companion-sidebar::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.companion-sidebar::-webkit-scrollbar-thumb:hover{background:#00000040}@media(max-width:768px){.companion-container{grid-template-columns:1fr}.companion-sidebar{display:none}.welcome-message h2{font-size:2rem}.welcome-message p{font-size:1rem}.chat-message{max-width:85%}.chat-messages{padding:16px}.chat-input-container{padding:12px 16px 16px}}.book-trial-page{min-height:100vh;background:linear-gradient(180deg,#e0f2f7,#b8e6f5);font-family:Poppins,Segoe UI,sans-serif;overflow-x:hidden;width:100%;max-width:100vw;position:relative;box-sizing:border-box}.book-trial-page *{box-sizing:border-box}.trial-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:16px 24px;box-shadow:0 2px 8px -4px #0f172a1a}.trial-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.trial-logo{display:flex;align-items:center;gap:12px;cursor:default;font-weight:700;color:#0f172a;font-size:1.1rem}.trial-logo img{width:40px;height:40px;object-fit:contain}.trial-header-btn{padding:12px 24px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px -6px #7c3aed66}.trial-header-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-2px);box-shadow:0 6px 16px -6px #7c3aed80}.trial-hero{text-align:center;padding:48px 24px 32px;max-width:800px;margin:0 auto}.trial-hero h1{margin:0 0 16px;font-size:2.5rem;font-weight:700;color:#0f172a;line-height:1.2}.trial-hero p{margin:0;font-size:1.1rem;color:#475569;line-height:1.6}.trial-form-container{max-width:800px;margin:0 auto 48px;padding:0 24px;width:100%;box-sizing:border-box}.trial-form{background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 32px -12px #0f172a33;width:100%;box-sizing:border-box;overflow-x:hidden}.form-group{margin-bottom:28px;width:100%;box-sizing:border-box;overflow-x:hidden}.form-group label{display:block;margin-bottom:8px;font-size:.95rem;font-weight:600;color:#1e293b}.form-group-inline{display:flex;align-items:center;gap:12px}.form-group-inline label{display:inline-block;margin-bottom:0;min-width:100px;flex-shrink:0}.form-group-inline input[type=text],.form-group-inline select{flex:1;width:auto}.required{color:#ef4444}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group select{width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid #d1d5db;border-radius:10px;font-size:.95rem;font-family:inherit;color:#1e293b;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder{color:#9ca3af}.phone-input-wrapper{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff}.phone-input-wrapper.error{border-color:#ef4444}.searching-indicator{color:#3b82f6;font-size:.85rem;font-weight:500;font-style:italic;margin-left:8px}.phone-prefix{display:flex;align-items:center;gap:8px;padding:0 12px;background:#f8fafc;border-right:1px solid #d1d5db}.phone-prefix span{font-size:1.2rem}.country-code{border:none;background:transparent;font-size:.9rem;font-weight:600;color:#1e293b;cursor:pointer;padding:4px 0}.phone-input{width:100%;border:none;padding:12px 16px;font-size:.95rem;font-family:inherit;color:#1e293b;background:#fff}.phone-input:focus{outline:none}.phone-input::placeholder{color:#9ca3af}.contact-number-display{width:100%;box-sizing:border-box;padding:12px 16px;font-size:.95rem;font-family:inherit;color:#1e293b;background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;min-height:44px;display:flex;align-items:center}.contact-number-display .no-contact-number{color:#9ca3af;font-style:italic}.error-message{display:flex;align-items:center;gap:6px;margin-top:6px;color:#ef4444;font-size:.85rem}.advice-message{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:.9rem;line-height:1.4}.advice-message svg{flex-shrink:0;color:#3b82f6}.error-message svg{flex-shrink:0}.calendar-container{margin:20px 0;border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#fafafa;width:100%;box-sizing:border-box;overflow-x:hidden}.calendar-container.disabled{opacity:.6;pointer-events:none;position:relative}.calendar-container.disabled:before{content:"";position:absolute;inset:0;background:#ffffff80;z-index:1;border-radius:12px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.calendar-nav{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#64748b;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.calendar-nav:hover{background:#e5e7eb;color:#1e293b}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;width:100%;box-sizing:border-box}.calendar-day-header{text-align:center;font-size:.85rem;font-weight:600;color:#64748b;padding:8px;min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;width:100%;box-sizing:border-box}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem;font-weight:500;color:#94a3b8;cursor:default;transition:all .2s ease;position:relative;background:#f8fafc;border:1px solid #e2e8f0;opacity:.6;min-width:0;width:100%;box-sizing:border-box}.calendar-day.unavailable{color:#cbd5e1;background:#f1f5f9;border:1px solid #e2e8f0;cursor:not-allowed;opacity:.5}.calendar-day.empty{cursor:default;background:transparent;border:none;opacity:0}.calendar-day.available{color:#1e293b;background:#fff;border:2px solid #3b82f6;border-color:#3b82f6;cursor:pointer;opacity:1;font-weight:600;box-shadow:0 2px 4px #3b82f626}.calendar-day.available:hover{background:#eff6ff;border-color:#2563eb;transform:scale(1.05);box-shadow:0 4px 8px #3b82f640}.calendar-day.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:700;border-color:#2563eb;cursor:pointer;opacity:1;box-shadow:0 4px 12px #3b82f666;transform:scale(1.05)}.calendar-day.selected:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f680}.available-dot{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#3b82f6;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #3b82f6}.calendar-day.selected .available-dot{display:none}.meeting-info{margin:16px 0;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.meeting-info p{margin:4px 0;font-size:.85rem;color:#64748b}.selected-date-display{margin:16px 0;font-size:1rem;font-weight:600;color:#1e293b}.time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.time-slots-counter{grid-column:1 / -1;padding:8px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:.9rem;font-weight:600;color:#0369a1;text-align:center;margin-bottom:8px}.time-slot-btn{padding:16px;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#1e293b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;min-height:80px;display:flex;align-items:flex-start;justify-content:flex-start}.time-slot-btn:hover{border-color:#3b82f6;background:#eff6ff;color:#2563eb}.time-slot-btn.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb;font-weight:600;position:relative}.time-slot-btn.selected .time-slot-time{color:#fff}.time-slot-btn.selected .time-slot-duration{color:#ffffffe6}.time-slot-container{display:flex;flex-direction:column;gap:8px}.time-slot-content{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}.time-slot-time{font-weight:600;font-size:1rem;color:#1e293b;margin-bottom:4px}.time-slot-duration{font-size:.875rem;color:#64748b;font-weight:400;margin-bottom:4px}.time-slot-seats-left{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#ea580c;font-weight:500;margin-top:4px}.seats-left-dot{width:6px;height:6px;background-color:#ea580c;border-radius:50%;display:inline-block;flex-shrink:0}.time-slot-btn.selected .time-slot-seats-left{color:#ffffffe6}.time-slot-btn.selected .seats-left-dot{background-color:#ffffffe6}.time-slot-btn:disabled{opacity:.5;cursor:not-allowed}.time-slot-btn .children-count-badge{position:absolute;top:4px;right:8px;background:#ffffff4d;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.slot-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.slot-control-btn{width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1e293b;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.slot-control-btn:hover:not(:disabled){background:#f1f5f9;border-color:#3b82f6;color:#2563eb}.slot-control-btn:disabled{opacity:.4;cursor:not-allowed}.slot-control-btn.plus{color:#059669}.slot-control-btn.plus:hover:not(:disabled){background:#d1fae5;border-color:#059669;color:#047857}.slot-control-btn.minus{color:#dc2626}.slot-control-btn.minus:hover:not(:disabled){background:#fee2e2;border-color:#dc2626;color:#b91c1c}.children-count{font-weight:600;color:#1e293b;min-width:30px;text-align:center}.show-more-link{grid-column:1 / -1;background:transparent;border:none;color:#3b82f6;text-decoration:underline;font-size:.9rem;cursor:pointer;padding:8px;text-align:center;transition:color .2s ease}.show-more-link:hover{color:#2563eb}.time-slots-loading,.time-slots-empty{grid-column:1 / -1;text-align:center;padding:16px;color:#64748b;font-size:.9rem}.time-slots-loading{color:#3b82f6}.selected-slots-summary{margin-top:24px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.selected-slots-summary h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#1e293b}.selected-slots-list{display:flex;flex-direction:column;gap:8px}.selected-slot-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem}.selected-slot-header{display:flex;align-items:center;gap:12px;width:100%}.selected-slot-date{font-weight:600;color:#1e293b;min-width:120px}.selected-slot-time{flex:1;color:#475569}.selected-slot-children{font-weight:600;color:#3b82f6;font-size:.85rem}.remove-slot-btn{width:24px;height:24px;border:none;background:#fee2e2;color:#dc2626;border-radius:50%;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.remove-slot-btn:hover{background:#fecaca;transform:scale(1.1)}.selected-slot-children-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.child-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f8fafc;border-radius:6px}.child-age{font-weight:500;color:#475569;font-size:.85rem}.remove-child-btn{width:20px;height:20px;border:none;background:#fee2e2;color:#dc2626;border-radius:50%;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.remove-child-btn:hover{background:#fecaca;transform:scale(1.1)}.age-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.age-selector-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 25px #0003;max-height:90vh;overflow-y:auto}.age-selector-modal.child-modal-large{max-width:900px;width:95%}.age-selector-modal h3{margin:20px 0 12px;font-size:1.2rem;font-weight:600;color:#1e293b}.age-selector-info{margin:0 0 20px;font-size:.9rem;color:#64748b}.age-selector{margin-bottom:24px}.age-selector label{display:block;margin-bottom:8px;font-size:.95rem;font-weight:600;color:#1e293b}.form-group-row{display:flex;gap:16px;margin-bottom:20px}.form-group-half{flex:1}.program-cards{display:flex;gap:16px;margin-top:8px;width:100%;box-sizing:border-box;flex-wrap:wrap}.program-card{position:relative;flex:1;min-width:0;max-width:100%;cursor:pointer;border:2px solid #e2e8f0;border-radius:16px;background:#fff;transition:all .2s ease;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.program-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a}.program-card.selected{border-color:#7c3aed;background:#f9fafb;box-shadow:0 0 0 3px #7c3aed1a}.program-card-undecided{border:1.5px solid #e2e8f0!important;background:#fafbfc!important;opacity:.92}.program-card-undecided:hover{border-color:#cbd5e1!important;background:#f8fafc!important;box-shadow:0 1px 4px #0000000d;opacity:.96}.program-card-undecided.selected{border-color:#7c3aed!important;background:#f9fafb!important;box-shadow:0 0 0 2px #7c3aed14;opacity:1}.program-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.program-card-content{display:flex;align-items:center;padding:10px;gap:10px;position:relative}.program-card-thumbnail{flex-shrink:0;width:50px;height:50px}.program-thumbnail-placeholder{width:100%;height:100%;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#fff;border:2px solid rgba(255,255,255,.3)}.minecraft-thumbnail{background:linear-gradient(135deg,#4caf50,#2e7d32);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.roblox-thumbnail{background:linear-gradient(135deg,#06c,#036);display:flex;align-items:center;justify-content:center}.program-card-info{flex:1;min-width:0;overflow:hidden}.program-card-title{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:2px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.program-card-description{font-size:.75rem;color:#64748b;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.program-card-checkmark{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#7c3aed;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.program-card-content-new{display:flex;flex-direction:column;width:100%;height:100%}.program-card-image-container{width:100%;position:relative;overflow:hidden;border-radius:16px 16px 0 0}.program-card-image-wrapper{width:100%;position:relative;overflow:hidden}.program-card-image{width:100%;height:80px;object-fit:cover;object-position:center;display:block}.program-card-image-fallback{position:absolute;top:0;left:0;width:100%;height:80px;display:none;align-items:center;justify-content:center;z-index:1}.minecraft-fallback{background:linear-gradient(135deg,#7cb342,#558b2f)}.roblox-fallback{background:linear-gradient(135deg,#06c,#049)}.minecraft-image-placeholder{background:linear-gradient(135deg,#7cb342,#558b2f);background-image:linear-gradient(to bottom,#87ceeb 0% 60%,#7cb342 60% 100%)}.roblox-image-placeholder{background:linear-gradient(135deg,#06c,#049)}.program-click-hint{position:absolute;top:8px;right:8px;background:#8b5cf6;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;z-index:10;box-shadow:0 2px 4px #0003}.program-card-info-new{padding:12px;flex:1;display:flex;flex-direction:column;gap:2px}.program-card-title-new{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:4px}.program-card-description-new{font-size:14px;font-weight:500;display:flex;align-items:center;margin-bottom:4px}.program-card-target{font-size:12px;color:#64748b;line-height:1.4}.program-card-radio{display:flex;justify-content:center;padding-top:8px;border-top:1px solid #e2e8f0}.program-radio-button{width:20px;height:20px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;transition:all .2s ease}.program-radio-button.selected{border-color:#7c3aed;background:#7c3aed;position:relative}.program-radio-button.selected:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#fff}.age-select-dropdown{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:10px;font-size:.95rem;font-family:inherit;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.age-select-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.age-selector-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;margin-bottom:32px}.age-selector-cancel,.age-selector-confirm{padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.age-selector-cancel{background:#f1f5f9;color:#475569}.age-selector-cancel:hover{background:#e2e8f0}.age-selector-confirm{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.age-selector-confirm:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px -6px #3b82f666}.continue-btn{flex:1;padding:16px 32px;font-size:1.1rem;font-weight:700;min-width:200px}.checkbox-group{margin-bottom:20px;display:flex;flex-direction:column}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-weight:400;font-size:.9rem;color:#1e293b;line-height:1.5;width:100%;min-height:20px}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;margin:0;padding:0;cursor:pointer;flex-shrink:0;flex-grow:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1.5px solid #d1d5db;border-radius:4px;background:#fff;position:relative;transition:all .2s ease;align-self:flex-start;box-sizing:border-box}.checkbox-label input[type=checkbox]:hover{border-color:#3b82f6;background:#f0f9ff}.checkbox-label input[type=checkbox]:checked{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;line-height:1}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.checkbox-label span{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px -6px #3b82f666;margin-top:8px}.submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px -6px #3b82f680}.submit-btn:active{transform:translateY(0)}@media(max-width:768px){.trial-hero h1{font-size:2rem}.trial-hero p{font-size:1rem}.trial-form{padding:24px}.trial-header-content{flex-direction:column;align-items:flex-start;gap:16px}.trial-header-btn{width:100%}.time-slots{grid-template-columns:1fr}.calendar-container{padding:16px}}.toast{position:fixed;top:20px;right:20px;z-index:10000;min-width:300px;max-width:500px;padding:16px 20px;border-radius:12px;box-shadow:0 10px 25px #0003;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s;animation-fill-mode:forwards;font-family:Poppins,Segoe UI,sans-serif}.toast-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-left:4px solid #047857}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-left:4px solid #b91c1c}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-left:4px solid #1d4ed8}.toast-content{display:flex;align-items:center;gap:12px}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%}.toast-message{flex:1;font-size:.95rem;font-weight:500;line-height:1.4}.toast-close{background:transparent;border:none;color:#fff;font-size:24px;font-weight:700;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease;flex-shrink:0;opacity:.8}.toast-close:hover{background:#fff3;opacity:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;transform:translate(100%)}}@media(max-width:768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}}.children-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.child-item-display.non-clickable{opacity:.6;background-color:#f1f5f9;cursor:not-allowed!important}.child-item-display.non-clickable:hover{background-color:#f1f5f9;transform:none;box-shadow:0 2px 4px #0000001a}.child-item-display{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.child-item-display.booked{background:#f0fdf4;border:2px solid #22c55e}.child-name.booked-name{color:#16a34a;font-weight:600}.booked-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#22c55e;color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;margin-left:8px}.child-item-display:hover{background:#f1f5f9;border-color:#cbd5e1}.child-item-display.selected{background:#e0f2fe;border-color:#0369a1;border-width:2px;box-shadow:0 2px 8px -4px #0369a14d}.reschedule-btn{padding:6px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reschedule-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f64d}.reschedule-btn:active{transform:translateY(0)}.reschedule-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:12px;background:#eef2ff;border:1px solid #c7d2fe;margin-bottom:20px}.reschedule-banner-title{font-weight:700;color:#1e293b}.reschedule-banner-list{margin-top:4px;font-size:.85rem;color:#475569}.reschedule-cancel-link{border:none;background:transparent;color:#ef4444;font-weight:600;cursor:pointer}.reschedule-summary{padding:20px;border-radius:14px;border:1px solid #bfdbfe;background:#eff6ff}.reschedule-summary-header{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:12px}.reschedule-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reschedule-summary-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600}.reschedule-summary-value{font-size:.95rem;color:#1e293b;font-weight:600}.reschedule-summary-note{margin-top:12px;font-size:.85rem;color:#475569}.reschedule-panel{margin-top:24px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.reschedule-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.reschedule-panel-title{font-size:.95rem;font-weight:700;color:#1e293b}.reschedule-panel-subtitle{font-size:.85rem;color:#64748b;margin-top:2px}.reschedule-panel-count{font-size:.85rem;font-weight:600;color:#3b82f6;background:#dbeafe;padding:4px 10px;border-radius:999px;white-space:nowrap}.reschedule-children{display:flex;flex-direction:column;gap:10px}.reschedule-child-card{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease}.reschedule-child-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a14}.reschedule-child-card.selected{border-color:#3b82f6;background:#eff6ff}.reschedule-checkbox{width:20px;height:20px;border-radius:6px;border:2px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center}.reschedule-checkbox:after{content:"";width:8px;height:8px;border-radius:2px;background:#fff;opacity:0}.reschedule-child-card.selected .reschedule-checkbox{border-color:#3b82f6;background:#3b82f6}.reschedule-child-card.selected .reschedule-checkbox:after{opacity:1}.reschedule-child-info{display:flex;flex-direction:column;gap:4px}.reschedule-child-name{font-size:.95rem;font-weight:600;color:#1e293b}.reschedule-child-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#475569}.reschedule-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:nowrap;justify-content:space-between;align-items:center}.reschedule-actions.reschedule-actions-centered{justify-content:center}.reschedule-actions.reschedule-actions-centered .reschedule-primary{margin-left:0;margin-right:0}.reschedule-primary{padding:10px 16px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0;margin-left:auto;margin-right:0;font-size:.9rem}.reschedule-primary:disabled{opacity:.6;cursor:not-allowed}.reschedule-secondary{padding:10px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.reschedule-empty{margin-top:12px;padding:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;font-size:.85rem;text-align:center}@media(max-width:768px){.reschedule-banner,.reschedule-panel-header{flex-direction:column;align-items:flex-start}}.reschedule-selection-page{width:100%}.reschedule-selection-title{font-size:28px;font-weight:700;color:#0f172a;margin-bottom:16px;line-height:1.2}.reschedule-selection-subtitle{font-size:16px;color:#64748b;margin:0;line-height:1.5}.reschedule-selection-header{display:flex;align-items:center;gap:12px;margin-bottom:32px;flex-wrap:wrap}.reschedule-selection-badge{display:inline-flex;align-items:center;padding:8px 18px;border-radius:9999px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:14px;font-weight:600;box-shadow:0 2px 8px #3b82f640;white-space:nowrap}.reschedule-child-card-new{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fff;border:1px solid #93c5fd;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.reschedule-child-card-new:hover{border-color:#60a5fa;box-shadow:0 2px 8px #3b82f61a}.reschedule-child-card-new.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 2px 8px #3b82f626}.reschedule-checkbox-new{width:20px;height:20px;min-width:20px;border:2px solid #cbd5e1;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:all .2s ease;flex-shrink:0;position:relative}.reschedule-child-card-new.selected .reschedule-checkbox-new{border-color:#3b82f6;background:#fff}.reschedule-checkbox-new:after{content:"";width:10px;height:10px;border-radius:50%;background:#3b82f6;opacity:0;transform:scale(0);transition:all .2s ease}.reschedule-child-card-new.selected .reschedule-checkbox-new:after{opacity:1;transform:scale(1)}.reschedule-child-info-new{flex:1;min-width:0}.reschedule-child-name-new{font-size:16px;font-weight:700;color:#2563eb;margin-bottom:10px;line-height:1.4}.reschedule-child-details{display:flex;flex-direction:column;gap:6px}.reschedule-child-detail-item{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.5}.reschedule-child-detail-label{font-weight:600;color:#475569;min-width:60px}.reschedule-child-detail-value{color:#64748b;font-weight:500}.reschedule-actions-new{display:flex;flex-direction:row;justify-content:space-between;gap:16px;margin-top:32px;flex-wrap:nowrap;align-items:stretch}.reschedule-btn-primary{flex:0 0 auto;padding:14px 24px;background:#94a3b8;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap}.reschedule-btn-primary:hover:not(:disabled){background:#64748b}.reschedule-btn-primary:active:not(:disabled){transform:scale(.98)}.reschedule-btn-primary:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;opacity:.6}.reschedule-btn-secondary{flex:0 0 auto;margin-left:auto;padding:14px 24px;background:#fff;color:#3b82f6;border:2px solid #3b82f6;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reschedule-btn-secondary:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.reschedule-btn-secondary:active{transform:scale(.98)}.reschedule-children-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}@media(max-width:768px){.reschedule-selection-title{font-size:24px}.reschedule-selection-header{flex-direction:column;align-items:flex-start}.reschedule-child-card-new{padding:16px}.reschedule-child-name-new{font-size:16px}.reschedule-btn-primary,.reschedule-btn-secondary{width:48%;min-width:auto;font-size:14px;padding:12px 8px;white-space:normal;word-wrap:break-word;line-height:1.3;text-align:center}}@media(max-width:480px){.reschedule-btn-primary,.reschedule-btn-secondary{font-size:12px;padding:10px 6px}}.confirmation-overlay{position:fixed;inset:0;background:linear-gradient(180deg,#e0f2f7,#b8e6f5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;overflow-y:auto}.confirmation-container{max-width:600px;width:100%;display:flex;flex-direction:column;gap:20px}.confirmation-top-card{margin-top:25vh;background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 32px -12px #0f172a33;text-align:center;position:relative}.confirmation-icon{margin-top:25vh;display:flex;justify-content:center;align-items:center;width:100%;min-height:80px}.checkmark-circle{width:5vw;height:5vh;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex!important;align-items:center;justify-content:center;font-size:16px;font-weight:700;margin:0 auto;flex-shrink:0;visibility:visible;opacity:1}.confirmation-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 12px;display:flex;align-items:center;justify-content:center;gap:8px}.confetti-icon{font-size:1.5rem}.confirmation-message{font-size:1.2rem;color:#3b82f6;margin:0 0 8px;font-weight:500}.confirmation-subtitle{font-size:1rem;color:#64748b;margin:0 0 16px}.confirmation-trust{font-size:.875rem;color:#94a3b8;margin:16px 0 0}.confirmation-details-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 8px 32px -12px #0f172a33;text-align:left}.confirmation-details-title{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 24px}.detail-item{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:1rem;color:#1e293b}.detail-item:last-child{margin-bottom:0}.detail-icon{font-size:1.5rem;width:32px;text-align:center;flex-shrink:0}.detail-time{display:flex;flex-direction:column;gap:4px}.add-to-calendar-confirmation-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#fff;color:#3b82f6;border:2px solid #3b82f6;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.add-to-calendar-confirmation-btn:hover{background:#3b82f6;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px -6px #3b82f666}.calendar-icon{font-size:1.2rem}.confirmation-back-btn{padding:14px 32px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px -6px #3b82f666;width:100%;max-width:600px;margin:0 auto}.confirmation-back-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px -6px #3b82f680}.child-name-age{display:flex;align-items:center;gap:12px;margin-bottom:4px}.child-info{display:flex;flex-direction:column;gap:4px;flex:1}.child-name{font-weight:600;color:#0f172a;font-size:.95rem}.child-age,.child-program{font-size:.85rem;color:#64748b}.child-class-datetime{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#64748b;margin-bottom:4px}.datetime-date-line,.datetime-time-line{display:flex;align-items:center;gap:8px}.datetime-icon{color:#3b82f6;flex-shrink:0}.datetime-date,.datetime-time{color:#1e293b;font-weight:500}.child-trial-info{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:.85rem}.child-sg-datetime{color:#475569;font-weight:500}.child-program-display{color:#64748b}.child-actions{display:flex;gap:8px}.edit-child-btn,.delete-child-btn{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:transparent;color:#64748b}.edit-child-btn:hover{background:#e0f2fe;color:#0369a1}.delete-child-btn:hover{background:#fee2e2;color:#dc2626}.add-child-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;color:#3b82f6;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px -4px #0000001a}.add-child-btn:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 12px -6px #00000026}@keyframes loading-bar{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes spin{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(360deg)}}.selected-slot-children-list .child-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;margin-bottom:4px}.selected-slot-children-list .child-name{font-weight:600;color:#0f172a;font-size:.9rem}.selected-slot-children-list .child-program{font-size:.8rem;color:#64748b;font-style:italic}.modal-progress-bar{display:flex;gap:8px;margin:20px 0 30px;justify-content:center;align-items:center}.progress-segment{height:6px;flex:1;max-width:120px;border-radius:3px;transition:background-color .3s ease}.booked-child-card{transition:all .2s ease}.booked-child-card:hover{box-shadow:0 2px 8px #0f172a14;border-color:#cbd5e1}.thank-you-page{min-height:100vh;background:linear-gradient(180deg,#e0f2f7,#b8e6f5);font-family:Poppins,Segoe UI,sans-serif}.thank-you-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:16px 24px;box-shadow:0 2px 8px -4px #0f172a1a}.thank-you-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.thank-you-logo{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700;color:#0f172a;font-size:1.1rem}.thank-you-logo img{width:40px;height:40px;object-fit:contain}.thank-you-container{max-width:800px;margin:60px auto;padding:0 24px}.thank-you-card{background:#fff;border-radius:20px;padding:60px 40px;box-shadow:0 8px 32px -12px #0f172a33;text-align:center}.thank-you-icon{color:#10b981;margin-bottom:24px;display:flex;justify-content:center;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.thank-you-title{font-size:2.5rem;font-weight:700;color:#0f172a;margin:0 0 16px;line-height:1.2}.thank-you-message{font-size:1.1rem;color:#475569;line-height:1.6;margin:0 0 40px}.thank-you-info-box{background:#f8fafc;border-radius:12px;padding:32px;margin:40px 0;text-align:left}.thank-you-info-item{display:flex;gap:20px;margin-bottom:24px}.thank-you-info-item:last-child{margin-bottom:0}.info-icon{color:#3b82f6;flex-shrink:0;margin-top:4px}.info-content h3{font-size:1.1rem;font-weight:600;color:#0f172a;margin:0 0 8px}.info-content p{font-size:.95rem;color:#64748b;line-height:1.6;margin:0}.thank-you-footer{margin-top:40px}.thank-you-note{font-size:.95rem;color:#64748b;line-height:1.6;margin:0 0 24px;font-style:italic}.thank-you-button{padding:14px 32px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px -6px #7c3aed66}.thank-you-button:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-2px);box-shadow:0 6px 16px -6px #7c3aed80}@media(max-width:768px){.thank-you-container{margin:40px auto;padding:0 16px}.thank-you-card{padding:40px 24px}.thank-you-title{font-size:2rem}.thank-you-message{font-size:1rem}.thank-you-info-box{padding:24px}.thank-you-info-item{flex-direction:column;gap:12px}}.enroll-students-report{min-height:100vh;background:#f8fafc;padding:2rem}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.back-to-dashboard-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f1f5f9;border:none;border-radius:.5rem;color:#475569;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d;height:fit-content;white-space:nowrap}.back-to-dashboard-btn:hover{background:#e2e8f0;color:#334155;box-shadow:0 2px 4px #0000001a}.back-to-dashboard-btn:active{transform:translateY(1px);box-shadow:0 1px 2px #0000000d}.header-content{flex:1;min-width:300px;text-align:left}.report-title{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.title-icon{width:2rem;height:2rem;color:#3b82f6}.report-subtitle{color:#64748b;font-size:1rem;margin:0}.month-selector-container{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.month-selector-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.month-selector{border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;font-size:1rem;color:#1e293b;cursor:pointer;transition:all .2s}.month-selector:hover:not(:disabled){border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.month-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.month-selector:disabled{opacity:.6;cursor:not-allowed}.report-content{display:flex;flex-direction:column;gap:3rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.spinner{width:3rem;height:3rem;color:#3b82f6;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#64748b;font-size:1rem;margin:0}.error-container{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#991b1b}.error-icon{width:1.5rem;height:1.5rem;flex-shrink:0}.error-message{margin:0;font-size:1rem}.executive-summary{text-align:left;background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.section-header h2{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0}.section-icon{width:1rem;height:1rem;color:#3b82f6}.summary-text{color:#1e293b;font-size:1rem;line-height:1.6;margin:0}.metrics-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.metrics-grid.student-counts-grid{grid-template-columns:repeat(3,1fr)}.metrics-grid.monthly-movement-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-bottom:1.5rem}.monthly-movement-column{display:flex;flex-direction:column;gap:.75rem;min-width:0;margin-right:2.5vw}.monthly-movement-column .metric-card{width:100%;flex:1}.metric-card{display:flex;gap:1rem;padding:1.5rem;border-radius:.75rem;border:2px solid;background:#fff;transition:all .2s;position:relative}.monthly-movement-section .metric-card{border:none;border-left:4px solid;box-shadow:0 1px 3px #0000001a}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-card.new-joiners{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.monthly-movement-section .metric-card.new-joiners{border-left-color:#10b981;background:#fff}.metric-card.active-students{border-color:#3b82f6;background:linear-gradient(135deg,#fff,#eff6ff)}.metric-card.returned-students{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.monthly-movement-section .metric-card.returned-students{border-left-color:#f59e0b;background:#fff}.metric-card.churned-students{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.monthly-movement-section .metric-card.churned-students{border-left-color:#ef4444;background:#fff}.metric-card.new-students-camp{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.monthly-movement-section .metric-card.new-students-camp{border-left-color:#10b981;background:#fff}.metric-card.completed-camp{border-color:#3b82f6;background:linear-gradient(135deg,#fff,#eff6ff)}.monthly-movement-section .metric-card.completed-camp{border-left-color:#3b82f6;background:#fff}.metric-card.new-enrollment-rate{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.monthly-movement-section .metric-card.new-enrollment-rate{border-left-color:#10b981;background:#fff}.metric-card.returned-rate{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.monthly-movement-section .metric-card.returned-rate{border-left-color:#f59e0b;background:#fff}.metric-card.churn-rate{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.monthly-movement-section .metric-card.churn-rate{border-left-color:#ef4444;background:#fff}.metric-card.net-growth-rate{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.metric-icon{flex-shrink:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;background:#3b82f61a;color:#3b82f6}.metric-card.new-joiners .metric-icon,.metric-card.new-enrollment-rate .metric-icon,.metric-card.net-growth-rate .metric-icon,.metric-card.new-students-camp .metric-icon{background:#10b9811a;color:#10b981}.metric-card.returned-students .metric-icon,.metric-card.returned-rate .metric-icon{background:#f59e0b1a;color:#f59e0b}.metric-card.churned-students .metric-icon,.metric-card.churn-rate .metric-icon{background:#ef44441a;color:#ef4444}.metric-card.completed-camp .metric-icon{background:#3b82f61a;color:#3b82f6}.metric-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.metric-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#64748b}.info-icon{color:#94a3b8;cursor:help;transition:color .2s}.info-icon:hover{color:#64748b}.metric-tooltip{position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem 1rem;box-shadow:0 4px 12px #00000026;pointer-events:auto;z-index:1000;font-size:.875rem;color:#1e293b;white-space:nowrap;margin-bottom:8px;max-width:300px;white-space:normal;line-height:1.4}.metric-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1}.metric-card.new-joiners .metric-value,.metric-card.new-enrollment-rate .metric-value,.metric-card.net-growth-rate .metric-value,.metric-card.new-students-camp .metric-value{color:#10b981}.metric-card.active-students .metric-value,.metric-card.completed-camp .metric-value{color:#3b82f6}.metric-card.returned-students .metric-value,.metric-card.returned-rate .metric-value{color:#f59e0b}.metric-card.churned-students .metric-value,.metric-card.churn-rate .metric-value{color:#ef4444}.metric-change{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500}.metric-change.positive{color:#10b981}.metric-change.negative{color:#ef4444}.chart-container{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;position:relative}.active-students-trend-section{display:flex;gap:2rem;margin-top:2rem;align-items:flex-start}.kpi-cards-container{display:flex;flex-direction:column;gap:1rem;min-width:280px;flex-shrink:0}.kpi-cards-container .kpi-card{width:100%}.chart-container.active-students-trend-chart{flex:1;margin-top:0}.chart-header{margin-bottom:1.5rem}.chart-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.chart-header p{font-size:.875rem;color:#64748b;margin:0}.chart-wrapper{display:flex;justify-content:center;align-items:center;overflow-x:auto;margin-bottom:1rem;position:relative}.bar-chart,.line-chart{display:block}.chart-bar{transition:opacity .2s}.chart-bar:hover{opacity:.8}.chart-legend{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:1rem}.legend-group{display:flex;flex-direction:column;gap:.5rem}.legend-group-title{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.legend-items{display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.legend-color{width:12px;height:12px;border-radius:50%}.legend-line{width:20px;height:3px;border-radius:2px}.chart-tooltip{position:absolute;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem;box-shadow:0 4px 12px #00000026;pointer-events:none;z-index:1000;min-width:180px;transform:translateY(-100%);margin-top:-10px}.tooltip-header{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.tooltip-content{display:flex;flex-direction:column;gap:.5rem}.tooltip-item{display:flex;align-items:center;gap:.5rem}.tooltip-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tooltip-color-circle{width:10px;height:10px;border-radius:50%;flex-shrink:0}.waterfall-chart+.chart-wrapper .chart-tooltip .tooltip-color{width:12px;height:12px;border-radius:50%}.tooltip-label{font-size:.875rem;color:#64748b;flex:1}.tooltip-value{font-size:.875rem;font-weight:600;color:#1e293b}.waterfall-chart{display:block}.waterfall-bar{transition:opacity .2s,transform .2s}.waterfall-bar:hover{opacity:.9;transform:scale(1.02)}.interactive-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.legend-item.clickable{transition:all .2s;padding:.5rem .75rem;border-radius:.5rem;border:2px solid transparent}.legend-item.clickable:hover{background:#f8fafc;border-color:#e2e8f0;transform:translate(4px)}.legend-item.clickable.disabled{opacity:.4}.legend-toggle-hint{font-size:.75rem;color:#94a3b8;margin-left:.5rem;font-style:italic}.metrics-section{margin-bottom:2.5rem}.chart-container{margin-left:2.5rem;margin-bottom:2.5rem}.historical-charts-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.historical-charts-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:2rem}.trend-analysis-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cohort-country-filter{display:flex;align-items:center}.cohort-country-filter .filter-dropdown-wrapper{min-width:180px;box-shadow:0 1px 3px #0000001a}.cohort-analysis-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-top:2rem}.cohort-subtitle{margin:0 0 1rem;font-size:.875rem;color:#64748b}.cohort-table-container{overflow-x:auto}.cohort-table{min-width:960px}.cohort-name-cell,.cohort-size-cell,.cohort-percent-cell,.cohort-ltv-cell{font-weight:500;color:#1e293b}.cohort-note{margin-top:.75rem;font-size:.75rem;color:#64748b;line-height:1.4}.churn-distribution-section{background:#fff;border-radius:.75rem;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.churn-distribution-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.churn-distribution-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.churn-distribution-subtitle{font-size:.875rem;color:#64748b;margin:0}.churn-distribution-filter{display:flex;align-items:center;gap:.5rem}.churn-distribution-chart-container{display:flex;justify-content:center;margin-bottom:2rem;overflow-x:auto}.churn-distribution-chart{display:block}.churn-distribution-summary{display:flex;justify-content:center;gap:3rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.churn-summary-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.churn-summary-label{font-size:.875rem;color:#64748b;font-weight:500}.churn-summary-value{font-size:1.5rem;font-weight:600;color:#1e293b}@media(max-width:768px){.churn-distribution-header{flex-direction:column;gap:1rem}.churn-distribution-filter{width:100%}.churn-distribution-summary{flex-direction:column;gap:1.5rem}.churn-distribution-chart-container{overflow-x:scroll}}.trend-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:2rem;margin-top:1rem}.data-consistency-note{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center;font-size:.875rem;color:#64748b;line-height:1.6}.breakdown-analysis-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-top:2rem}.breakdown-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.breakdown-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.breakdown-subtitle{font-size:.875rem;color:#64748b;margin:0}.breakdown-view-buttons,.breakdown-filters{display:flex;gap:.5rem}.grouping-order-section{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}.grouping-order-label{display:inline-block;font-size:.875rem;font-weight:600;color:#475569;margin:0;margin-right:.75rem;white-space:nowrap}.grouping-order-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap;flex:1;min-width:0}.grouping-order-item{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.grouping-arrow{color:#64748b;font-size:1.25rem;font-weight:600}.grouping-order-dropdown-wrapper{position:relative;min-width:160px}.grouping-order-display{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.5rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.grouping-order-display.first-grouping{background:#eff6ff;border-color:#3b82f6;border-width:2px}.grouping-order-display:hover{background:#e2e8f0;border-color:#94a3b8}.grouping-order-display.first-grouping:hover{background:#dbeafe;border-color:#2563eb}.grouping-order-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:#94a3b8;color:#fff;font-size:.625rem;font-weight:700;border-radius:9999px;min-width:36px;text-align:center;line-height:1}.grouping-order-badge.first{background:#3b82f6}.grouping-order-badge.other{background:#94a3b8}.grouping-order-display-icon{color:#475569;flex-shrink:0}.grouping-order-display-text{flex:1;font-size:.875rem;font-weight:500;color:#1e293b;text-align:left}.grouping-order-chevron{color:#94a3b8;flex-shrink:0;transition:transform .2s}.grouping-order-select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1;font-size:.875rem}.grouping-order-select:focus+.grouping-order-display,.grouping-order-select:hover+.grouping-order-display{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.grouping-order-select option{padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;background:#fff;color:#1e293b}.grouping-order-select option:checked{background:#f1f5f9;color:#1e293b}.grouping-order-actions{display:flex;align-items:center;gap:1rem;margin-left:auto;flex-shrink:0;flex-wrap:nowrap;white-space:nowrap}.collapse-all-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;color:#475569;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.collapse-all-btn:hover{background:#f1f5f9;border-color:#94a3b8}.group-rows-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569;cursor:pointer;position:relative;white-space:nowrap;flex-shrink:0}.group-rows-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.group-rows-icon svg{width:100%;height:100%}.toggle-switch{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:12px;transition:background-color .2s;flex-shrink:0}.toggle-switch.active{background:#3b82f6}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-thumb{transform:translate(20px)}.toggle-input{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0}.filter-by-section{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.filter-controls-horizontal{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-by-label-wrapper{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.filter-label-icon{color:#64748b;flex-shrink:0}.filter-by-label{display:block;font-size:.875rem;font-weight:600;color:#475569;margin:0;white-space:nowrap}.filter-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;flex:1;min-width:200px;position:relative}.filter-search:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-search-icon{color:#94a3b8;flex-shrink:0}.filter-search-input{flex:1;border:none;outline:none;font-size:.875rem;color:#1e293b;background:transparent;padding-right:.5rem}.filter-search-input::placeholder{color:#94a3b8}.filter-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:color .2s}.filter-search-clear:hover{color:#64748b}.filter-search-clear:active{color:#475569}.filter-dropdowns{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.filter-dropdown-wrapper{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;min-width:160px;position:relative;box-shadow:0 1px 2px #0000000d;transition:all .2s}.filter-dropdown-wrapper:hover{border-color:#bfdbfe;box-shadow:0 1px 3px #0000001a}.filter-dropdown-wrapper:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.filter-dropdown-icon{color:#64748b;flex-shrink:0}.filter-dropdown{flex:1;border:none;background:transparent;font-size:.875rem;font-weight:500;color:#1e293b;cursor:pointer;outline:none;min-width:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:1.75rem;padding-left:0}.filter-dropdown option{padding:.5rem .75rem;background:#fff;color:#1e293b;font-size:.875rem}.filter-dropdown option:checked{background:#dbeafe;color:#1e293b;font-weight:500}.filter-dropdown-chevron{position:absolute;right:.875rem;color:#64748b;pointer-events:none;flex-shrink:0;transition:transform .2s}.filter-dropdown-wrapper:focus-within .filter-dropdown-chevron{transform:rotate(180deg)}.filter-dropdown:focus{outline:none}.breakdown-row.has-children{font-weight:600;background:#f8fafc}.breakdown-row.level-0{background:#f1f5f9}.breakdown-row.level-1{background:#f8fafc}.breakdown-row.level-2{background:#fff}.expand-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;cursor:pointer;color:#64748b;transition:color .2s}.expand-toggle:hover{color:#1e293b}.breakdown-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.breakdown-filter-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.breakdown-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.breakdown-table-container{overflow-x:auto}.breakdown-table{width:100%;border-collapse:collapse}.breakdown-table thead{background:#f8fafc}.breakdown-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.breakdown-table th:first-child{text-align:left}.breakdown-table th:not(:first-child){text-align:center}.breakdown-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.875rem}.breakdown-table td:first-child{text-align:left}.breakdown-table td:not(:first-child){text-align:center}.breakdown-table tbody tr:hover{background:#f8fafc}.name-cell{font-weight:500;color:#1e293b}.active-cell{color:#1e293b}.new-cell.positive{color:#10b981;font-weight:500}.churned-cell.negative{color:#ef4444;font-weight:500}.returned-cell.returned{color:#f59e0b;font-weight:500}.net-growth-cell{display:flex;align-items:center;justify-content:center;gap:.25rem;font-weight:500}.net-growth-cell.positive{color:#10b981}.net-growth-cell.negative{color:#ef4444}.new-camp-cell{color:#10b981;font-weight:500}.completed-camp-cell{color:#3b82f6;font-weight:500}.new-percent-cell,.churn-percent-cell,.returned-percent-cell{color:#1e293b;font-weight:500}.growth-percent-cell{font-weight:500}.growth-percent-cell.positive{color:#10b981}.growth-percent-cell.negative{color:#ef4444}.total-row{background:#f8fafc;border-top:2px solid #e2e8f0}.total-row td{padding:1rem;font-weight:600;border-bottom:none}.total-label,.total-value{color:#1e293b;font-weight:700}.total-value.positive{color:#10b981}.total-value.negative{color:#ef4444}.total-value.returned{color:#f59e0b}.total-row .new-camp-cell.total-value{color:#10b981}.total-row .completed-camp-cell.total-value{color:#3b82f6}.total-row .new-percent-cell.total-value,.total-row .churn-percent-cell.total-value,.total-row .returned-percent-cell.total-value{color:#1e293b}.total-row .growth-percent-cell.total-value.positive{color:#10b981}.total-row .growth-percent-cell.total-value.negative{color:#ef4444}.no-data-message{text-align:center;padding:3rem;color:#64748b}@media(max-width:768px){.enroll-students-report{padding:1rem}.report-header{flex-direction:column}.report-title{font-size:1.5rem}.metrics-grid,.metrics-grid.student-counts-grid,.metrics-grid.monthly-movement-counts-grid,.metrics-grid.monthly-movement-grid{grid-template-columns:1fr}.monthly-movement-column{min-width:100%}.historical-charts-grid,.trend-charts-grid{grid-template-columns:1fr}.chart-wrapper{overflow-x:auto}.bar-chart,.line-chart{min-width:600px}.active-students-trend-section{flex-direction:column}.kpi-cards-container{min-width:100%}}@media(min-width:769px)and (max-width:1024px){.metrics-grid.monthly-movement-counts-grid,.metrics-grid.monthly-movement-grid{grid-template-columns:repeat(3,1fr)}.metrics-grid.student-counts-grid{grid-template-columns:repeat(2,1fr)}.active-students-trend-section{flex-direction:column}}
