: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:100%;max-width:100%;min-height:100vh;min-height:100dvh;margin:0;box-sizing:border-box}.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}.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}@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}}.admin-dashboard{max-width:1120px;margin:0 auto}.admin-dashboard-hub{width:100%}.admin-dashboard-aside{display:flex;flex-direction:column;gap:20px;padding:20px;border-radius:var(--crm-radius-lg);background:linear-gradient(165deg,var(--crm-surface-muted) 0%,rgba(187,247,208,.28) 42%,rgba(209,231,216,.95) 100%);border:1px solid var(--crm-border-subtle);box-shadow:var(--crm-shadow-sm)}.dashboard-quick-actions{padding:0}.dashboard-quick-actions-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--crm-text-muted);margin-bottom:10px}.admin-shortcut-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.admin-shortcut-row{width:100%;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--crm-border-subtle);border-radius:var(--crm-radius);background:var(--crm-surface);box-shadow:var(--crm-shadow-sm);cursor:pointer;text-align:left;font-family:inherit;color:inherit;text-decoration:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.admin-shortcut-row:hover{border-color:var(--crm-border);box-shadow:var(--crm-shadow-md)}.admin-shortcut-icon{flex-shrink:0;color:var(--crm-accent);margin-top:1px}.admin-shortcut-text{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-shortcut-title{font-size:13px;font-weight:600;color:var(--crm-text)}.admin-shortcut-desc{font-size:11px;color:var(--crm-text-muted)}.admin-dashboard-records{margin-top:28px;padding-top:26px;border-top:1px solid var(--crm-border-subtle)}.admin-dashboard-records-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dashboard-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--crm-text-muted);margin:0}.admin-record-filter{min-width:200px;max-width:320px;flex:1;padding:9px 12px;border:1px solid var(--crm-border);border-radius:var(--crm-radius);background:var(--crm-surface);font-size:13px;font-family:inherit;color:var(--crm-text);box-shadow:inset 0 1px 2px #0f172a0a;transition:border-color .15s,box-shadow .15s}.admin-record-filter:focus{outline:none;border-color:var(--crm-accent);box-shadow:0 0 0 3px var(--crm-accent-soft),inset 0 1px 2px #0f172a0a}.admin-record-filter::placeholder{color:var(--crm-text-muted)}.dashboard-record-group{margin-bottom:22px}.dashboard-record-group:last-of-type{margin-bottom:0}.dashboard-record-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--crm-text-muted);margin-bottom:10px;padding-left:2px}.admin-record-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:10px}.admin-record-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;min-height:92px;padding:14px 14px 12px;border:1px solid var(--crm-border-subtle);border-radius:var(--crm-radius);background:var(--crm-surface);box-shadow:var(--crm-shadow-sm);text-decoration:none;color:inherit;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.admin-record-card:hover{border-color:var(--crm-border);box-shadow:var(--crm-shadow-md)}.admin-record-card-icon{flex-shrink:0;color:var(--crm-accent)}.admin-record-card-title{font-size:13px;font-weight:600;color:var(--crm-text);line-height:1.35}.admin-record-card-slug{display:block;font-size:10px;font-weight:500;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;color:var(--crm-text-muted);background:var(--crm-surface-muted);padding:3px 7px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-record-empty{margin:0;padding:20px 16px;text-align:center;font-size:14px;color:var(--crm-text-muted);background:var(--crm-surface-muted);border:1px dashed var(--crm-border-subtle);border-radius:var(--crm-radius)}.admin-shell{display:flex;flex-direction:column;height:100vh;max-height:100dvh;background:var(--crm-bg-gradient)}.admin-shell-body{display:flex;flex:1;min-height:0}.admin-shell-body--enroll-analytics{flex:1;min-height:0}.admin-topbar--enroll-analytics .admin-topbar-start{flex:0 1 auto;min-width:0;gap:12px}.admin-enroll-back-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--crm-radius);text-decoration:none;font-size:13px;font-weight:600;color:var(--crm-text-secondary);border:1px solid var(--crm-border-subtle);background:var(--crm-surface);transition:border-color .15s,background .15s,color .15s;flex-shrink:0}.admin-enroll-back-link:hover{color:var(--crm-accent);border-color:var(--crm-border);background:var(--crm-surface-muted)}.admin-topbar-brand--enroll .admin-workspace-meta{display:none}.admin-enroll-analytics-label{display:block;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--crm-accent)}.admin-topbar-spacer{flex:1;min-width:0}.admin-layout-main--enroll-analytics{padding:0!important;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.admin-enroll-analytics-outlet{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(21,128,61,.35) var(--crm-surface-muted)}.admin-enroll-analytics-outlet::-webkit-scrollbar{width:9px;height:9px}.admin-enroll-analytics-outlet::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#22c55e73,#15803d66);border-radius:5px;border:2px solid var(--crm-surface-muted);background-clip:padding-box}.admin-enroll-analytics-outlet>.admin-crm.enroll-students-report{width:100%;max-width:none;margin:0;min-height:auto;box-sizing:border-box}.admin-topbar{height:var(--crm-topbar-h);min-height:var(--crm-topbar-h);flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 22px 0 16px;background:var(--crm-topbar-bg);border-bottom:1px solid var(--crm-border-subtle);box-shadow:0 1px #ffffff59 inset;z-index:20}.admin-topbar-start{display:flex;align-items:center;gap:10px;flex-shrink:0}.admin-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--crm-border-subtle);border-radius:var(--crm-radius);background:var(--crm-surface);color:var(--crm-text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-icon-btn:hover{background:var(--crm-surface-muted);border-color:var(--crm-border);color:var(--crm-text)}.admin-topbar-brand{display:flex;flex-direction:column;gap:1px;line-height:1.2;padding-right:14px;border-right:1px solid var(--crm-border-subtle);margin-right:2px}.admin-workspace-name{font-size:15px;font-weight:700;color:var(--crm-text);letter-spacing:-.02em}.admin-workspace-meta{font-size:10px;font-weight:600;color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.08em}.admin-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-topbar-search-field{flex:1;display:flex;align-items:center;gap:12px;min-width:0;max-width:min(560px,52vw)}.admin-topbar-search{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:0 12px 0 14px;height:42px;border:1.5px solid var(--crm-border);border-radius:11px;background:var(--crm-surface-muted);box-shadow:inset 0 1px 2px #0f172a0d,0 1px #fff6;transition:border-color .15s,background .15s,box-shadow .15s}.admin-topbar-search--active{border-color:var(--crm-accent);background:var(--crm-surface)}.admin-topbar-search:focus-within{border-color:var(--crm-accent);background:var(--crm-surface);box-shadow:0 0 0 3px var(--crm-accent-soft),inset 0 1px 2px #0f172a0a}.admin-topbar-search-icon{flex-shrink:0;color:var(--crm-text-secondary)}.admin-topbar-search:focus-within .admin-topbar-search-icon{color:var(--crm-accent)}.admin-topbar-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:14px;font-weight:500;color:var(--crm-text)}.admin-topbar-search input::placeholder{color:var(--crm-text-muted);font-weight:400}.admin-search-shortcut{flex-shrink:0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;padding:4px 7px;border-radius:6px;border:1px solid var(--crm-border);background:linear-gradient(180deg,var(--crm-surface) 0%,var(--crm-surface-muted) 100%);color:var(--crm-text-muted);line-height:1;box-shadow:0 1px #ffffff73}.admin-search-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-right:-4px;border:none;border-radius:8px;background:transparent;color:var(--crm-text-muted);cursor:pointer;transition:background .12s,color .12s}.admin-search-clear:hover{background:var(--crm-surface-muted);color:var(--crm-text)}.admin-search-meta{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--crm-accent);min-width:4.5rem;text-align:right}.sidebar-filter-empty{margin:12px 8px 8px;padding:14px 14px 12px;border-radius:10px;background:#0830268c;border:1px dashed rgba(134,239,172,.38)}.sidebar-filter-empty-title{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--crm-sidebar-nav-hover)}.sidebar-filter-empty-detail{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--crm-sidebar-muted)}.sidebar-filter-empty-detail code{font-size:11px;padding:1px 5px;border-radius:4px;background:#06201aa6;color:#d1fae5}.sidebar-filter-empty-clear{font-size:12px;font-weight:600;font-family:inherit;padding:8px 12px;border-radius:8px;border:1px solid rgba(74,222,128,.45);background:var(--crm-rail-accent-soft);color:var(--crm-rail-accent-bright);cursor:pointer;transition:background .15s,border-color .15s}.sidebar-filter-empty-clear:hover{border-color:#4ade80a6;background:#4ade8038}.admin-topbar-end{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-left:auto}.admin-topbar-user{display:flex;align-items:center;gap:10px;padding:4px;border-radius:var(--crm-radius);max-width:220px}.admin-user-avatar{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.02em;color:#f0fdf4;background:linear-gradient(145deg,var(--crm-rail-accent-bright) 0%,var(--crm-rail-accent) 38%,var(--crm-accent) 100%);box-shadow:0 2px 12px var(--crm-rail-accent-glow)}.admin-user-meta{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.admin-user-name{font-size:13px;font-weight:600;color:var(--crm-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.admin-user-role{font-size:11px;font-weight:500;color:var(--crm-text-muted);text-transform:capitalize}.admin-btn-logout{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;color:var(--crm-text-secondary);background:var(--crm-surface);border:1px solid var(--crm-border-subtle);border-radius:var(--crm-radius-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-btn-logout:hover{background:var(--crm-danger-soft);border-color:#dc262659;color:var(--crm-danger)}.admin-layout-sidebar{background:var(--crm-sidebar-bg);color:var(--crm-sidebar-text);border-right:1px solid var(--crm-sidebar-border);transition:width .22s ease,min-width .22s ease;display:flex;flex-direction:column;flex-shrink:0;box-shadow:6px 0 36px #0c342a47}.admin-layout-sidebar.open{width:var(--crm-sidebar-w);min-width:var(--crm-sidebar-w)}.admin-layout-sidebar.closed{width:var(--crm-sidebar-collapsed-w);min-width:var(--crm-sidebar-collapsed-w)}.sidebar-header-crm{flex-shrink:0;padding:18px 14px 16px;border-bottom:1px solid var(--crm-sidebar-border)}.admin-layout-sidebar.closed .sidebar-header-crm{padding:14px 10px;display:flex;justify-content:center}.sidebar-brand-crm{display:flex;align-items:center;gap:12px;min-width:0}.sidebar-brand-crm-icon{flex-shrink:0;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#052e16;background:linear-gradient(145deg,var(--crm-rail-accent) 0%,#15803d 100%);box-shadow:0 4px 14px var(--crm-rail-accent-glow)}.sidebar-brand-crm-text{display:flex;flex-direction:column;gap:2px;line-height:1.2;min-width:0}.sidebar-brand-crm-title{font-size:15px;font-weight:700;color:var(--crm-sidebar-nav-hover);letter-spacing:-.02em}.sidebar-brand-crm-sub{font-size:11px;font-weight:500;color:var(--crm-sidebar-muted);letter-spacing:.02em}.admin-layout-sidebar.closed .sidebar-brand-crm-text{display:none}.sidebar-nav-crm{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 10px 12px;scrollbar-width:thin;scrollbar-color:rgba(167,243,208,.35) transparent}.nav-section{margin-bottom:18px}.nav-section:last-of-type{margin-bottom:8px}.nav-section-label{font-size:10px;font-weight:700;color:var(--crm-sidebar-section-label);text-transform:uppercase;letter-spacing:.11em;padding:8px 12px;margin-bottom:2px}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:3px 0;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--crm-sidebar-nav);font-size:13px;font-weight:500;font-family:inherit;line-height:1.3;box-sizing:border-box;transition:background .14s ease,color .14s ease}.nav-row:hover{background:var(--crm-sidebar-hover);color:var(--crm-sidebar-nav-hover)}.nav-row-main{display:flex;align-items:center;gap:11px;min-width:0}.nav-row-icon,.nav-row-icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.92}.nav-row-icon-wrap .nav-row-icon{opacity:1}.nav-row-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-row-chevron{flex-shrink:0;color:var(--crm-rail-accent-bright);opacity:.95}.nav-row-active{background:var(--crm-rail-accent-soft);color:var(--crm-rail-accent-bright);font-weight:600;box-shadow:inset 0 0 0 1px #4ade8040}.nav-row-active .nav-row-icon,.nav-row-active .nav-row-icon-wrap{color:var(--crm-rail-accent-bright)}.admin-layout-sidebar .sidebar-nav::-webkit-scrollbar{width:5px}.admin-layout-sidebar .sidebar-nav::-webkit-scrollbar-track{background:transparent}.admin-layout-sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#a7f3d047;border-radius:3px}.admin-layout-sidebar .sidebar-nav::-webkit-scrollbar-thumb:hover{background:#a7f3d06b}.admin-layout-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:10px 14px 14px 8px;box-sizing:border-box}.admin-main-workspace{flex:1;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse 95% 48% at 50% 0%,rgba(187,247,208,.2) 0%,transparent 55%),linear-gradient(185deg,var(--crm-surface-raised) 0%,var(--crm-surface) 38%,var(--crm-surface-muted) 100%);border-radius:var(--crm-workspace-radius);border:1px solid var(--crm-border-subtle);box-shadow:var(--crm-shadow-md);overflow:hidden}.admin-main-toolbar{flex-shrink:0;display:flex;align-items:center;min-height:48px;padding:0 24px;border-bottom:1px solid var(--crm-border-subtle);background:linear-gradient(180deg,var(--crm-surface-muted) 0%,var(--crm-surface) 100%)}.admin-layout-breadcrumb{padding:12px 0;font-size:12px;font-weight:500;color:var(--crm-text-muted);letter-spacing:.02em;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.admin-layout-breadcrumb a{color:var(--crm-text-muted);text-decoration:none;transition:color .12s}.admin-layout-breadcrumb a:hover{color:var(--crm-accent)}.admin-layout-breadcrumb-sep{color:var(--crm-border-subtle);-webkit-user-select:none;user-select:none;opacity:.85}.admin-layout-breadcrumb-current{color:var(--crm-text);font-weight:600}.admin-main-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:24px 28px 32px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(21,128,61,.35) var(--crm-surface-muted)}.admin-main-scroll::-webkit-scrollbar{width:9px}.admin-main-scroll::-webkit-scrollbar-track{background:var(--crm-surface-muted);border-radius:5px;margin:4px 0}.admin-main-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#22c55e73,#15803d66);border-radius:5px;border:2px solid var(--crm-surface-muted);background-clip:padding-box}.admin-main-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#22c55e94,#15803d85);border:2px solid var(--crm-surface-muted);background-clip:padding-box}.admin-main-scroll>.admin-crm.users-page,.admin-main-scroll>.admin-crm.user-log-page{min-height:auto;margin:-24px -28px -32px;padding:24px 28px 32px;background:transparent}@media(max-width:900px){.admin-topbar-user{max-width:140px}}@media(max-width:768px){.admin-topbar{flex-wrap:wrap;height:auto;min-height:var(--crm-topbar-h);padding-top:10px;padding-bottom:10px;gap:10px}.admin-topbar-search-field{order:3;width:100%;max-width:none;flex-wrap:wrap}.admin-search-meta{width:100%;text-align:left;min-width:0;padding-left:2px}.admin-workspace-meta{display:none}.admin-layout-main{padding:8px 10px 12px 6px}.admin-main-toolbar,.admin-main-scroll{padding-left:16px;padding-right:16px}.admin-main-workspace{border-radius:var(--crm-radius)}.admin-enroll-analytics-outlet>.admin-crm.enroll-students-report{padding-left:1rem;padding-right:1rem}.admin-btn-logout-text{display:none}.admin-btn-logout{padding:8px 10px}}@media(max-width:520px){.admin-user-meta{display:none}.admin-topbar-user{max-width:none}}.sales-portal{color-scheme:light;--sp-bg: #f1f3f9;--sp-surface: #ffffff;--sp-border: #e2e6f0;--sp-text: #475569;--sp-text-strong: #334155;--sp-heading: #2d3a56;--sp-muted: #64748b;--sp-accent: #6366f1;--sp-accent-soft: #eef2ff;--sp-accent-hover: #4f46e5;--sp-green: #059669;--sp-green-soft: #d1fae5;--sp-red: #dc2626;--sp-red-soft: #fef2f2;--sp-amber: #d97706;--sp-scroll-track: #f4f6fc;--sp-scroll-thumb: rgba(99, 102, 241, .38);--sp-scroll-thumb-hover: rgba(79, 70, 229, .5);--sp-radius: 12px;--sp-radius-sm: 8px;--sp-sidebar-w: 260px;--sp-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;display:flex;flex-direction:column;height:100vh;max-height:100dvh;font-family:var(--sp-font);color:var(--sp-text);background:var(--sp-bg)}.sales-portal input,.sales-portal textarea,.sales-portal select{color:var(--sp-heading);-webkit-text-fill-color:var(--sp-heading);caret-color:var(--sp-heading)}.sales-portal input::placeholder,.sales-portal textarea::placeholder{color:var(--sp-muted);opacity:1}.sales-portal input:-webkit-autofill,.sales-portal input:-webkit-autofill:hover,.sales-portal input:-webkit-autofill:focus{-webkit-text-fill-color:var(--sp-heading);caret-color:var(--sp-heading);box-shadow:0 0 0 1000px var(--sp-surface) inset}.sales-portal-body{display:flex;flex:1;min-height:0}.sales-portal-sidebar{width:var(--sp-sidebar-w);flex-shrink:0;background:var(--sp-surface);border-right:1px solid var(--sp-border);display:flex;flex-direction:column;min-height:0}.sales-portal-brand{display:flex;align-items:center;gap:12px;padding:20px 18px 16px;border-bottom:1px solid var(--sp-border)}.sales-portal-brand-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,#6366f1,#4f46e5);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sales-portal-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sales-portal-brand-title{font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--sp-heading)}.sales-portal-brand-sub{font-size:12px;color:var(--sp-muted);font-weight:500}.sales-portal-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:var(--sp-scroll-thumb) var(--sp-scroll-track)}.sales-portal-nav::-webkit-scrollbar{width:6px}.sales-portal-nav::-webkit-scrollbar-track{background:var(--sp-scroll-track);border-radius:6px}.sales-portal-nav::-webkit-scrollbar-thumb{background:var(--sp-scroll-thumb);border-radius:6px}.sales-portal-nav::-webkit-scrollbar-thumb:hover{background:var(--sp-scroll-thumb-hover)}.sales-portal-nav-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:#9ca3af;padding:8px 10px 6px;text-transform:uppercase}.sales-portal-nav a{text-decoration:none;color:inherit}.sales-portal-nav-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--sp-radius-sm);font-size:14px;font-weight:500;color:#5c6b84;transition:background .12s,color .12s;margin-bottom:1px}.sales-portal-nav-item:hover{background:#f4f6fc;color:var(--sp-text-strong)}.sales-portal-nav-item svg{flex-shrink:0;color:#94a3b8}.sales-portal-nav-item:hover svg{color:#6478a8}.sales-portal-nav-item--active{background:var(--sp-accent-soft);color:var(--sp-accent)}.sales-portal-nav-item--active svg{color:var(--sp-accent)}.sales-portal-nav-item--external{opacity:.95}.sales-portal-footer{flex-shrink:0;padding:8px 10px 10px;margin-top:auto;border-top:1px solid #e8ecf4;background:linear-gradient(180deg,#fafbff,#f5f7fc)}.sales-portal-footer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sales-portal-user{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.sales-portal-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#a5b4fc,#6366f1);color:#f8fafc;font-size:11px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #6366f140}.sales-portal-user-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.sales-portal-user-name{font-size:13px;font-weight:600;color:var(--sp-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sales-portal-user-badge{font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--sp-accent-hover);background:var(--sp-accent-soft);padding:2px 7px;border-radius:999px;flex-shrink:0}.sales-portal-signout{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--sp-radius-sm);background:transparent;color:#7c8ca8;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.sales-portal-signout:hover{color:var(--sp-accent-hover);background:#6366f11a}.sales-portal-signout:focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}.sales-portal-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.sales-portal-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:var(--sp-surface);border-bottom:1px solid var(--sp-border)}.sales-portal-greeting{font-size:15px;font-weight:500;color:#5c6b84}.sales-portal-greeting strong{font-weight:700;color:var(--sp-heading)}.sales-portal-country{position:relative}.sales-portal-country-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--sp-radius-sm);border:1px solid var(--sp-border);background:var(--sp-surface);font-size:13px;font-weight:600;color:var(--sp-text-strong);cursor:pointer;transition:border-color .15s,box-shadow .15s}.sales-portal-country-btn:hover{border-color:#c5cee0;box-shadow:0 1px 2px #2d3a560f}.sales-portal-country-btn svg:first-child{color:var(--sp-muted)}.sales-portal-country-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);box-shadow:0 10px 40px -12px #2d3a562e;padding:6px;z-index:50}.sales-portal-country-option{display:block;width:100%;text-align:left;padding:8px 12px;border:none;border-radius:6px;background:none;font-size:13px;font-weight:500;color:var(--sp-text-strong);cursor:pointer}.sales-portal-country-option:hover{background:#f4f6fc}.sales-portal-country-option--active{background:var(--sp-accent-soft);color:var(--sp-accent)}.sales-portal-scroll{flex:1;overflow:auto;padding:24px 28px 32px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--sp-scroll-thumb) var(--sp-scroll-track)}.sales-portal-scroll::-webkit-scrollbar{width:8px;height:8px}.sales-portal-scroll::-webkit-scrollbar-track{background:var(--sp-scroll-track)}.sales-portal-scroll::-webkit-scrollbar-thumb{background:var(--sp-scroll-thumb);border-radius:8px}.sales-portal-scroll::-webkit-scrollbar-thumb:hover{background:var(--sp-scroll-thumb-hover)}.sales-page-head{margin-bottom:20px;text-align:left}.sales-page-title{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:0 0 6px;color:var(--sp-heading);text-align:left}.sales-page-sub{margin:0;font-size:14px;color:var(--sp-muted);font-weight:500;text-align:left}.sales-page-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.sales-page-toolbar .sales-page-head{text-align:left;flex:1;min-width:0}.sales-students-month-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.sales-students-month-label{font-size:13px;font-weight:600;color:var(--sp-muted)}.sales-students-month-select{min-width:200px;padding:8px 32px 8px 12px;font-size:13px;font-weight:500;border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);background:var(--sp-surface);cursor:pointer}.sales-pills{display:flex;flex-wrap:wrap;gap:8px}.sales-pill{padding:8px 14px;border-radius:999px;border:1px solid var(--sp-border);background:var(--sp-surface);font-size:13px;font-weight:600;color:#5c6b84;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sales-pill:hover{border-color:#c5cee0;background:#f8f9fd}.sales-pill--active{background:linear-gradient(180deg,#5c6eb8,#4d5fa3);border-color:#5c6eb8;color:#f1f5ff}.sales-pill--accent.sales-pill--active{background:var(--sp-accent-soft);border-color:#c7d2fe;color:var(--sp-accent-hover)}.sales-search-wrap{position:relative;min-width:220px;max-width:320px;flex:1}.sales-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.sales-search{width:100%;padding:10px 36px 10px 40px;border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);font-size:14px;font-weight:500;color:var(--sp-heading);-webkit-text-fill-color:var(--sp-heading);caret-color:var(--sp-heading);background:var(--sp-surface);outline:none;transition:border-color .15s}.sales-search:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #6366f126}.sales-search::placeholder{color:var(--sp-muted);opacity:1}.sales-search[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:16px;width:16px;margin-right:2px;cursor:pointer;background:no-repeat center / 14px 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");opacity:.85}.sales-search[type=search]::-webkit-search-cancel-button:hover{opacity:1}.sales-table-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);overflow:hidden;box-shadow:0 1px 2px #2d3a560d}.sales-table-scroll{overflow-x:auto}.sales-table{width:100%;border-collapse:collapse;font-size:12.5px}.sales-table th{text-align:center;padding:10px 12px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-muted);background:#f6f7fb;border-bottom:1px solid var(--sp-border);white-space:nowrap;vertical-align:middle}.sales-table td{padding:11px 12px;border-bottom:1px solid #eceff5;color:var(--sp-text-strong);vertical-align:middle;text-align:center}.sales-table tbody tr:last-child td{border-bottom:none}.sales-table tbody tr:hover td{background:#f8f9fd}.sales-table-name{font-weight:600;color:var(--sp-heading);text-align:center}.sales-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sales-badge--neutral{background:#eef1f7;color:#5c6b84}.sales-badge--inquiry{background:#f3f4f6;color:#6b7280}.sales-badge--enrolled{color:var(--sp-green);background:var(--sp-green-soft)}.sales-badge--active{color:#047857;background:#d1fae5}.sales-badge--churned{color:#b45309;background:#fef3c7}.sales-badge--return{color:#1d4ed8;background:#dbeafe}.sales-badge--upcoming{color:var(--sp-muted);background:#f3f4f6}.sales-badge--attended{color:var(--sp-green);background:var(--sp-green-soft)}.sales-badge--noshow{color:var(--sp-amber);background:#fef3c7}.sales-dash-context{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}@media(max-width:1024px){.sales-dash-context{grid-template-columns:1fr}}.sales-context-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:18px 20px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 1px 2px #2d3a560d}.sales-context-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sales-context-icon--blue{background:#dbeafe;color:#2563eb}.sales-context-icon--green{background:#d1fae5;color:var(--sp-green)}.sales-context-icon--amber{background:#fef3c7;color:#d97706}.sales-context-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--sp-muted);text-transform:uppercase;margin-bottom:4px}.sales-context-value{font-size:17px;font-weight:700;color:var(--sp-heading)}.sales-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:24px}@media(max-width:1200px){.sales-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.sales-kpi-grid{grid-template-columns:repeat(2,1fr)}}.sales-kpi-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:16px;text-align:center;box-shadow:0 1px 2px #2d3a560d}.sales-kpi-icon{width:36px;height:36px;margin:0 auto 10px;border-radius:10px;display:flex;align-items:center;justify-content:center}.sales-kpi-num{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:6px;color:var(--sp-heading)}.sales-kpi-label{font-size:12px;font-weight:600;color:var(--sp-muted)}.sales-dash-lists{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:900px){.sales-dash-lists{grid-template-columns:1fr}}.sales-list-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);overflow:hidden;box-shadow:0 1px 2px #2d3a560d}.sales-list-card-head{padding:16px 18px;font-size:15px;font-weight:700;border-bottom:1px solid var(--sp-border);color:var(--sp-heading);text-align:left}.sales-list-card-body{padding:4px 0}.sales-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #f3f4f6}.sales-list-row:last-child{border-bottom:none}.sales-list-row-main{min-width:0}.sales-list-row-name{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--sp-heading)}.sales-list-row-meta{font-size:13px;color:var(--sp-muted)}.sales-list-row-side{text-align:right;flex-shrink:0}.sales-invoice-amt{font-size:14px;font-weight:700;color:var(--sp-red)}.sales-invoice-sub{font-size:11px;font-weight:600;color:var(--sp-muted);margin-top:2px}.sales-progress{display:flex;align-items:center;gap:10px;min-width:100px}.sales-progress-bar{flex:1;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden;max-width:72px}.sales-progress-fill{height:100%;border-radius:999px;transition:width .2s}.sales-progress-fill--low{background:#ef4444}.sales-progress-fill--mid{background:#f59e0b}.sales-progress-fill--high{background:var(--sp-green)}.sales-progress-text{font-size:12px;font-weight:600;color:var(--sp-muted);white-space:nowrap}.sales-pill--outline.sales-pill--active{background:#fff;border-color:#7c8db5;color:var(--sp-heading)}.sales-badge--makeup-type{background:#ede9fe;color:#6d28d9}.sales-badge--regular-type{background:#f3f4f6;color:#4b5563}.sales-outcome-text{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.sales-outcome-text--attended{color:#059669}.sales-outcome-text--absent{color:#ea580c}.sales-outcome-text--noshow{color:#6b7280}.sales-badge--scheduled-status{background:#dbeafe;color:#1d4ed8}.sales-cover-status{font-size:13px;font-weight:800;text-transform:uppercase}.sales-cover-status--pending{color:#ea580c}.sales-cover-status--done{color:#059669}.sales-cover-tutor{font-weight:600;color:var(--sp-text-strong)}.sales-cover-tutor--unassigned{color:#ca8a04;font-weight:700}.sales-active-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #dcfce7;margin:0 auto}.sales-reports-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:28px}@media(max-width:1100px){.sales-reports-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.sales-reports-kpis{grid-template-columns:repeat(2,1fr)}}.sales-section-title{font-size:16px;font-weight:700;margin:0 0 14px;color:var(--sp-heading);text-align:left}.sales-subsection-title{font-size:15px;font-weight:700;margin:8px 0 14px;color:var(--sp-heading);text-align:left}.sales-leads-loading-cell,.sales-leads-error-cell,.sales-leads-empty-cell{text-align:center;padding:28px 16px!important;color:var(--sp-muted)}.sales-leads-error-cell{color:var(--sp-red);font-weight:600}.sales-leads-loading{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--sp-muted)}.sales-leads-spinner{animation:sales-spin .7s linear infinite;color:var(--sp-accent)}@keyframes sales-spin{to{transform:rotate(360deg)}}.sales-list-pagination,.sales-leads-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;flex-wrap:wrap}.sales-list-page-btn,.sales-leads-page-btn{padding:8px 16px;border-radius:var(--sp-radius-sm);border:1px solid var(--sp-border);background:var(--sp-surface);font-size:13px;font-weight:600;color:var(--sp-text-strong);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sales-list-page-btn:hover:not(:disabled),.sales-leads-page-btn:hover:not(:disabled){border-color:#c5cee0;background:#f8f9fd;color:var(--sp-heading)}.sales-list-page-btn:disabled,.sales-leads-page-btn:disabled{opacity:.45;cursor:not-allowed}.sales-list-page-indicator,.sales-leads-page-indicator{font-size:13px;font-weight:600;color:var(--sp-muted)}.tutor-dashboard{--td-accent: #0d9488;--td-accent-hover: #0f766e;--td-accent-muted: rgba(13, 148, 136, .15);--td-card-bg: #ffffff;--td-card-shadow: 0 1px 3px rgba(0, 0, 0, .08);--td-text: #374151;--td-text-muted: #6b7280;min-height:100vh;background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--td-text);color-scheme:light}.tutor-dashboard-wrap{display:flex;min-height:100vh}.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-spinner{width:48px;height:48px;border:4px solid var(--td-accent-muted);border-top-color:var(--td-accent);border-radius:50%;animation:tutor-spin 1s linear infinite}@keyframes tutor-spin{to{transform:rotate(360deg)}}.tutor-dashboard-error button{padding:10px 20px;background:var(--td-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.tutor-dashboard-sidebar{position:fixed;left:0;top:0;width:min(15vw,14rem);min-width:12rem;height:100vh;height:100svh;flex-shrink:0;background:#fff;padding:1.5rem 0 1rem;display:flex;flex-direction:column;gap:0;border-right:1px solid #e5e7eb;overflow:visible;z-index:10;box-sizing:border-box}.tutor-dashboard-sidebar-profile{position:relative;flex-shrink:0;padding:0 .75rem;margin-bottom:.25rem;border-bottom:1px solid #e2e8f0;z-index:30}.tutor-dashboard-sidebar-profile-trigger{display:flex;align-items:center;gap:.65rem;width:100%;margin:0;padding:0 .5rem 1rem;border:none;border-radius:.625rem;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s;-webkit-tap-highlight-color:transparent}.tutor-dashboard-sidebar-profile-trigger:hover{background:#f8fafc}.tutor-dashboard-sidebar-profile-trigger:focus{outline:none}.tutor-dashboard-sidebar-profile-trigger:focus-visible{outline:2px solid var(--td-accent);outline-offset:2px}.tutor-dashboard-sidebar-profile-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--td-accent);color:#fff;font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center}.tutor-dashboard-sidebar-profile-name{font-size:.95rem;font-weight:600;color:var(--td-text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tutor-dashboard-nav{display:flex;flex-direction:column;gap:0;padding:0 .75rem;flex:1;min-height:0;overflow:hidden}.tutor-dashboard-nav-top{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.125rem}.tutor-dashboard-nav-bottom{flex-shrink:0;margin-top:auto;padding-top:.75rem;padding-bottom:1rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.125rem}.tutor-dashboard-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:.625rem;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--td-text-muted);text-align:left;width:100%;transition:all .2s}.tutor-dashboard-nav-item:hover{background:#f8fafc;color:var(--td-text)}.tutor-dashboard-nav-item.active{background:var(--td-accent);color:#fff}.tutor-dashboard-nav-item.active svg{color:#fff}.tutor-dashboard-calendar-link{margin:12px 12px 0;padding:10px 14px;display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:var(--td-text-muted);font-size:.9rem;cursor:pointer}.tutor-dashboard-calendar-link:hover{background:#f1f5f9;color:var(--td-accent)}.tutor-dashboard-main-wrap{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:min(15vw,14rem)}.tutor-dashboard-header{display:flex;align-items:center;justify-content:flex-start;padding:20px 28px;background:var(--td-card-bg);border-bottom:1px solid #e2e8f0}.tutor-dashboard-header-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;min-width:0}.tutor-dashboard-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--td-text);letter-spacing:-.02em}.tutor-dashboard-count{font-size:.9rem;color:var(--td-text-muted)}.tutor-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px -4px #0000001f;min-width:190px;padding:6px;z-index:200}.tutor-user-dropdown--sidebar{left:.75rem;right:.75rem;width:auto;min-width:0;top:calc(100% + 4px);padding:4px}.tutor-user-dropdown-name{font-size:.78rem;font-weight:600;color:#64748b;padding:8px 10px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-user-dropdown-divider{height:1px;background:#f1f5f9;margin:4px 0}.tutor-user-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:none;background:none;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;text-align:left;transition:background .13s,color .13s}.tutor-user-dropdown-item:hover{background:#f8fafc;color:#0f172a}.tutor-user-dropdown-item--danger{color:#dc2626}.tutor-user-dropdown-item--danger:hover{background:#fef2f2;color:#dc2626}.tutor-dashboard-body{flex:1;display:flex;gap:24px;padding:24px 28px;overflow:auto}.tutor-dashboard-main{flex:1;display:flex;flex-direction:column;gap:24px;min-width:0}.tutor-dashboard-cards-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.tutor-dashboard-cards-month-label{font-size:.95rem;font-weight:500;color:var(--td-text)}.tutor-dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tutor-dashboard-card{background:var(--td-card-bg);border-radius:18px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0;transition:box-shadow .2s}.tutor-dashboard-card:hover{box-shadow:0 8px 20px -5px #0000000f,0 4px 8px -5px #0000000a}.tutor-dashboard-card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.tutor-dashboard-card-icon--purple{background:var(--td-accent-muted);color:var(--td-accent)}.tutor-dashboard-card-icon--green{background:#0d94881f;color:var(--td-accent-hover)}.tutor-dashboard-card-icon--blue{background:var(--td-accent-muted);color:var(--td-accent)}.tutor-dashboard-card-value{font-size:2rem;font-weight:700;color:var(--td-text);margin-bottom:4px}.tutor-dashboard-card-label{font-size:.9rem;color:var(--td-text-muted)}.tutor-dashboard-charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.tutor-dashboard-chart-card{background:var(--td-card-bg);border-radius:20px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0;border-left:4px solid var(--td-accent);transition:box-shadow .2s}.tutor-dashboard-chart-card:hover{box-shadow:0 10px 25px -5px #00000014,0 4px 10px -5px #0000000a}.tutor-dashboard-chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.tutor-dashboard-chart-header h3{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:var(--td-text);letter-spacing:-.02em}.tutor-dashboard-chart-header p{margin:0;font-size:.875rem;color:var(--td-text-muted);line-height:1.4}.tutor-dashboard-chart-filter{padding:8px 16px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:var(--td-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:all .2s}.tutor-dashboard-chart-filter:hover{background:var(--td-accent-muted);border-color:var(--td-accent);color:var(--td-accent-hover)}.tutor-dashboard-chart-placeholder{min-height:220px;border-radius:14px;overflow:hidden}.tutor-dashboard-chart-line{background:linear-gradient(180deg,#f8fafc,#f1f5f9);position:relative}.tutor-dashboard-chart-line:before{content:"";position:absolute;inset:24px 24px 32px 32px;background:linear-gradient(to top,var(--td-accent-muted) 0%,transparent 60%);border-radius:10px;clip-path:polygon(0% 80%,8% 70%,20% 65%,35% 55%,50% 45%,65% 40%,82% 30%,100% 25%)}.tutor-dashboard-student-overview-chart{min-height:220px;border-radius:14px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);position:relative;overflow:visible}.tutor-dashboard-student-overview-svg{width:100%;height:220px;display:block}.tutor-dashboard-overview-axis-label{font-size:11px;fill:var(--td-text-muted)}.tutor-dashboard-student-overview-tooltip{position:absolute;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 4px 12px #0000001f;border:1px solid #e2e8f0;white-space:nowrap;z-index:2;pointer-events:none}.tutor-dashboard-student-overview-tooltip-month{font-weight:700;color:var(--td-text);margin-bottom:6px;font-size:.9rem}.tutor-dashboard-student-overview-tooltip-row{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-student-overview-tooltip-row.tutor-dashboard-student-overview-tooltip--total{color:var(--td-accent);font-weight:500}.tutor-dashboard-student-overview-tooltip-row.tutor-dashboard-student-overview-tooltip--new{color:#0ea5e9;font-weight:500}.tutor-dashboard-student-overview-tooltip-row.tutor-dashboard-student-overview-tooltip--churn{color:#f43f5e;font-weight:500}.tutor-dashboard-chart-bars{display:flex;align-items:flex-end;gap:10px;height:220px;padding:0 12px 8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:14px}.tutor-dashboard-chart-bars .tutor-dashboard-chart-bar-item{flex:1;min-width:0;background:var(--td-accent);border-radius:10px 10px 0 0;transition:opacity .2s}.tutor-dashboard-chart-bars .tutor-dashboard-chart-bar-item:hover{opacity:.9}.tutor-dashboard-chart-bars .tutor-dashboard-chart-bar-item.tutor-dashboard-chart-bar-secondary{background:#0d948880}.tutor-dashboard-trials-chart{min-height:220px;display:flex;gap:12px;padding:12px 0 8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:14px;position:relative}.tutor-dashboard-trials-y-axis{display:flex;flex-direction:column;justify-content:space-between;padding:8px 0 24px;font-size:.75rem;color:var(--td-text-muted);flex-shrink:0}.tutor-dashboard-trials-bars-wrap{flex:1;display:flex;align-items:flex-end;gap:8px;min-width:0}.tutor-dashboard-trials-month-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;min-width:0}.tutor-dashboard-trials-bar-group{width:100%;max-width:56px;height:180px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.tutor-dashboard-trials-bar{flex:1;min-width:14px;border-radius:8px 8px 0 0;transition:opacity .2s}.tutor-dashboard-trials-bar--trials{background:#a7f3d0;background:#0d948873}.tutor-dashboard-trials-bar--converted{background:var(--td-accent)}.tutor-dashboard-trials-month-group:hover .tutor-dashboard-trials-bar,.tutor-dashboard-trials-month-group.hovered .tutor-dashboard-trials-bar{opacity:.95}.tutor-dashboard-trials-month-label{font-size:.8rem;font-weight:500;color:var(--td-text-muted)}.tutor-dashboard-trials-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 4px 12px #0000001f;border:1px solid #e2e8f0;white-space:nowrap;z-index:2;pointer-events:none}.tutor-dashboard-trials-tooltip-month{font-weight:700;color:var(--td-text);margin-bottom:6px;font-size:.9rem}.tutor-dashboard-trials-tooltip-row{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-trials-tooltip-row.tutor-dashboard-trials-tooltip--trials{color:#0d9488;font-weight:500}.tutor-dashboard-trials-tooltip-row.tutor-dashboard-trials-tooltip--converted{color:var(--td-accent-hover);font-weight:500}.tutor-dashboard-tasks-card{background:var(--td-card-bg);border-radius:20px;padding:28px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0;border-left:4px solid var(--td-accent);transition:box-shadow .2s}.tutor-dashboard-tasks-card:hover{box-shadow:0 10px 25px -5px #00000014,0 4px 10px -5px #0000000a}.tutor-dashboard-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.tutor-dashboard-tasks-header h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--td-text);letter-spacing:-.02em}.tutor-dashboard-tasks-actions{display:flex;align-items:center;gap:10px}.tutor-dashboard-task-search{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;min-width:200px;transition:border-color .2s,box-shadow .2s}.tutor-dashboard-task-search:focus-within{border-color:var(--td-accent);box-shadow:0 0 0 3px var(--td-accent-muted)}.tutor-dashboard-task-search svg{color:var(--td-text-muted);flex-shrink:0}.tutor-dashboard-task-search input{border:none;background:none;font-size:.9rem;outline:none;flex:1;color:var(--td-text)}.tutor-dashboard-task-search input::placeholder{color:var(--td-text-muted)}.tutor-dashboard-task-add-btn{width:44px;height:44px;border:none;border-radius:50%;background:var(--td-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .15s}.tutor-dashboard-task-add-btn:hover{background:var(--td-accent-hover);transform:scale(1.05)}.tutor-dashboard-task-list{margin:0;padding:0;list-style:none}.tutor-dashboard-task-list li{display:flex;align-items:center;gap:14px;padding:14px 16px;font-size:.95rem;color:var(--td-text);border-radius:12px;transition:background .15s}.tutor-dashboard-task-list li:hover{background:#f8fafc}.tutor-dashboard-task-list li.done{color:var(--td-text-muted)}.tutor-dashboard-task-list li.done span:last-child{text-decoration:line-through}.tutor-dashboard-task-check{width:22px;height:22px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;transition:all .2s}.tutor-dashboard-task-list li.done .tutor-dashboard-task-check{background:var(--td-accent);border-color:var(--td-accent);display:flex;align-items:center;justify-content:center}.tutor-dashboard-task-list li.done .tutor-dashboard-task-check:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.tutor-dashboard-schedule-new{display:flex;flex-direction:column;gap:24px}.tutor-dashboard-schedule-week-strip{display:flex;align-items:stretch;gap:16px;background:var(--td-card-bg);border-radius:16px;padding:20px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0}.tutor-dashboard-schedule-week-nav{flex-shrink:0;width:48px;min-height:72px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;color:var(--td-text);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.tutor-dashboard-schedule-week-nav:hover{background:var(--td-accent-muted);color:var(--td-accent);border-color:var(--td-accent)}.tutor-dashboard-schedule-week-nav svg{flex-shrink:0}.tutor-dashboard-schedule-week-days{flex:1;display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap;min-height:72px}.tutor-dashboard-schedule-day-card{min-width:72px;min-height:72px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:var(--td-text);font-family:inherit;cursor:pointer;transition:all .2s}.tutor-dashboard-schedule-day-card:hover{border-color:var(--td-accent);background:var(--td-accent-muted)}.tutor-dashboard-schedule-day-card.selected{background:var(--td-accent);border-color:var(--td-accent);color:#fff}.tutor-dashboard-schedule-day-name{font-size:.75rem;font-weight:700;letter-spacing:.02em}.tutor-dashboard-schedule-day-num{font-size:1.25rem;font-weight:700}.tutor-dashboard-schedule-day-month{font-size:.7rem;font-weight:600;opacity:.9}.tutor-dashboard-schedule-table-wrap{background:#fff;border-radius:12px;padding:0;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0f172a0a;overflow-x:auto}.tutor-dashboard-schedule-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border-radius:0;overflow:visible;box-shadow:none}.tutor-dashboard-schedule-table th{text-align:left;padding:14px 16px;font-weight:600;font-size:.8125rem;color:#64748b;background:#fff;border-bottom:1px solid #e5e7eb}.tutor-dashboard-schedule-table thead th:first-child{border-top-left-radius:10px}.tutor-dashboard-schedule-table thead th:last-child{border-top-right-radius:10px}.tutor-dashboard-schedule-table th:nth-child(1),.tutor-dashboard-schedule-table td:nth-child(1),.tutor-dashboard-schedule-table th:nth-child(2),.tutor-dashboard-schedule-table td:nth-child(2),.tutor-dashboard-schedule-table th:nth-child(3),.tutor-dashboard-schedule-table td:nth-child(3),.tutor-dashboard-schedule-table th:nth-child(4),.tutor-dashboard-schedule-table td:nth-child(4){text-align:left}.tutor-dashboard-schedule-table th:nth-child(2),.tutor-dashboard-schedule-table td:nth-child(2){max-width:14rem}.tutor-dashboard-schedule-lesson-title{word-break:break-word}.tutor-dashboard-schedule-students-count-cell{text-align:left;vertical-align:middle;white-space:nowrap;position:relative}.tutor-dashboard-schedule-table th:nth-child(6),.tutor-dashboard-schedule-table td:nth-child(6){text-align:left}.tutor-dashboard-schedule-table th:nth-child(7),.tutor-dashboard-schedule-table td:nth-child(7){text-align:right;width:1%;white-space:nowrap;vertical-align:middle}.tutor-dashboard-schedule-table th:nth-child(5),.tutor-dashboard-schedule-table td:nth-child(5){text-align:left;width:1%;white-space:nowrap}.tutor-dashboard-schedule-students-popover-anchor{position:relative;display:inline-flex;justify-content:center;vertical-align:middle}.tutor-dashboard-schedule-student-count-btn{border:none;background:transparent;padding:0;cursor:pointer;border-radius:999px;line-height:0}.tutor-dashboard-schedule-student-count-btn:focus-visible{outline:2px solid var(--td-accent);outline-offset:3px}.tutor-dashboard-schedule-student-count-btn:hover .tutor-dashboard-schedule-student-count{filter:brightness(1.06);box-shadow:0 2px 8px #0d948859}.tutor-dashboard-schedule-students-popover{min-width:min(22rem,calc(100vw - 2rem));max-width:min(26rem,calc(100vw - 1.5rem));z-index:80;background:#fff;border-radius:12px;box-shadow:0 12px 40px #0f172a24,0 0 0 1px #e2e8f0;font-weight:400;text-align:left}.tutor-dashboard-schedule-students-popover-header{padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:12px 12px 0 0}.tutor-dashboard-schedule-students-popover-title{font-weight:700;font-size:.9rem;color:var(--td-text)}.tutor-dashboard-schedule-students-popover-sub{font-size:.75rem;color:var(--td-text-muted);margin-top:4px;line-height:1.35;word-break:break-word}.tutor-dashboard-schedule-students-popover-list{list-style:none;margin:0;padding:6px 8px 10px;max-height:min(22rem,55vh);overflow-y:auto}.tutor-dashboard-schedule-students-popover-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;border-bottom:1px solid #f1f5f9}.tutor-dashboard-schedule-students-popover-item:last-child{border-bottom:none}.tutor-dashboard-schedule-students-popover-item-text{min-width:0;flex:1}.tutor-dashboard-schedule-students-popover-name{font-weight:600;font-size:.875rem;color:var(--td-text);word-break:break-word}.tutor-dashboard-schedule-students-popover-ids{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:.75rem;color:var(--td-text-muted)}.tutor-dashboard-schedule-students-popover-attendance{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.tutor-dashboard-schedule-students-popover-att-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--td-text-muted)}.tutor-dashboard-schedule-time-badge{display:inline-flex;align-items:center;gap:.5rem}.tutor-dashboard-schedule-student-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 6px;background:var(--td-accent);color:#fff;font-size:.75rem;font-weight:600;border-radius:999px}.tutor-dashboard-schedule-calendar-row{background:#fff;font-weight:400;color:#1e293b}.tutor-dashboard-schedule-calendar-row td{padding:12px 16px;border-bottom:1px solid #f1f5f9;background:transparent}.tutor-dashboard-schedule-calendar-subject{color:#1e293b;font-weight:500}.tutor-dashboard-schedule-students-plain{font-size:.9rem;font-weight:400;color:#1e293b;font-variant-numeric:tabular-nums}.tutor-dashboard-schedule-zoom-room-cell{vertical-align:middle;line-height:1.45}.tutor-dashboard-schedule-zoom-room-cell--combined{max-width:min(36rem,52vw);text-align:left}.tutor-dashboard-schedule-th-zoom-room-combined{text-align:left;min-width:14rem}.tutor-dashboard-schedule-zoom-room-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.8125rem;text-align:left}.tutor-dashboard-schedule-zoom-room-line{text-align:left;line-height:1.45}.tutor-dashboard-schedule-zoom-room-k{font-weight:500;color:#94a3b8}.tutor-dashboard-schedule-zoom-room-v{color:#1e293b;font-weight:600;word-break:break-word}.tutor-dashboard-schedule-zoom-room-v--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.tutor-dashboard-schedule-zoom-room-link-inline{color:#2563eb;font-weight:500;text-decoration:none;word-break:break-all}.tutor-dashboard-schedule-zoom-room-link-inline:hover{text-decoration:underline}.tutor-dashboard-schedule-zoom-room-link-primary{display:block;color:#2563eb;font-weight:500;font-size:.8125rem;text-decoration:none;word-break:break-all}.tutor-dashboard-schedule-zoom-room-link-primary:hover{text-decoration:underline}.tutor-dashboard-schedule-zoom-room-password{margin-top:6px;font-size:.75rem;color:#64748b}.tutor-dashboard-schedule-zoom-room-password-value{color:#334155;font-weight:500}.tutor-dashboard-schedule-actions-cell{padding-left:12px!important;padding-right:16px!important}.tutor-dashboard-schedule-row-attendance-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;font-size:.8125rem;font-weight:500;font-family:inherit;color:#334155;background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.tutor-dashboard-schedule-row-attendance-btn:hover{border-color:#cbd5e1;background:#f8fafc}.tutor-dashboard-schedule-row-attendance-btn:focus-visible{outline:2px solid var(--td-accent);outline-offset:2px}.tutor-dashboard-schedule-th-actions{width:1%;padding:10px 16px!important}.tutor-dashboard-schedule-student-row{background:#fafbfc}.tutor-dashboard-schedule-student-row td{padding:8px 16px;border-bottom:1px solid #e8eef3;font-size:.9rem;background:transparent}.tutor-dashboard-schedule-student-indent{padding-left:2rem!important;background:transparent;border-left:3px solid rgba(13,148,136,.35)}.tutor-dashboard-schedule-attendance-select{padding:.5rem 2rem .5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;color:var(--td-text);cursor:pointer;min-width:7rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.tutor-dashboard-schedule-attendance-select:hover,.tutor-dashboard-schedule-attendance-select:focus{border-color:var(--td-accent);outline:none}.tutor-dashboard-schedule-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;color:var(--td-text)}.tutor-dashboard-schedule-table tbody tr.tutor-dashboard-schedule-calendar-row:hover,.tutor-dashboard-schedule-table tbody tr.tutor-dashboard-schedule-student-row:hover{background:#f8fafc}.tutor-dashboard-schedule-students-list{display:flex;flex-direction:column;gap:.25rem}.tutor-dashboard-schedule-student-item{font-size:.9rem;color:var(--td-text)}.tutor-dashboard-schedule-join-btn{display:inline-block;padding:8px 16px;background:var(--td-accent);color:#fff;border-radius:8px;font-weight:600;font-size:.85rem;text-decoration:none;transition:background .2s,color .2s,transform .2s}.tutor-dashboard-schedule-join-btn:hover{background:#0f766e;color:#fff;transform:translateY(-1px)}.tutor-dashboard-schedule-join-btn[href="#"]{opacity:.7;cursor:not-allowed;pointer-events:none}.tutor-dashboard-schedule-empty{color:var(--td-text-muted);text-align:center;padding:32px 16px!important}.tutor-dashboard-schedule-layout{display:flex;gap:24px}.tutor-dashboard-schedule-left{flex:1;display:flex;flex-direction:column;gap:20px}.tutor-dashboard-schedule-card{background:var(--td-card-bg);border-radius:20px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0}.tutor-dashboard-schedule-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-weight:600;font-size:1.1rem;color:var(--td-text)}.tutor-dashboard-schedule-calendar-header button{background:none;border:none;cursor:pointer;padding:8px;color:var(--td-text-muted)}.tutor-dashboard-cal-nav-btn{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.tutor-dashboard-cal-nav-btn:hover{background:var(--td-accent-muted);color:var(--td-accent)}.tutor-dashboard-schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.tutor-dashboard-cal-day-name{font-size:.8rem;font-weight:600;color:var(--td-text-muted);text-align:center;padding:8px 0}.tutor-dashboard-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:500;color:var(--td-text);border-radius:50%;border:none;background:none;cursor:pointer;padding:0;font-family:inherit;transition:background .15s,color .15s}.tutor-dashboard-cal-day:hover:not(.selected){background:var(--td-accent-muted);color:var(--td-accent)}.tutor-dashboard-cal-day.other-month{color:#cbd5e1;cursor:default}.tutor-dashboard-cal-day.other-month:hover{background:none;color:#cbd5e1}.tutor-dashboard-cal-day.selected{background:var(--td-accent);color:#fff}.tutor-dashboard-week-overview{background:var(--td-card-bg);border-radius:20px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0}.tutor-dashboard-week-overview h3{margin:0 0 20px;font-size:1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-week-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.tutor-dashboard-week-row:last-child{margin-bottom:0}.tutor-dashboard-week-day{width:32px;font-size:.9rem;color:var(--td-text)}.tutor-dashboard-week-bar-wrap{flex:1;height:12px;background:#e2e8f0;border-radius:8px;overflow:hidden}.tutor-dashboard-week-bar{height:100%;background:var(--td-accent);border-radius:8px;transition:width .3s}.tutor-dashboard-week-meta{font-size:.9rem;color:var(--td-text-muted);min-width:50px}.tutor-dashboard-upcoming-classes{width:380px;flex-shrink:0;background:var(--td-card-bg);border-radius:20px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0}.tutor-dashboard-upcoming-classes h3{margin:0 0 20px;font-size:1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-upcoming-date{font-size:.8rem;color:var(--td-text-muted);margin-bottom:12px;margin-top:16px}.tutor-dashboard-upcoming-date:first-child{margin-top:0}.tutor-dashboard-upcoming-class-item{display:flex;align-items:center;gap:12px;padding:14px;background:#f8fafc;border-radius:12px;margin-bottom:10px;border:none;cursor:pointer;width:100%;text-align:left;font-family:inherit;transition:background .15s}.tutor-dashboard-upcoming-class-item:hover{background:var(--td-accent-muted)}.tutor-dashboard-upcoming-class-time{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--td-text-muted);min-width:140px}.tutor-dashboard-upcoming-class-info{flex:1;display:flex;align-items:center;gap:12px}.tutor-dashboard-upcoming-class-avatar{width:40px;height:40px;border-radius:50%;background:#ede9fe;color:var(--td-accent);font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center}.tutor-dashboard-upcoming-class-student{font-size:.95rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-upcoming-class-topic{font-size:.8rem;color:var(--td-text-muted)}.tutor-dashboard-upcoming-class-tag{padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:600}.tutor-dashboard-upcoming-class-tag.regular{background:var(--td-accent);color:#fff}.tutor-dashboard-upcoming-class-tag.trial{background:#ede9fe;color:var(--td-accent)}.tutor-dashboard-section-card{background:var(--td-card-bg);border-radius:16px;padding:24px;box-shadow:var(--td-card-shadow);border:1px solid #e2e8f0}.tutor-dashboard-section-card h3{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-section-description{margin:0 0 24px;font-size:.9rem;color:var(--td-text-muted)}.tutor-dashboard-trials-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tutor-dashboard-trials-header .tutor-dashboard-section-description{margin-bottom:0}.tutor-dashboard-trials-month-select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;font-size:.95rem;color:var(--td-text);cursor:pointer;min-width:10rem}.tutor-dashboard-trials-month-select:hover,.tutor-dashboard-trials-month-select:focus{border-color:var(--td-accent);outline:none}.tutor-dashboard-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:32px;background:#f8fafc;border-radius:12px;border:1px dashed #e2e8f0;text-align:center;color:var(--td-text-muted)}.tutor-dashboard-placeholder-icon{color:var(--td-accent);opacity:.7;margin-bottom:16px}.tutor-dashboard-placeholder p{margin:0 0 8px;font-size:.95rem;color:var(--td-text)}.tutor-dashboard-placeholder-hint{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-trials-by-month{display:flex;flex-direction:column;gap:24px}.tutor-dashboard-trials-month-block{background:#f8fafc;border-radius:12px;padding:16px 20px;border:1px solid #e2e8f0}.tutor-dashboard-trials-month-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-trials-table{width:100%;border-collapse:collapse;font-size:.9rem}.tutor-dashboard-trials-table th,.tutor-dashboard-trials-table td{text-align:left}.tutor-dashboard-trials-table th{padding:8px 12px;font-weight:600;color:var(--td-text-muted);border-bottom:1px solid #e2e8f0}.tutor-dashboard-trials-table th:first-child,.tutor-dashboard-trials-table td:first-child{max-width:12rem}.tutor-dashboard-trials-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:var(--td-text)}.tutor-dashboard-trials-table tbody tr:last-child td{border-bottom:none}.tutor-dashboard-students-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tutor-dashboard-students-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-students-header-actions{display:flex;align-items:center;gap:12px}.tutor-dashboard-students-content{display:flex;flex-direction:column;gap:20px}.tutor-dashboard-students-progression{background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 1px 3px #00000014}.tutor-dashboard-students-table-wrap{width:100%;overflow-x:auto}.tutor-dashboard-students-table{width:100%;border-collapse:collapse;min-width:760px}.tutor-dashboard-students-table th{text-align:left;font-size:.8rem;letter-spacing:.02em;font-weight:700;color:var(--td-text-muted);padding:10px 12px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.tutor-dashboard-students-table td{font-size:.88rem;color:var(--td-text);padding:10px 12px;border-bottom:1px solid #f1f5f9;white-space:nowrap}.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(1),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(2),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(3),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(1),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(2),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(3){text-align:left}.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(4),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(5),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) th:nth-child(6),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(4),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(5),.tutor-dashboard-students-progression .tutor-dashboard-students-table:not(.tutor-dashboard-feedback-table) td:nth-child(6){text-align:center}.tutor-dashboard-students-table tbody tr:last-child td{border-bottom:none}.tutor-dashboard-students-empty{text-align:center;color:var(--td-text-muted);padding:24px 12px!important}.tutor-dashboard-students-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.tutor-dashboard-pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--td-accent);border-radius:8px;background:var(--td-accent-muted);color:var(--td-text);cursor:pointer;transition:border-color .2s,background .2s,color .2s}.tutor-dashboard-pagination-btn svg{stroke-width:2.5;flex-shrink:0;color:inherit}.tutor-dashboard-pagination-btn:hover:not(:disabled){border-color:var(--td-accent-hover);background:var(--td-accent);color:#fff}.tutor-dashboard-pagination-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8}.tutor-dashboard-pagination-info{font-size:.9rem;color:var(--td-text-muted)}.tutor-dashboard-student-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.tutor-dashboard-student-row:last-child{border-bottom:none}.tutor-dashboard-student-avatar{width:40px;height:40px;border-radius:50%;background:#ede9fe;color:var(--td-accent);font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tutor-dashboard-student-info{flex:1;min-width:0;max-width:200px}.tutor-dashboard-student-name{font-size:.9rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-student-id{font-size:.75rem;color:var(--td-text-muted);margin-top:1px}.tutor-dashboard-student-grade{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-student-progress-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.tutor-dashboard-student-progress-bar{flex:1;min-width:160px;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.tutor-dashboard-student-progress-fill{height:100%;background:var(--td-accent);border-radius:3px;transition:width .3s}.tutor-dashboard-student-progress-label{flex-shrink:0}.tutor-dashboard-student-pct{font-size:.88rem;font-weight:600;color:var(--td-text);white-space:nowrap}.tutor-dashboard-student-pct-desc{font-size:.72rem;font-weight:400;color:var(--td-text-muted)}.tutor-dashboard-student-trend{flex-shrink:0}.tutor-dashboard-student-trend.up{color:#059669}.tutor-dashboard-student-trend.down{color:#dc2626}.tutor-dashboard-student-since{font-size:.8rem;color:var(--td-text-muted);flex-shrink:0}.tutor-dashboard-feedback-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.tutor-dashboard-feedback-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.tutor-dashboard-feedback-card h3{margin:0 0 16px;font-size:.95rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-feedback-item{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #f3f4f6}.tutor-dashboard-feedback-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.tutor-dashboard-feedback-header{display:flex;justify-content:space-between;margin-bottom:8px}.tutor-dashboard-feedback-name{font-size:.88rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-feedback-date{font-size:.8rem;color:var(--td-text-muted)}.tutor-dashboard-feedback-stars{color:#fbbf24;margin-bottom:8px}.tutor-dashboard-feedback-comment{margin:0;font-size:.85rem;color:var(--td-text-muted);line-height:1.45}.tutor-dashboard-historical-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f3f4f6}.tutor-dashboard-historical-item:last-child{border-bottom:none}.tutor-dashboard-historical-month{font-size:.85rem;color:var(--td-text);min-width:72px}.tutor-dashboard-historical-rating{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-historical-rating svg{color:#fbbf24}.tutor-dashboard-historical-reviews{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-performance-card{border:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f8fafc)}.tutor-dashboard-perf-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px}.tutor-dashboard-perf-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014;border:1px solid #eef2f7}.tutor-dashboard-perf-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.tutor-dashboard-perf-icon--yellow{background:#fef3c7;color:#d97706}.tutor-dashboard-perf-icon--green{background:#d1fae5;color:#059669}.tutor-dashboard-perf-icon--purple{background:#ede9fe;color:var(--td-accent)}.tutor-dashboard-perf-icon--blue{background:#dbeafe;color:#2563eb}.tutor-dashboard-perf-value{font-size:1.75rem;font-weight:700;color:var(--td-text);margin-bottom:4px}.tutor-dashboard-perf-value--green{color:#059669}.tutor-dashboard-perf-label{font-size:.9rem;color:var(--td-text-muted)}.tutor-dashboard-perf-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.tutor-dashboard-perf-chart-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014;border:1px solid #edf2f7}.tutor-dashboard-perf-chart-card h3{margin:0 0 4px;font-size:1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-perf-chart-card p{margin:0 0 20px;font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-perf-chart-full{grid-column:1 / -1}.tutor-dashboard-perf-list-wrap{background:#fff;border-radius:18px;border:1px solid #e6ebf2;box-shadow:0 10px 26px #0f172a0f}.tutor-dashboard-perf-table thead th{background:#f8fafc;color:#334155;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.tutor-dashboard-perf-table tbody tr:nth-child(2n) td{background:#fcfdff}.tutor-dashboard-perf-table tbody tr:hover td{background:#f1f5f9}.tutor-dashboard-perf-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1}.tutor-dashboard-perf-pill--evaluation{background:#dcfce7;color:#166534}.tutor-dashboard-perf-pill--absence{background:#fee2e2;color:#b91c1c}.tutor-dashboard-perf-status{font-weight:600}.tutor-dashboard-perf-status.is-pass{color:#15803d}.tutor-dashboard-perf-status.is-fail{color:#be123c}.tutor-dashboard-perf-status.is-neutral{color:var(--td-text)}.tutor-dashboard-perf-review{text-align:left}.tutor-dashboard-perf-review-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}.tutor-dashboard-perf-review-title{margin:0 0 6px;font-size:1.35rem;font-weight:800;color:#1e3a5f;letter-spacing:-.02em}.tutor-dashboard-perf-review-subtitle{margin:0;font-size:.9rem;color:var(--td-text-muted);line-height:1.45}.tutor-dashboard-perf-review-month-label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:#475569}.tutor-dashboard-perf-review-month-select{min-width:200px;padding:10px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;font-size:.9rem;font-weight:600;color:var(--td-text);cursor:pointer}.tutor-dashboard-perf-review-hint{margin:0 0 20px;padding:12px 14px;font-size:.85rem;line-height:1.5;color:#64748b;background:#f8fafc;border-radius:10px;border:1px dashed #e2e8f0}.tutor-dashboard-perf-overall{margin-bottom:20px;border-radius:16px;overflow:hidden}.tutor-dashboard-perf-overall--hero{border:1px solid #93c5fd;background:linear-gradient(125deg,#eef2ff,#f5f3ff 38%,#faf5ff 70%,#f8fafc);box-shadow:0 4px 20px #6366f114;padding:18px 22px 20px}.tutor-dashboard-perf-overall-hero-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tutor-dashboard-perf-overall-award{flex-shrink:0;color:#6366f1}.tutor-dashboard-perf-overall-hero-title{font-size:1.02rem;font-weight:700;color:#1e293b}.tutor-dashboard-perf-overall-hero-body{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;text-align:left}.tutor-dashboard-perf-overall-hero-desc{margin:0;flex:1 1 200px;min-width:0;font-size:.88rem;line-height:1.5;color:#64748b}.tutor-dashboard-perf-overall-badge{display:inline-flex;align-items:center;padding:10px 20px;border-radius:10px;font-size:.8rem;font-weight:800;letter-spacing:.06em}.tutor-dashboard-perf-overall-badge--excellent{background:#d1fae5;color:#065f46}.tutor-dashboard-perf-overall-badge--good{background:#dcfce7;color:#166534}.tutor-dashboard-perf-overall-badge--fair{background:#fef9c3;color:#854d0e}.tutor-dashboard-perf-overall-badge--low{background:#fee2e2;color:#991b1b}.tutor-dashboard-perf-overall-badge--none{background:#f1f5f9;color:#64748b}.tutor-dashboard-perf-overall-num{font-size:1.5rem;font-weight:800;color:var(--td-text)}.tutor-dashboard-perf-review-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;margin-bottom:24px}.tutor-dashboard-perf-review-number-1,.tutor-dashboard-perf-review-number-2{display:flex;flex-direction:column;min-width:0;max-width:100%;width:100%;min-height:0}.tutor-dashboard-perf-review-eval-split,.tutor-dashboard-perf-review-conv-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"chart stack";gap:16px;align-items:stretch;min-height:0;flex:1 1 auto;width:100%}.tutor-dashboard-perf-review-eval-chart-side,.tutor-dashboard-perf-review-conv-chart-side{grid-area:chart;min-width:0;max-width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;align-self:stretch}.tutor-dashboard-perf-review-chart-card--eval-side,.tutor-dashboard-perf-review-chart-card--conv-side{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;max-width:100%;width:100%;overflow:hidden;box-sizing:border-box}.tutor-dashboard-perf-review-chart-card--eval-side .tutor-dashboard-perf-review-chart-title,.tutor-dashboard-perf-review-chart-card--conv-side .tutor-dashboard-perf-review-chart-title{flex-shrink:0}.tutor-dashboard-perf-review-chart-card--eval-side .tutor-dashboard-perf-review-chart-area,.tutor-dashboard-perf-review-chart-card--conv-side .tutor-dashboard-perf-review-chart-area{flex:1 1 auto;min-height:200px;display:flex;flex-direction:column}.tutor-dashboard-perf-review-chart-card--eval-side .tutor-dashboard-perf-review-legend,.tutor-dashboard-perf-review-chart-card--conv-side .tutor-dashboard-perf-review-legend,.tutor-dashboard-perf-review-chart-card--conv-side .tutor-dashboard-perf-review-legend-row{flex-shrink:0}.tutor-dashboard-perf-review-eval-split>.tutor-dashboard-perf-review-scores-stack,.tutor-dashboard-perf-review-conv-split>.tutor-dashboard-perf-review-scores-stack{grid-area:stack}.tutor-dashboard-perf-review-scores-stack{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%;width:100%;box-sizing:border-box;align-self:stretch}.tutor-dashboard-perf-review-scores-stack>.tutor-dashboard-perf-review-metric-card,.tutor-dashboard-perf-review-scores-stack>.tutor-dashboard-perf-review-rate-card{flex:0 0 auto}.tutor-dashboard-perf-review-scores-stack>.tutor-dashboard-perf-review-metric-card{padding:12px 14px}.tutor-dashboard-perf-review-scores-stack>.tutor-dashboard-perf-review-rate-card{padding:14px 16px}.tutor-dashboard-perf-review-scores-stack .tutor-dashboard-perf-review-metric-title{overflow-wrap:anywhere}.tutor-dashboard-perf-review-metric-card{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:16px 18px;box-shadow:0 1px 3px #0f172a0f}.tutor-dashboard-perf-review-metric-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.tutor-dashboard-perf-review-metric-title{font-size:.8rem;font-weight:600;color:var(--td-text-muted);line-height:1.35}.tutor-dashboard-perf-review-metric-star{flex-shrink:0;color:#cbd5e1}.tutor-dashboard-perf-review-metric-value{font-size:1.65rem;font-weight:800;color:var(--td-text);margin-bottom:10px;line-height:1}.tutor-dashboard-perf-review-meter{height:8px;border-radius:999px;background:#f1f5f9;overflow:hidden}.tutor-dashboard-perf-review-meter-fill{height:100%;border-radius:999px;transition:width .35s ease}.tutor-dashboard-perf-review-rate-card{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px #0f172a0f}.tutor-dashboard-perf-review-rate-icon{color:#94a3b8}.tutor-dashboard-perf-review-rate-value{font-size:1.75rem;font-weight:800;color:var(--td-text);margin:8px 0 6px}.tutor-dashboard-perf-review-rate-sub{margin:0;font-size:.82rem;color:var(--td-text-muted);line-height:1.4}.tutor-dashboard-perf-review-chart-card{background:#fff;border:1px solid #e8edf3;border-radius:16px;padding:18px 20px 14px;box-shadow:0 2px 10px #0f172a0d}.tutor-dashboard-perf-review-chart-title{margin:0 0 12px;font-size:.95rem;font-weight:700;color:#1e293b}.tutor-dashboard-perf-review-chart-caption{margin:0 0 8px;font-size:.75rem;color:#94a3b8;line-height:1.4}.tutor-dashboard-perf-review-chart-area{background:linear-gradient(180deg,#fafbfc,#f4f6f8);border-radius:12px;padding:4px 0 0;overflow:hidden;min-width:0;max-width:100%}.tutor-dashboard-perf-review-line-svg{width:100%;max-width:100%;min-width:0;height:auto;display:block;aspect-ratio:560 / 260;max-height:220px}.tutor-dashboard-perf-chart-hit{cursor:crosshair}.tutor-dashboard-perf-review-chart-card--eval-side .tutor-dashboard-perf-review-line-svg,.tutor-dashboard-perf-review-chart-card--conv-side .tutor-dashboard-perf-review-line-svg{flex:1 1 auto;width:100%;min-width:0;min-height:200px;height:100%;max-height:none;aspect-ratio:unset}.tutor-dashboard-perf-review-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-size:.8rem;font-weight:600;color:#64748b}.tutor-dashboard-perf-review-legend-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;margin-top:8px;font-size:.8rem;font-weight:600;color:#64748b}.tutor-dashboard-perf-review-legend-row span{display:inline-flex;align-items:center;gap:6px}.tutor-dashboard-perf-review-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tutor-dashboard-perf-fines{margin-top:8px;margin-bottom:24px;padding:20px 22px 22px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 12px #0f172a0d}.tutor-dashboard-perf-fines-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.tutor-dashboard-perf-fines-warn-icon{color:#ea580c;flex-shrink:0}.tutor-dashboard-perf-fines-title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}.tutor-dashboard-perf-fines-loading,.tutor-dashboard-perf-fines-empty{margin:0;font-size:.88rem;color:#64748b}.tutor-dashboard-perf-fines-table-wrap{overflow-x:auto}.tutor-dashboard-perf-fines-table th,.tutor-dashboard-perf-fines-table td{vertical-align:top;word-break:break-word}.tutor-dashboard-perf-fines-pagination{margin-top:14px}.tutor-dashboard-perf-fines-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.tutor-dashboard-perf-fines-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:12px}.tutor-dashboard-perf-fines-summary--total{background:#f1f5f9;border:1px solid #e2e8f0}.tutor-dashboard-perf-fines-summary--pending{background:#fff7ed;border:1px solid #fdba74}.tutor-dashboard-perf-fines-summary--pending .tutor-dashboard-perf-fines-summary-label,.tutor-dashboard-perf-fines-summary--pending .tutor-dashboard-perf-fines-summary-sub{color:#9a3412}.tutor-dashboard-perf-fines-summary-label{font-size:.95rem;font-weight:700;color:#0f172a}.tutor-dashboard-perf-fines-summary-sub{font-size:.78rem;color:#64748b;margin-top:4px}.tutor-dashboard-perf-fines-summary-value{font-size:1.5rem;font-weight:800;color:#0f172a}.tutor-dashboard-perf-fines-summary--pending .tutor-dashboard-perf-fines-summary-value{color:#c2410c}.tutor-dashboard-perf-fines-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.tutor-dashboard-perf-fines-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.tutor-dashboard-perf-fines-item-title{font-size:.92rem;font-weight:700;color:#0f172a}.tutor-dashboard-perf-fines-item-date{font-size:.8rem;color:#94a3b8;margin-top:4px}.tutor-dashboard-perf-fines-item-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.tutor-dashboard-perf-fines-item-amount{font-size:1rem;font-weight:800;color:#0f172a}.tutor-dashboard-perf-fines-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:capitalize}.tutor-dashboard-perf-fines-badge--pending{background:#ffedd5;color:#c2410c}.tutor-dashboard-perf-fines-badge--paid{background:#dcfce7;color:#166534}@media(max-width:640px){.tutor-dashboard-perf-fines-summary-row{grid-template-columns:1fr}}.tutor-dashboard-perf-records{margin-top:8px}.tutor-dashboard-perf-records-toggle{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 0;border:none;background:none;cursor:pointer;font-size:.9rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-perf-records-toggle:hover{color:var(--td-accent)}.tutor-dashboard-perf-records-table-wrap{overflow-x:auto}@media(max-width:1100px){.tutor-dashboard-perf-review-main-grid{grid-template-columns:1fr}.tutor-dashboard-perf-review-eval-split,.tutor-dashboard-perf-review-conv-split{grid-template-columns:1fr;grid-template-areas:"chart" "stack"}}.tutor-dashboard-score-trend-chart{min-height:280px;position:relative;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:14px;padding:8px 10px 0}.tutor-dashboard-score-trend-svg{width:100%;height:280px;min-height:280px;display:block}.tutor-dashboard-score-trend-tooltip{position:absolute}.tutor-dashboard-radar-chart{min-height:240px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:14px}.tutor-dashboard-radar-svg{width:100%;height:280px;max-height:280px;display:block}.tutor-dashboard-radar-label{font-size:11px;fill:var(--td-text-muted);font-weight:500}.tutor-dashboard-chart-radar{background:radial-gradient(circle,rgba(107,70,193,.2) 0%,transparent 70%)}.tutor-dashboard-category-bars{display:flex;flex-direction:column;gap:16px}.tutor-dashboard-category-row{display:flex;align-items:center;gap:16px}.tutor-dashboard-category-row span{font-size:.9rem;color:var(--td-text);min-width:160px}.tutor-dashboard-category-bar-wrap{flex:1;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.tutor-dashboard-category-bar{height:100%;background:var(--td-accent);border-radius:6px;transition:width .3s}.tutor-dashboard-category-value{min-width:40px;text-align:right;font-size:.86rem;color:var(--td-text)}.tutor-dashboard-courses-section h3,.tutor-dashboard-materials-section h3{margin:0 0 20px;font-size:1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.tutor-dashboard-course-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014;border:1px solid #f3f4f6}.tutor-dashboard-course-title{font-size:.95rem;font-weight:600;color:var(--td-text);margin-bottom:16px;line-height:1.4}.tutor-dashboard-course-meta{display:flex;gap:16px;font-size:.85rem;color:var(--td-text-muted);margin-bottom:16px}.tutor-dashboard-course-meta span{display:flex;align-items:center;gap:6px}.tutor-dashboard-course-progress-wrap{display:flex;align-items:center;gap:12px}.tutor-dashboard-course-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.tutor-dashboard-course-progress-bar div{height:100%;border-radius:4px;transition:width .3s}.tutor-dashboard-course-progress-bar.tutor-dashboard-course-progress--purple div{background:var(--td-accent)}.tutor-dashboard-course-progress-bar.tutor-dashboard-course-progress--teal div{background:#0d9488}.tutor-dashboard-course-progress-bar.tutor-dashboard-course-progress--green div{background:#059669}.tutor-dashboard-course-progress-bar.tutor-dashboard-course-progress--orange div{background:#ea580c}.tutor-dashboard-course-progress-wrap span{font-size:.9rem;font-weight:600;color:var(--td-text);min-width:40px}.tutor-dashboard-materials-list{display:flex;flex-direction:column;gap:12px}.tutor-dashboard-material-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f3f4f6}.tutor-dashboard-material-icon{color:var(--td-text-muted);flex-shrink:0}.tutor-dashboard-material-info{flex:1}.tutor-dashboard-material-title{font-size:.95rem;font-weight:600;color:var(--td-text)}.tutor-dashboard-material-subject{font-size:.85rem;color:var(--td-text-muted)}.tutor-dashboard-material-type{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.tutor-dashboard-material-type--red{background:#fee2e2;color:#dc2626}.tutor-dashboard-material-type--blue{background:#dbeafe;color:#2563eb}.tutor-dashboard-material-type--darkblue{background:#e0e7ff;color:#4f46e5}.tutor-dashboard-material-link{color:var(--td-text-muted);cursor:pointer}.tutor-dashboard-cm{max-width:1100px}.tutor-dashboard-cm-intro{margin:0 0 24px;font-size:.9rem;line-height:1.55;color:var(--td-text-muted)}.tutor-dashboard-cm-loading,.tutor-dashboard-cm-empty{padding:28px 20px;text-align:center;font-size:.9rem;color:var(--td-text-muted);background:#f9fafb;border-radius:14px;border:1px dashed #e5e7eb}.tutor-dashboard-cm-error{padding:14px 18px;margin-bottom:20px;border-radius:12px;font-size:.875rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.tutor-dashboard-cm-folder{margin-bottom:24px;background:#f8fafc;border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 2px 14px #0f172a0d;overflow:hidden}.tutor-dashboard-cm-folder-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:linear-gradient(105deg,#ecfdf5,#f0fdfa 40%,#f8fafc);border-bottom:1px solid #d1fae5}.tutor-dashboard-cm-folder-toggle{display:flex;align-items:center;gap:12px;flex:1;min-width:0;margin:0;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:10px}.tutor-dashboard-cm-folder-toggle:hover{color:#0f766e}.tutor-dashboard-cm-folder-toggle:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.tutor-dashboard-cm-folder-chevron{flex-shrink:0;color:#64748b}.tutor-dashboard-cm-folder-toggle:hover .tutor-dashboard-cm-folder-chevron{color:#0d9488}.tutor-dashboard-cm-folder-icon{flex-shrink:0;color:#0d9488}.tutor-dashboard-cm-folder-title{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.tutor-dashboard-cm-folder-count{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#0f766e;background:#0d94881f;padding:6px 12px;border-radius:999px;flex-shrink:0}.tutor-dashboard-cm-folder-body{padding:16px 16px 8px;background:#fff}.tutor-dashboard-cm-program{margin-bottom:28px;background:#fff;border-radius:16px;border:1px solid #eef2f7;box-shadow:0 2px 12px #0f172a0f;overflow:hidden}.tutor-dashboard-cm-program--nested{margin-bottom:16px;box-shadow:0 1px 8px #0f172a0a}.tutor-dashboard-cm-program-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:linear-gradient(105deg,#f0fdfa,#f8fafc 55%,#fff);border-bottom:1px solid #e2e8f0}.tutor-dashboard-cm-program-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;margin:0;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:8px}.tutor-dashboard-cm-program-toggle:hover{color:#0d9488}.tutor-dashboard-cm-program-toggle:focus-visible{outline:2px solid #2dd4bf;outline-offset:2px}.tutor-dashboard-cm-chevron{flex-shrink:0;color:#64748b}.tutor-dashboard-cm-program-toggle:hover .tutor-dashboard-cm-chevron{color:#0d9488}.tutor-dashboard-cm-program-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--td-text);letter-spacing:-.02em}.tutor-dashboard-cm-count{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#0d9488;background:#0d94881a;padding:6px 12px;border-radius:999px}.tutor-dashboard-cm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tutor-dashboard-cm-table{width:100%;border-collapse:collapse;table-layout:fixed}.tutor-dashboard-cm-col-w-lesson{width:58%}.tutor-dashboard-cm-col-w-materials{width:42%}.tutor-dashboard-cm-table thead th{background:#f8fafc;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;text-align:center;padding:10px 14px;border-bottom:1px solid #e2e8f0}.tutor-dashboard-cm-table thead th:first-child{text-align:left}.tutor-dashboard-cm-table tbody td{padding:14px 16px;vertical-align:middle;border-bottom:1px solid #f1f5f9;text-align:center}.tutor-dashboard-cm-table tbody tr:last-child td{border-bottom:none}.tutor-dashboard-cm-table tbody td.tutor-dashboard-cm-td--lesson{min-width:0;text-align:left}.tutor-dashboard-cm-td--materials{min-width:0}.tutor-dashboard-cm-lesson-main{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;min-width:0;width:100%}.tutor-dashboard-cm-lesson-icon{flex-shrink:0;color:#94a3b8}.tutor-dashboard-cm-lesson-text{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px;min-width:0;text-align:left}.tutor-dashboard-cm-lesson-num{flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:#0f766e;background:#0d94881f;padding:2px 8px;border-radius:6px}.tutor-dashboard-cm-lesson-title{font-size:.9rem;font-weight:600;color:var(--td-text);line-height:1.45;word-break:break-word;flex:0 1 auto;min-width:0;text-align:left}.tutor-dashboard-cm-materials-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:.8125rem;font-weight:600;color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.tutor-dashboard-cm-materials-link:hover{background:#d1fae5;border-color:#6ee7b7;color:#115e59}.tutor-dashboard-cm-no-materials{font-size:.8125rem;color:#94a3b8;font-style:italic}@media(max-width:720px){.tutor-dashboard-cm-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tutor-dashboard-cm-table,.tutor-dashboard-cm-table tbody,.tutor-dashboard-cm-table tr,.tutor-dashboard-cm-table td{display:block;width:100%}.tutor-dashboard-cm-table tbody tr{padding:14px 0;border-bottom:1px solid #e2e8f0}.tutor-dashboard-cm-table tbody tr:last-child{border-bottom:none}.tutor-dashboard-cm-td{padding:8px 12px;text-align:center;border-bottom:none}.tutor-dashboard-cm-td--lesson{text-align:left}.tutor-dashboard-cm-td--lesson:before{text-align:left}.tutor-dashboard-cm-td:before{content:attr(data-label);display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:6px}.tutor-dashboard-cm-td--materials .tutor-dashboard-cm-materials-link{width:100%;max-width:280px;margin:0 auto;justify-content:center;box-sizing:border-box}.tutor-dashboard-cm-td--materials .tutor-dashboard-cm-no-materials{display:block;text-align:center}}.tutor-dashboard-right{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.tutor-dashboard-right-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014;border:1px solid #f3f4f6}.tutor-dashboard-right-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tutor-dashboard-right-card-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--td-text)}.tutor-dashboard-right-card-header svg{color:var(--td-text-muted)}.tutor-dashboard-view-all{background:none;border:none;font-size:.85rem;color:var(--td-text-muted);cursor:pointer}.tutor-dashboard-view-all:hover{color:var(--td-accent)}.tutor-dashboard-right-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:.95rem;color:var(--td-text)}.tutor-dashboard-right-cal-header button{background:none;border:none;cursor:pointer;padding:4px;color:var(--td-text-muted)}.tutor-dashboard-right-cal-header button:hover{color:var(--td-accent)}.tutor-dashboard-right-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.tutor-dashboard-right-cal-day-name{font-size:.7rem;font-weight:600;color:var(--td-text-muted);text-align:center;padding:4px 0}.tutor-dashboard-right-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;color:var(--td-text);border-radius:50%;border:none;background:none;cursor:pointer;padding:0;font-family:inherit;transition:background .15s,color .15s}.tutor-dashboard-right-cal-day:hover:not(.selected):not(.other-month){background:var(--td-accent-muted);color:var(--td-accent)}.tutor-dashboard-right-cal-day.other-month{color:#cbd5e1;cursor:default}.tutor-dashboard-right-cal-day.other-month:hover{background:none;color:#cbd5e1}.tutor-dashboard-right-cal-day.selected{background:var(--td-accent);color:#fff}.tutor-dashboard-right-lessons,.tutor-dashboard-right-events{margin:0;padding:0;list-style:none;text-align:left}.tutor-dashboard-right-lesson{display:flex;gap:12px;padding:14px;background:#f9fafb;border-radius:12px;margin-bottom:10px}.tutor-dashboard-right-lesson-bar{width:4px;border-radius:2px;flex-shrink:0;background:var(--td-accent)}.tutor-dashboard-right-lesson-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;text-align:left}.tutor-dashboard-right-lesson-line{font-size:.95rem;font-weight:500;color:var(--td-text)}.tutor-dashboard-right-lesson-subject{display:block;font-size:.8rem;color:var(--td-text-muted);text-align:left}.tutor-dashboard-right-lesson-topic{display:block;font-size:.95rem;font-weight:600;color:var(--td-text);text-align:left}.tutor-dashboard-right-lesson-time{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:.8rem;color:var(--td-text-muted);text-align:left}.tutor-dashboard-right-event{padding:14px;background:#f9fafb;border-radius:12px;margin-bottom:10px}.tutor-dashboard-right-event-title{font-size:.95rem;font-weight:600;color:var(--td-text);margin-bottom:4px}.tutor-dashboard-right-event-meta{font-size:.85rem;color:var(--td-text-muted);display:flex;align-items:center;gap:6px}@media(max-width:1200px){.tutor-dashboard-cards{grid-template-columns:1fr}.tutor-dashboard-perf-cards{grid-template-columns:repeat(2,1fr)}.tutor-dashboard-charts-row,.tutor-dashboard-perf-charts,.tutor-dashboard-feedback-grid{grid-template-columns:1fr}.tutor-dashboard-courses-grid{grid-template-columns:repeat(2,1fr)}.tutor-dashboard-schedule-layout{flex-direction:column}.tutor-dashboard-upcoming-classes{width:100%}}@media(max-width:1024px){.tutor-dashboard-right{display:none}}@media(max-width:768px){.tutor-dashboard-sidebar{position:relative;width:100%;min-width:unset;height:auto;flex-direction:row;flex-wrap:wrap}.tutor-dashboard-sidebar-profile{flex:1 1 auto;min-width:min(100%,14rem);border-bottom:none;border-right:1px solid #e2e8f0;margin-bottom:0;padding-right:.5rem}.tutor-dashboard-sidebar-profile-trigger{padding-bottom:.75rem;padding-top:.25rem}.tutor-dashboard-main-wrap{margin-left:0}.tutor-dashboard-courses-grid{grid-template-columns:1fr}.tutor-dashboard-students-progression{padding:12px}.tutor-dashboard-students-table{min-width:640px}.tutor-dashboard-perf-cards{grid-template-columns:1fr}}.tutor-dashboard-schedule-attendance-checkbox{appearance:none;-webkit-appearance:none;width:1.125rem;height:1.125rem;margin:0;flex-shrink:0;vertical-align:middle;border:2px solid #0d9488;border-radius:4px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.tutor-dashboard-schedule-attendance-checkbox:hover:not(:disabled){border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.tutor-dashboard-schedule-attendance-checkbox:checked{border-color:#0d9488;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / .75rem auto no-repeat,#0d9488}.tutor-dashboard-schedule-attendance-checkbox:focus{outline:none}.tutor-dashboard-schedule-attendance-checkbox:focus-visible{outline:2px solid #0d9488;outline-offset:2px}.tutor-dashboard-schedule-attendance-checkbox:disabled{cursor:not-allowed;opacity:.65;border-color:#94a3b8;background:#f1f5f9;background-image:none}.tutor-dashboard-schedule-attendance-checkbox:disabled:checked{border-color:#0d9488;opacity:.85;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / .75rem auto no-repeat,#0d9488}.tutor-dashboard-schedule-attendance-modal-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.tutor-dashboard-schedule-attendance-modal{width:100%;max-width:min(36rem,calc(100vw - 2rem));max-height:min(90vh,640px);display:flex;flex-direction:column;background:#fff;color-scheme:light;border-radius:16px;box-shadow:0 24px 48px #0f172a2e,0 0 0 1px #e2e8f0;overflow:hidden}.tutor-dashboard-schedule-attendance-modal--trial{max-width:min(44rem,calc(100vw - 2rem));max-height:min(92vh,720px)}.tutor-dashboard-schedule-attendance-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.tutor-dashboard-schedule-attendance-modal-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--td-text);line-height:1.25}.tutor-dashboard-schedule-attendance-modal-sub{margin:6px 0 0;font-size:.875rem;color:var(--td-text-muted);line-height:1.4}.tutor-dashboard-schedule-attendance-modal-date{margin:4px 0 0;font-size:.75rem;color:var(--td-text-muted);line-height:1.35}.tutor-dashboard-schedule-attendance-modal-hint{margin:0 0 14px;padding:10px 12px;font-size:.8125rem;line-height:1.45;color:#475569;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px}.tutor-dashboard-schedule-attendance-modal-hint strong{color:#0f766e;font-weight:700}.tutor-dashboard-schedule-attendance-modal .tutor-dashboard-schedule-students-popover-attendance--modal-lead{align-items:flex-start}.tutor-dashboard-schedule-modal-notes-wrap{margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9;width:100%;display:flex;flex-direction:column;gap:6px}.tutor-dashboard-schedule-modal-notes-wrap--compact{margin-top:0;padding-top:0;border-top:none;gap:4px}.tutor-dashboard-schedule-modal-notes-textarea--compact{min-height:2.75rem;padding:6px 9px;font-size:.8125rem;line-height:1.4;resize:vertical}.tutor-dashboard-schedule-modal-notes-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.tutor-dashboard-schedule-modal-notes-textarea{width:100%;min-height:88px;padding:10px 12px;font-size:.875rem;font-family:inherit;line-height:1.45;color:var(--td-text);border:1px solid #cbd5e1;border-radius:8px;resize:vertical;box-sizing:border-box}.tutor-dashboard-schedule-modal-notes-textarea:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.tutor-dashboard-schedule-modal-notes-textarea:disabled{opacity:.6;cursor:not-allowed;background:#f8fafc}.tutor-dashboard-schedule-attendance-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--td-text-muted);cursor:pointer;transition:background .15s,color .15s}.tutor-dashboard-schedule-attendance-modal-close:hover{background:#f1f5f9;color:var(--td-text)}.tutor-dashboard-schedule-attendance-modal-body{padding:16px 20px 20px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.tutor-dashboard-schedule-attendance-modal-body::-webkit-scrollbar{width:8px}.tutor-dashboard-schedule-attendance-modal-body::-webkit-scrollbar-track{background:transparent}.tutor-dashboard-schedule-attendance-modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.tutor-dashboard-schedule-attendance-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8;background-clip:padding-box}.tutor-dashboard-schedule-attendance-modal-empty{margin:0;font-size:.9rem;color:var(--td-text-muted)}.tutor-dashboard-schedule-attendance-modal-lesson{margin-bottom:18px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fafbfc}.tutor-dashboard-schedule-attendance-modal-lesson:last-child{margin-bottom:0}.tutor-dashboard-schedule-attendance-modal-lesson-head{padding:10px 14px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.tutor-dashboard-schedule-attendance-modal-lesson-title{display:block;font-weight:700;font-size:.9rem;color:var(--td-text)}.tutor-dashboard-schedule-attendance-modal-lesson-meta{display:block;margin-top:4px;font-size:.75rem;color:var(--td-text-muted);line-height:1.35}.tutor-dashboard-schedule-attendance-modal-student-list{list-style:none;margin:0;padding:0;background:#fff;overflow:visible}.tutor-dashboard-schedule-attendance-modal-student{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #f1f5f9}.tutor-dashboard-schedule-attendance-modal-student--stacked{flex-direction:column;align-items:stretch;gap:8px}.tutor-dashboard-schedule-attendance-modal-student-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%}.tutor-dashboard-schedule-modal-student-text--row{flex:1 1 10rem;min-width:0}.tutor-dashboard-schedule-modal-student-meta-row{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-top:2px}.tutor-dashboard-schedule-modal-student-meta-sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}.tutor-dashboard-schedule-attendance-modal-student:last-child{border-bottom:none}.tutor-dashboard-schedule-attendance-modal-student.is-trial-program{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;border-bottom:1px solid #e2e8f0;overflow:visible}.tutor-dashboard-schedule-attendance-modal-student.is-trial-program:last-child{margin-bottom:0}.tutor-dashboard-trial-attendance-card.tutor-dashboard-schedule-attendance-modal-student.is-trial-program{padding:10px 12px}.tutor-dashboard-trial-attendance-compact-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;width:100%}.tutor-dashboard-trial-attendance-student-block--compact{flex:1 1 8.5rem;min-width:6.5rem;max-width:12rem;text-align:left}.tutor-dashboard-trial-attendance-student-block--compact .tutor-dashboard-schedule-students-popover-name{font-weight:700;font-size:.8125rem;line-height:1.25}.tutor-dashboard-trial-attendance-student-block--compact .tutor-dashboard-trial-attendance-student-id{margin-top:2px;font-size:.75rem}.tutor-dashboard-trial-native-select--modal-row{width:auto;flex:0 1 7.75rem;min-width:6.75rem;max-width:9.5rem;padding:6px 28px 6px 8px;font-size:.8125rem}.tutor-dashboard-schedule-modal-score-wrap--compact-inline{flex-direction:row;align-items:center;gap:6px;margin:0;flex-shrink:0}.tutor-dashboard-schedule-modal-score-wrap--compact-inline .tutor-dashboard-schedule-modal-score-label{margin:0}.tutor-dashboard-schedule-modal-score-input--compact{width:3rem;min-width:2.85rem;padding:4px;font-size:.8125rem}.tutor-dashboard-trial-attendance-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%}.tutor-dashboard-trial-attendance-inline-check{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:.75rem;font-weight:500;color:var(--td-text);cursor:pointer;-webkit-user-select:none;user-select:none}.tutor-dashboard-trial-attendance-compact-row .tutor-dashboard-trial-attendance-inline-check{white-space:nowrap}.tutor-dashboard-trial-attendance-inline-check input:disabled+span{opacity:.55}.tutor-dashboard-trial-attendance-student-block{flex:1;min-width:0;text-align:center}.tutor-dashboard-trial-attendance-student-block .tutor-dashboard-schedule-students-popover-name{font-weight:700;font-size:.95rem}.tutor-dashboard-trial-attendance-student-id{margin-top:4px;font-size:.8125rem;color:var(--td-text-muted);font-weight:500}.tutor-dashboard-trial-attendance-score-row{margin-top:12px;width:100%}.tutor-dashboard-trial-attendance-mid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9;align-items:center}@media(max-width:520px){.tutor-dashboard-trial-attendance-mid{grid-template-columns:1fr}}.tutor-dashboard-trial-issues-text-input{width:100%;padding:9px 11px;font-size:.8125rem;font-family:inherit;color:#334155;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-sizing:border-box}.tutor-dashboard-trial-issues-text-input::placeholder{color:#94a3b8}.tutor-dashboard-trial-issues-text-input:focus{outline:none;border-color:var(--td-accent);box-shadow:0 0 0 2px #0d948826}.tutor-dashboard-trial-issues-text-input:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}.tutor-dashboard-trial-attendance-notes-wrap{margin-top:14px;width:100%}.tutor-dashboard-trial-attendance-notes-wrap--compact{margin-top:0}.tutor-dashboard-trial-attendance-notes-textarea{width:100%;min-height:4.25rem;padding:10px 12px;font-size:.875rem;font-family:inherit;line-height:1.45;color:#334155;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc;resize:vertical;box-sizing:border-box}.tutor-dashboard-trial-attendance-notes-textarea--compact{min-height:2.5rem;padding:6px 9px;font-size:.8125rem;line-height:1.4;border-radius:8px}.tutor-dashboard-trial-attendance-notes-textarea::placeholder{color:#94a3b8}.tutor-dashboard-trial-attendance-notes-textarea:focus{outline:none;border-color:var(--td-accent);background:#fff;box-shadow:0 0 0 2px #0d94881f}.tutor-dashboard-trial-attendance-notes-textarea:disabled{opacity:.55;cursor:not-allowed}.tutor-dashboard-trial-student-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.tutor-dashboard-schedule-attendance-modal-student-row.tutor-dashboard-trial-student-head,.tutor-dashboard-trial-student-head--with-score{align-items:center}.tutor-dashboard-schedule-modal-score-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;margin:0 6px}.tutor-dashboard-schedule-modal-score-label{font-size:.65rem;font-weight:600;letter-spacing:.03em;color:#64748b;text-transform:uppercase}.tutor-dashboard-schedule-modal-score-input-row{display:flex;align-items:center;gap:6px}.tutor-dashboard-schedule-modal-score-input{width:3rem;min-width:2.75rem;padding:6px;font-size:.875rem;font-weight:600;text-align:center;color:var(--td-text);border:2px solid #0d9488;border-radius:8px;background:#fff;font-family:inherit;box-sizing:border-box;-moz-appearance:textfield;appearance:textfield}.tutor-dashboard-schedule-modal-score-input::-webkit-outer-spin-button,.tutor-dashboard-schedule-modal-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tutor-dashboard-schedule-modal-score-input:focus{outline:none;box-shadow:0 0 0 3px #0d948833}.tutor-dashboard-schedule-modal-score-input:disabled{opacity:.55;cursor:not-allowed;border-color:#cbd5e1;background:#f8fafc;box-shadow:none}.tutor-dashboard-schedule-modal-score-suffix{font-size:.8125rem;font-weight:600;color:#64748b;white-space:nowrap}@media(max-width:520px){.tutor-dashboard-trial-student-head--with-score{flex-wrap:wrap}.tutor-dashboard-schedule-modal-score-wrap{flex-direction:row;align-items:center;width:100%;margin:8px 0 0;justify-content:flex-start;gap:10px}.tutor-dashboard-trial-attendance-compact-row .tutor-dashboard-trial-native-select--modal-row,.tutor-dashboard-trial-attendance-compact-row .tutor-dashboard-trial-issues-wrap--modal-row{flex:1 1 100%;max-width:none}}.tutor-dashboard-trial-fields-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9;width:100%}.tutor-dashboard-schedule-attendance-modal .tutor-dashboard-trial-fields-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:10px 12px;align-items:start;overflow:visible}.tutor-dashboard-schedule-attendance-modal .tutor-dashboard-trial-field-label{display:block;text-align:center}@media(max-width:520px){.tutor-dashboard-schedule-attendance-modal .tutor-dashboard-trial-fields-row{grid-template-columns:1fr;gap:14px}.tutor-dashboard-schedule-attendance-modal .tutor-dashboard-trial-field-label{text-align:left}}@media(max-width:640px){.tutor-dashboard-trial-fields-row{grid-template-columns:1fr}}.tutor-dashboard-trial-field{display:flex;flex-direction:column;gap:6px;min-width:0;overflow:visible}.tutor-dashboard-trial-field-label{font-size:.7rem;font-weight:600;text-transform:none;letter-spacing:.01em;color:#64748b}.tutor-dashboard-trial-native-select{width:100%;padding:9px 32px 9px 10px;font-size:.8125rem;font-family:inherit;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.tutor-dashboard-trial-native-select:hover,.tutor-dashboard-trial-native-select:focus{border-color:var(--td-accent);outline:none}.tutor-dashboard-trial-native-select:disabled{opacity:.55;cursor:not-allowed}.tutor-dashboard-trial-issues-wrap{position:relative;width:100%}.tutor-dashboard-trial-issues-wrap--modal-row{flex:1 1 5.5rem;min-width:5rem;max-width:11rem;width:auto}.tutor-dashboard-trial-issues-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 10px;font-size:.8125rem;font-weight:500;font-family:inherit;text-align:left;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tutor-dashboard-trial-issues-trigger:hover:not(:disabled){border-color:#cbd5e1}.tutor-dashboard-trial-issues-trigger:focus{outline:none}.tutor-dashboard-trial-issues-trigger:focus-visible:not(.open){outline:2px solid var(--td-accent);outline-offset:2px}.tutor-dashboard-trial-issues-trigger.open{background:#fff;border:2px solid var(--td-accent);color:#334155}.tutor-dashboard-trial-issues-trigger.open .tutor-dashboard-trial-issues-trigger-chevron{color:var(--td-accent)}.tutor-dashboard-trial-issues-trigger.tutor-dashboard-trial-issues-trigger--open-filled.open{background:var(--td-accent);border:2px solid var(--td-accent);color:#fff}.tutor-dashboard-trial-issues-trigger.tutor-dashboard-trial-issues-trigger--open-filled.open .tutor-dashboard-trial-issues-trigger-chevron{color:#fff}.tutor-dashboard-trial-issues-trigger:disabled{opacity:.55;cursor:not-allowed}.tutor-dashboard-trial-issues-trigger--modal-row{padding:6px 9px;font-size:.8125rem;font-weight:500;min-height:2rem;box-sizing:border-box}.tutor-dashboard-trial-issues-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-dashboard-trial-issues-trigger-chevron{flex-shrink:0;color:#64748b}.tutor-dashboard-trial-issues-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;padding:6px 0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 28px #0f172a1f,0 0 0 1px #0f172a0a;max-height:min(240px,45vh);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc}.tutor-dashboard-trial-issues-panel.tutor-dashboard-trial-issues-panel--fixed{position:fixed;right:auto}.tutor-dashboard-trial-issues-panel::-webkit-scrollbar{width:6px}.tutor-dashboard-trial-issues-panel::-webkit-scrollbar-track{background:#f8fafc;border-radius:999px}.tutor-dashboard-trial-issues-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.tutor-dashboard-trial-issues-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tutor-dashboard-trial-issues-option{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;margin:0;font-size:.8125rem;color:#334155;cursor:pointer}.tutor-dashboard-trial-issues-option-label{flex:1;min-width:0;line-height:1.45;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.tutor-dashboard-trial-issues-option:hover{background:#f8fafc}.tutor-dashboard-trial-issues-option .tutor-dashboard-schedule-attendance-checkbox{margin-top:2px}.tutor-dashboard-schedule-attendance-modal-lesson--single{margin-bottom:0;border:none;border-radius:0;background:transparent;overflow:visible}.tutor-dashboard-schedule-zoom-link-cell{max-width:14rem;font-size:.8rem;vertical-align:middle}.tutor-dashboard-schedule-zoom-room-link{display:inline-block;color:#2563eb;font-weight:500;text-decoration:none;word-break:break-all;line-height:1.35}.tutor-dashboard-schedule-zoom-room-link:hover{text-decoration:underline}.tutor-dashboard-zoom-details-muted{color:var(--td-text-muted)}.tutor-dashboard-students-table.tutor-dashboard-feedback-table{min-width:920px}.tutor-dashboard-students-table.tutor-dashboard-feedback-table th,.tutor-dashboard-students-table.tutor-dashboard-feedback-table td{text-align:left}.tutor-dashboard-students-table.tutor-dashboard-feedback-table th:nth-child(5),.tutor-dashboard-students-table.tutor-dashboard-feedback-table td:nth-child(5),.tutor-dashboard-students-table.tutor-dashboard-feedback-table th:nth-child(8),.tutor-dashboard-students-table.tutor-dashboard-feedback-table td:nth-child(8){text-align:center}.tutor-dashboard-feedback-portal-student{display:flex;flex-direction:column;gap:2px}.tutor-dashboard-feedback-portal-student-name{font-weight:600;color:var(--td-text)}.tutor-dashboard-feedback-portal-student-id{font-size:.8rem;color:var(--td-text-muted)}.tutor-dashboard-feedback-score-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-weight:600;font-size:.85rem}.tutor-dashboard-feedback-score-pill--high{background:#d1fae5;color:#065f46}.tutor-dashboard-feedback-score-pill--mid{background:#fef3c7;color:#92400e}.tutor-dashboard-feedback-score-pill--low{background:#fee2e2;color:#991b1b}.tutor-dashboard-feedback-status-pill{display:inline-block;padding:4px 10px;border-radius:8px;border:1px solid #e2e8f0;font-size:.8rem;color:var(--td-text-muted)}.tutor-dashboard .tutor-dashboard-feedback-fill-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--td-accent);background:#fff;color:var(--td-accent);font-weight:600;font-size:.85rem;text-decoration:none;transition:background .2s,color .2s}.tutor-dashboard .tutor-dashboard-feedback-fill-btn:hover{background:var(--td-accent-muted);color:var(--td-accent-hover)}.tutor-dashboard .tutor-dashboard-feedback-fill-btn--btn{cursor:pointer;font:inherit}.tutor-dashboard-l2-feedback-backdrop{position:fixed;inset:0;z-index:10050;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 48px;overflow-y:auto;box-sizing:border-box}.tutor-dashboard-l2-feedback-modal{width:100%;max-width:36rem;max-height:min(90vh,880px);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;color:#374151;color-scheme:light}.tutor-dashboard-l2-feedback-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tutor-dashboard-l2-feedback-modal-title{margin:0;font-size:1.125rem;font-weight:700;color:#111827}.tutor-dashboard-l2-feedback-modal-meta{margin:4px 0 0;font-size:.875rem;color:#4b5563}.tutor-dashboard-l2-feedback-modal-meta--dim{color:#6b7280;font-size:.8125rem}.tutor-dashboard-l2-feedback-modal .tutor-dashboard-l2-feedback-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid #1e293b;border-radius:10px;background:#334155;color:#fff;cursor:pointer;box-shadow:0 1px 2px #0f172a1f;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.tutor-dashboard-l2-feedback-modal .tutor-dashboard-l2-feedback-modal-close:hover{background:#1e293b;color:#fff;border-color:#0f172a;box-shadow:0 2px 6px #0f172a33}.tutor-dashboard-l2-feedback-modal .tutor-dashboard-l2-feedback-modal-close:focus-visible{outline:2px solid var(--td-accent, #0d9488);outline-offset:2px}.tutor-dashboard-l2-feedback-modal .tutor-dashboard-l2-feedback-modal-close-x{display:block;color:#fff;font-size:1.75rem;font-weight:300;line-height:1;letter-spacing:0;-webkit-user-select:none;user-select:none;margin-top:-.1em}.tutor-dashboard-l2-feedback-modal .tutor-dashboard-l2-feedback-modal-close:hover .tutor-dashboard-l2-feedback-modal-close-x{color:#fff}.tutor-dashboard-l2-feedback-modal-scroll{overflow-y:auto;padding:16px 20px 20px;flex:1;min-height:0}.tutor-dashboard-l2-feedback-rubric{background:#f3f4f6;border-radius:10px;padding:14px 16px 16px;margin-bottom:14px}.tutor-dashboard-l2-feedback-rubric-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.tutor-dashboard-l2-feedback-rubric-title{margin:0;font-size:.9375rem;font-weight:700;color:#1f2937;line-height:1.35}.tutor-dashboard-l2-feedback-req{color:#dc2626;font-weight:700;font-size:1rem;line-height:1}.tutor-dashboard-l2-feedback-rubric-body{font-size:.8125rem;line-height:1.5;color:#4b5563;margin-bottom:10px}.tutor-dashboard-l2-feedback-guiding,.tutor-dashboard-l2-feedback-context{margin:0 0 8px}.tutor-dashboard-l2-feedback-legend{list-style:none;margin:0 0 12px;padding:0;font-size:.8125rem;line-height:1.45;color:#4b5563}.tutor-dashboard-l2-feedback-legend-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.tutor-dashboard-l2-feedback-legend-stars{display:inline-flex;gap:1px;flex-shrink:0;color:#eab308;margin-top:2px}.tutor-dashboard-l2-feedback-legend-star{flex-shrink:0}.tutor-dashboard-l2-feedback-star-row{display:flex;gap:6px;align-items:center;padding:6px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.tutor-dashboard-l2-feedback-star-btn{padding:2px;border:none;background:transparent;color:#d1d5db;cursor:pointer;line-height:0;border-radius:4px}.tutor-dashboard-l2-feedback-star-btn:hover{color:#fde047}.tutor-dashboard-l2-feedback-star-btn--on{color:#eab308}.tutor-dashboard-l2-feedback-star-btn--on svg{fill:#eab308}.tutor-dashboard-l2-feedback-field-error{margin:8px 0 0;font-size:.75rem;color:#b91c1c}.tutor-dashboard-l2-feedback-text-section{background:#f3f4f6;border-radius:10px;padding:14px 16px 16px;margin-bottom:14px}.tutor-dashboard-l2-feedback-text-section--reflection{margin-bottom:8px}.tutor-dashboard-l2-feedback-numbered{margin:0 0 10px 1.1rem;padding:0;font-size:.8125rem;line-height:1.5;color:#4b5563}.tutor-dashboard-l2-feedback-numbered li{margin-bottom:4px}.tutor-dashboard-l2-feedback-textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;font-size:.875rem;line-height:1.5;color:#111827;background:#fff;resize:vertical;min-height:100px}.tutor-dashboard-l2-feedback-textarea:focus{outline:2px solid var(--td-accent, #0d9488);outline-offset:1px;border-color:var(--td-accent, #0d9488)}.tutor-dashboard-l2-feedback-submit-error{margin:0 0 12px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.8125rem;color:#991b1b}.tutor-dashboard-l2-feedback-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:8px}.tutor-dashboard-l2-feedback-btn-secondary{padding:10px 18px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-weight:600;font-size:.875rem;cursor:pointer}.tutor-dashboard-l2-feedback-btn-secondary:hover:not(:disabled){background:#f9fafb}.tutor-dashboard-l2-feedback-btn-primary{padding:10px 22px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer}.tutor-dashboard-l2-feedback-btn-primary:hover:not(:disabled){background:#1d4ed8}.tutor-dashboard-l2-feedback-btn-primary:disabled,.tutor-dashboard-l2-feedback-btn-secondary:disabled{opacity:.65;cursor:not-allowed}.tutor-dashboard-l1-feedback-modal-wide{max-width:min(42rem,100%)}.tutor-dashboard-l1-feedback-conditional-hint{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:none;letter-spacing:0}.tutor-dashboard-l1-feedback-conditional-hint-icon{flex-shrink:0;color:#9ca3af}.tutor-dashboard-l1-feedback-conditional-block{background:#f9fafb;border-radius:10px;padding:14px 16px 16px;margin-bottom:14px;border:1px solid #e5e7eb}.tutor-dashboard-l1-feedback-level-guide{margin-bottom:12px}.tutor-dashboard-l1-feedback-parent-guide{margin:0 0 12px;padding-left:1.1rem;font-size:.8125rem;line-height:1.5;color:#4b5563}.tutor-dashboard-l1-feedback-parent-guide li{margin-bottom:6px}.tutor-dashboard-l1-feedback-select{width:100%;box-sizing:border-box;margin-top:4px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;font-size:.875rem;color:#111827;background:#fff;cursor:pointer}.tutor-dashboard-l1-feedback-select:focus{outline:2px solid var(--td-accent, #0d9488);outline-offset:1px;border-color:var(--td-accent, #0d9488)}.tutor-dashboard-l1-feedback-pill-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}.tutor-dashboard-l1-feedback-pill-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.875rem}.tutor-dashboard-l1-feedback-pill-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--td-accent, #0d9488)}.tutor-dashboard-l1-feedback-pill{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:500;color:#1f2937}.tutor-dashboard-l1-feedback-pill--visual{background:#dbeafe}.tutor-dashboard-l1-feedback-pill--hands-on{background:#e0f2fe}.tutor-dashboard-l1-feedback-pill--step{background:#ccfbf1}.tutor-dashboard-l1-feedback-pill--independent{background:#d1fae5}.tutor-dashboard-l1-feedback-pill--others{background:#ffedd5}.tutor-dashboard-l1-feedback-pill--mot-games{background:#dbeafe}.tutor-dashboard-l1-feedback-pill--mot-design{background:#e0f7fa}.tutor-dashboard-l1-feedback-pill--mot-comp{background:#99f6e4}.tutor-dashboard-l1-feedback-pill--mot-recog{background:#d1fae5}.tutor-dashboard-l1-feedback-pill--mot-peer{background:#fef9c3}.tutor-dashboard-l1-feedback-pill--mot-others{background:#ffedd5}.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}.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 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}.airtable-like-view.tutor-calendar-page{padding:0}.tutor-calendar-page{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column;box-sizing:border-box}.tutor-calendar-month-select{padding:8px 14px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;font-size:14px;color:#1e293b;cursor:pointer}.tutor-calendar-loading,.tutor-calendar-error,.tutor-calendar-loading-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.tutor-calendar-loading-inline{padding:32px}.tutor-calendar-loading p,.tutor-calendar-error p,.tutor-calendar-loading-inline p{margin:0;color:#64748b;font-size:1rem}.tutor-calendar-room-link{color:#4f46e5;text-decoration:none;font-weight:500}.tutor-calendar-room-link:hover{text-decoration:underline}.tutor-calendar-error button{padding:8px 16px;border-radius:10px;border:1px solid rgba(99,102,241,.5);background:#6366f11a;color:#4f46e5;font-weight:500;cursor:pointer}.spinning{animation:tutor-calendar-spin .8s linear infinite}@keyframes tutor-calendar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tutor-calendar-table-wrapper.airtable-grid-container{flex:1;display:flex;flex-direction:column;overflow:auto;max-height:calc(100vh - 160px);background:#fff;margin:0 24px 24px;border:1px solid #e2e8f0;border-radius:8px}.tutor-calendar-table-wrapper .tutor-calendar-table{flex:1;min-height:200px}.tutor-calendar-table-wrapper table{background:#fff}.tutor-calendar-table{width:100%;border-collapse:collapse;min-width:800px}.tutor-calendar-table thead{position:sticky;top:0;z-index:10;background:#f8fafc!important;border-bottom:1px solid #e2e8f0}.tutor-calendar-table th,.tutor-calendar-table .tutor-calendar-th{padding:8px 12px;font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;min-width:100px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.tutor-calendar-table th span{display:inline-flex;align-items:center;gap:6px}.tutor-calendar-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .15s ease}.tutor-calendar-table tbody tr.tutor-calendar-data-row{background:#fff}.tutor-calendar-table tbody tr.tutor-calendar-data-row:hover{background:#f8fafc!important}.tutor-calendar-table td,.tutor-calendar-table .tutor-calendar-td{padding:8px 12px;font-size:13px;color:#1e293b;vertical-align:middle;max-width:280px;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.tutor-calendar-td.tutor-calendar-empty{border-right:none}.tutor-calendar-table .tutor-calendar-group-row{cursor:pointer;background:#f8fafc!important;font-weight:500!important;-webkit-user-select:none;user-select:none}.tutor-calendar-table .tutor-calendar-group-row .group-chevron{flex-shrink:0;color:#64748b}.tutor-calendar-table .tutor-calendar-group-row:hover{background:#f1f5f9!important}.tutor-calendar-table .tutor-calendar-group-cell{padding:8px 12px!important;border-bottom:1px solid #e2e8f0!important;border-right:1px solid #e2e8f0!important;vertical-align:middle}.tutor-calendar-group-header{display:flex;align-items:center;gap:10px}.tutor-calendar-group-label-block{display:flex;flex-direction:column;gap:2px}.tutor-calendar-group-label{font-size:11px;font-weight:500;color:#94a3b8;text-transform:none;letter-spacing:0}.tutor-calendar-group-value{font-size:14px;font-weight:600;color:#1e293b}.tutor-calendar-group-count{font-weight:500;color:#64748b;margin-left:6px}.tutor-calendar-table .tutor-calendar-slot-cell .tutor-calendar-group-header{padding-left:24px}.tutor-calendar-sum{color:#64748b;font-size:13px;font-weight:500;margin-left:auto}.tutor-calendar-pill-tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.tutor-calendar-pill-tag.pill-regular{background:#dbeafe;color:#1d4ed8}.tutor-calendar-pill-tag.pill-makeup{background:#dcfce7;color:#166534}.tutor-calendar-pill-tag.pill-present{background:#dbeafe;color:#1d4ed8}.tutor-calendar-pill-tag.pill-absent{background:#fee2e2;color:#b91c1c}.tutor-calendar-pill-tag.pill-default{background:#f1f5f9;color:#475569}.tutor-calendar-checkbox-wrap{display:inline-flex;align-items:center;justify-content:center}.tutor-calendar-checkbox{width:18px;height:18px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tutor-calendar-checkbox.checked{background:#22c55e;border-color:#22c55e}.tutor-calendar-checkmark{width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.tutor-calendar-table td.highlight{background:#ecfdf5}.tutor-calendar-table tbody tr:hover td.highlight{background:#d1fae5}.col-datetime{min-width:180px}.col-day{min-width:100px}.col-tutor{min-width:140px}.col-count{min-width:100px;text-align:center}.col-country{min-width:160px}.col-fullname{min-width:200px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-program{min-width:120px}.col-lessons{min-width:140px}.col-lesson-num{min-width:90px}.col-notes{min-width:120px}.col-status{min-width:100px}.tutor-calendar-country-pills{display:flex;flex-wrap:wrap;gap:6px}.tutor-calendar-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:.8rem;font-weight:500}.tutor-calendar-pill.pill-pink{background:#fce7f3;color:#9d174d}.tutor-calendar-pill.pill-teal{background:#ccfbf1;color:#0f766e}.tutor-calendar-pill.pill-blue{background:#dbeafe;color:#1d4ed8}.tutor-calendar-pill.pill-orange{background:#ffedd5;color:#c2410c}.tutor-calendar-pill.pill-default{background:#f1f5f9;color:#475569}.parent-dashboard{height:100vh;overflow:hidden;background:linear-gradient(180deg,#f0f9ff,#e0f2fe);font-family:Poppins,Segoe UI,sans-serif;display:flex;flex-direction:column}.pp-shell{display:flex;height:100vh;overflow:hidden;background:linear-gradient(180deg,#5ec6de,#9cdcee 40%,#d4eef7 75%,#eaf6fb);font-family:Poppins,Segoe UI,sans-serif}.pp-sidenav{width:208px;min-height:100vh;background:#ffffff8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-right:1px solid rgba(255,255,255,.6);display:flex;flex-direction:column;flex-shrink:0}.pp-sidenav-logo{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.5)}.pp-sidenav-logo-icon{width:36px;height:36px;border-radius:50%;background:#1e3a5f;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.pp-sidenav-logo-icon img{width:26px;height:26px;object-fit:contain}.pp-sidenav-logo-title{font-weight:700;font-size:.9rem;color:#0f172a;line-height:1.2}.pp-sidenav-logo-sub{font-size:.75rem;color:#94a3b8;line-height:1.2}.pp-sidenav-nav{padding:12px;display:flex;flex-direction:column;gap:4px}.pp-sidenav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:.875rem;font-weight:500;color:#64748b;background:transparent;border:none;cursor:pointer;text-align:left;width:100%;transition:background .15s,color .15s}.pp-sidenav-item:hover{background:#ffffff80;color:#1e293b}.pp-sidenav-item--active{background:#fffc;color:#0f172a;font-weight:700}.pp-sidenav-item--active:hover{background:#ffffffe6;color:#0f172a}.pp-right{flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent}.pp-topbar{background:transparent;border-bottom:none;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.pp-topbar-right{display:flex;align-items:center;gap:12px}.pp-topbar-user{display:flex;flex-direction:column;align-items:flex-end;gap:1px}@media(max-width:768px){.pp-topbar{justify-content:flex-start}.pp-topbar-right{flex-direction:row-reverse}.pp-topbar-user{align-items:flex-start}}.pp-topbar-name{font-size:.875rem;font-weight:700;color:#0f172a}.pp-topbar-role{font-size:.72rem;color:#94a3b8}.pp-user-menu{position:relative}.pp-main{flex:1;overflow-y:auto;padding:24px}.pp-dashboard-content{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.pp-welcome-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;text-align:left}.pp-welcome-sub{font-size:.9rem;color:#64748b;margin:4px 0 0;text-align:left}.pp-student-tabs{display:flex;gap:12px;flex-wrap:wrap;background:#fff;border-radius:20px;padding:12px}.pp-student-tab{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#4cb8d0;border:1px solid transparent;border-radius:14px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;min-width:160px}.pp-student-tab:hover{border-color:#7c3aed66}.pp-student-tab:focus,.pp-student-tab:focus-visible{outline:none}.pp-student-tab--active,.pp-student-tab--active:focus,.pp-student-tab--active:focus-visible{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed;outline:none}.pp-student-tab-avatar{width:36px;height:36px;border-radius:50%;background:#c8dbe5;color:#0f172a;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.pp-student-tab-name{font-size:.875rem;font-weight:700;color:#fff}.pp-student-tab-status{font-size:.75rem;font-weight:600;margin-top:2px}.pp-student-tab-status--enrolled,.pp-student-tab-status--graduated{color:#4ade80}.pp-student-tab-status--pause{color:#fbbf24}.pp-student-tab-status--quit{color:#fca5a5}.pp-student-tab-lessons{font-size:.72rem;color:#ffffffbf;margin-top:2px}.pp-card{background:#fff;border:none;border-radius:20px;padding:20px;box-shadow:0 2px 12px #00000012}.pp-card-flex{display:flex;flex-direction:column}.pp-card-title{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:2px}.pp-card-sub{font-size:.85rem;color:#64748b;margin-bottom:16px}.pp-grid-5{display:grid;grid-template-columns:3fr 2fr;gap:16px}.pp-section-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.pp-section-label-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.pp-progress-row{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:6px}.pp-progress-label{color:#64748b;text-align:left}.pp-progress-pct{font-weight:600;color:#1e293b}.pp-progress-bar{width:100%;height:8px;background:#f1f5f9;border-radius:99px;overflow:hidden;margin-bottom:10px}.pp-progress-fill{height:100%;background:#22c55e;border-radius:99px;transition:width .4s ease}.pp-next-lesson-hint{font-size:.78rem;color:#94a3b8}.pp-next-lesson-hint span{color:#475569;font-weight:500}.pp-program-separator{margin:16px 0;border:none;border-top:1px solid #e2e8f0}.pp-course-tests{margin-top:12px}.pp-course-tests-label{font-size:.65rem;font-weight:700;letter-spacing:.07em;color:#94a3b8;text-transform:uppercase;text-align:left;margin-bottom:8px}.pp-course-tests-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.pp-test-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 8px;border:1px solid #e5c84a;border-radius:14px;background:#fde68a;min-width:54px;gap:3px;flex-shrink:0}.pp-test-card--done{border-color:#e5c84a;background:#fde68a}.pp-test-card-check--done,.pp-test-card-check--pending{color:#22c55e}.pp-test-card-num{font-size:.72rem;color:#475569;font-weight:600;text-align:center;white-space:nowrap}.pp-test-card-score{font-size:.95rem;font-weight:700;color:#16a34a;text-align:center}.pp-table-group-header>td{background:#f1f5f9;font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;padding:6px 16px;border-top:2px solid #e2e8f0}.pp-next-lesson-block{margin-top:10px;padding-top:12px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pp-next-lesson-heading{font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.35;text-align:left}.pp-next-lesson-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.pp-next-lesson-chip{display:inline-block;padding:2px 10px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:99px;font-size:.72rem;font-weight:500}.pp-next-lesson-details{font-size:.8rem;color:#64748b;line-height:1.6;margin:0;text-align:left}.pp-badge-blue{display:inline-block;padding:2px 10px;background:#eff6ff;color:#2563eb;border-radius:99px;font-size:.75rem;font-weight:600}.pp-next-class-info{display:flex;flex-direction:column;gap:8px;flex:1;margin-bottom:14px}.pp-next-class-row{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#374151}.pp-icon-gray{color:#9ca3af;flex-shrink:0}.pp-zoom-btn{display:flex;align-items:center;justify-content:center;background:#4cb8d0;color:#fff;font-size:.875rem;font-weight:600;padding:12px 16px;border-radius:14px;text-decoration:none;transition:background .15s;margin-top:auto}.pp-zoom-btn:hover{background:#3aacc6;color:#fff}.pp-zoom-btn--disabled{background:#e2e8f0;color:#94a3b8;cursor:default;pointer-events:none}.pp-section-heading{font-size:1.1rem;font-weight:800;color:#0f172a;text-align:left;margin-bottom:-8px}.pp-package-card{display:flex;align-items:center;justify-content:space-between}.pp-package-title{font-size:.875rem;font-weight:700;color:#0f172a}.pp-package-sub{font-size:.875rem;color:#64748b;margin-top:4px}.pp-program-chip--empty{color:#94a3b8}.pp-recent-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pp-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px}@media(max-width:768px){.pp-recent-projects{grid-template-columns:repeat(3,1fr);gap:8px}.pp-project-card{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 8px;gap:6px}.pp-project-name{font-size:.62rem}}.pp-project-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.pp-project-bg--red{background:#fef2f2}.pp-project-bg--pink{background:#fdf2f8}.pp-project-bg--blue{background:#eff6ff}.pp-project-name{font-size:.875rem;font-weight:500;color:#1e293b}.pp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pp-table{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}.pp-table thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}.pp-table th{padding:11px 16px;text-align:left;font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.pp-table td{padding:11px 16px;color:#374151;border-bottom:1px solid #f1f5f9}.pp-table tbody tr:last-child td{border-bottom:none}.pp-table tbody tr:hover td{background:#f8fafc}.pp-td-bold{font-weight:600;color:#0f172a!important}.pp-td-nowrap{white-space:nowrap}.pp-table-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.72rem;font-weight:600}.pp-table-badge--completed{background:#dcfce7;color:#16a34a}.pp-table-badge--scheduled{background:#eff6ff;color:#2563eb}.pp-table-badge--cancelled{background:#fee2e2;color:#dc2626}.pp-table-badge--rescheduled{background:#fef9c3;color:#ca8a04}.pp-table-badge--enroll-enrolled{background:#dcfce7;color:#16a34a}.pp-table-badge--enroll-graduated{background:#d1fae5;color:#059669}.pp-table-badge--enroll-pause{background:#fff7ed;color:#d97706}.pp-table-badge--enroll-quit{background:#fee2e2;color:#dc2626}.pp-section-sub{font-size:.875rem;color:#64748b;margin-top:-8px;margin-bottom:0}.pp-lesson-balance{display:grid;grid-template-columns:repeat(3,1fr)}.pp-balance-cell{padding:20px;border-right:1px solid #f1f5f9}.pp-balance-cell:last-child{border-right:none}.pp-balance-progress-bar{height:8px;background:#f1f5f9;overflow:hidden}.pp-balance-progress-fill{height:100%;background:#22c55e;transition:width .4s ease}.pp-balance-label{font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.pp-balance-value{font-size:2rem;font-weight:700;color:#0f172a;line-height:1.1}.pp-balance-value--blue{color:#2563eb}.pp-balance-value--green{color:#16a34a}.pp-balance-value--black{color:#0f172a}.pp-balance-sub{font-size:.75rem;color:#94a3b8;margin-top:4px}.pp-progress-snapshot{display:grid;grid-template-columns:1fr;gap:14px}.pp-snapshot-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.pp-snapshot-card--center{text-align:center}.pp-snapshot-emoji{font-size:1.5rem;margin-bottom:6px}.pp-snapshot-code{font-size:.85rem;font-weight:700;color:#2563eb;margin-bottom:6px}.pp-snapshot-value{font-size:1.8rem;font-weight:700;color:#0f172a}.pp-snapshot-label{font-size:.75rem;color:#94a3b8;margin-top:4px}.pp-snapshot-caption{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:#d97706;margin-bottom:10px}.pp-programs-list{display:flex;flex-wrap:wrap;gap:6px}.pp-program-chip{font-size:.78rem;background:#f1f5f9;color:#475569;padding:4px 10px;border-radius:99px}.pp-bottomnav{display:none}@media(max-width:768px){.pp-shell{flex-direction:column;height:100vh;overflow:hidden}.pp-right{flex:1;overflow-y:auto;overflow-x:hidden;background:transparent}.pp-sidenav{display:none}.pp-grid-5,.pp-progress-snapshot{grid-template-columns:1fr}.pp-student-tabs{overflow-x:auto;flex-wrap:nowrap}.pp-main{overflow-y:visible;padding:16px;box-sizing:border-box;width:100%;max-width:100vw}.pp-dashboard-content{box-sizing:border-box;width:100%;max-width:100%;margin:0}.pp-col-mobile-hide{display:none}.pp-bottomnav{display:flex;flex-shrink:0;background:#fbbf24;border-radius:40px;margin:8px 16px 12px;padding:4px;box-shadow:0 4px 20px #fbbf2473;border:none}.pp-bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 0 8px;border:none;outline:none;background:transparent;color:#784600a6;font-size:.68rem;font-weight:600;cursor:pointer;transition:color .15s;border-radius:36px}.pp-bottomnav-item:focus{outline:none}.pp-bottomnav-item--active{color:#7c3500;background:#ffffff4d}.pp-bottomnav-item--active svg{stroke:#7c3500}}.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}@media(min-width:769px){.pp-lesson-acc-header{gap:16px}.pp-lesson-acc-meta{flex-direction:row;flex-wrap:wrap;gap:16px}.pp-lesson-acc-program{font-size:.9rem}.pp-lesson-acc-tutor,.pp-lesson-acc-date{font-size:.8rem}}.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}@media(max-width:768px){.parent-dropdown{right:auto;left:0}}.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}.pp-report-cards{display:flex;flex-direction:column;gap:12px}.pp-report-card{background:#fff;border:none;border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 6px #0000000f}.pp-report-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-report-card-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.pp-report-card-program{font-size:.9rem;font-weight:700;color:#0f172a}.pp-report-card-date{font-size:.82rem;font-weight:400;color:#94a3b8}.pp-report-card-title-group{display:flex;flex-direction:row;align-items:center;gap:8px}.pp-report-card-test-number{font-size:.82rem;font-weight:700;color:#0f172a}.pp-report-card-body{font-size:.87rem;color:#475569;line-height:1.65;text-align:left}.pp-report-card-body--preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pp-report-card-score{font-size:.88rem;font-weight:700;color:#0f172a;white-space:nowrap;flex-shrink:0}.pp-report-card-score--none{color:#cbd5e1;font-weight:400}.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}}.pp-ongoing-course-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.pp-ongoing-course-info{flex:1;min-width:0}.pp-ongoing-course-name{font-size:.95rem;font-weight:700;color:#0f172a;margin-bottom:2px}.pp-ongoing-course-sub{font-size:.78rem;color:#64748b;margin-bottom:2px}.pp-view-more-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:transparent;color:#0f172a;border:none;border-radius:99px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s}.pp-view-more-btn:hover{background:#f1f5f9}.pp-feedback-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pp-feedback-program-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pp-feedback-program{font-size:.95rem;font-weight:700;color:#0f172a}.pp-feedback-score-badge{display:inline-flex;align-items:center;padding:2px 12px;background:#4cb8d0;color:#fff;border-radius:99px;font-size:.82rem;font-weight:700;border:none}.pp-skill-rows{display:flex;flex-direction:column;gap:8px}.pp-skill-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#b8def0;border-radius:10px}.pp-skill-label{font-size:.82rem;color:#334155;font-weight:500}.pp-star-rating{display:flex;gap:3px;flex-shrink:0}.pp-star{font-size:1rem;line-height:1}.pp-star--filled{color:#f59e0b}.pp-star--empty{color:#cbd5e1}.pp-back-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;padding:6px 0;transition:opacity .15s}.pp-back-btn:hover{opacity:.8;color:#fff}@media(max-width:768px){.pp-welcome{display:none}.pp-ongoing-course-row{gap:8px;padding:8px 0}.pp-ongoing-course-name{font-size:.85rem}.pp-ongoing-course-sub{font-size:.72rem}.pp-card{padding:14px}.pp-program-separator{margin:10px 0}.pp-progress-bar{height:6px}.pp-balance-cell{padding:12px 10px}.pp-balance-label{font-size:.62rem}.pp-balance-value{font-size:1.4rem}.pp-balance-sub{font-size:.65rem}.pp-view-more-btn{padding:5px 10px;font-size:.72rem}.pp-student-tabs{padding:10px;border-radius:16px}.pp-student-tab{min-width:130px;padding:10px 12px}.pp-student-tab-lessons{display:none}}.pp-lesson-history-table-wrap{display:block}.pp-lesson-history-accordion-wrap{display:none}@media(max-width:768px){.pp-lesson-history-table-wrap{display:none}.pp-lesson-history-accordion-wrap{display:block}}.pp-lesson-accordion{display:flex;flex-direction:column;gap:10px}.pp-lesson-acc-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #00000012}.pp-lesson-acc-header{width:100%;display:flex;align-items:center;gap:8px;padding:11px 14px;background:transparent;border:none;outline:none;cursor:pointer;text-align:left}.pp-lesson-acc-header:focus,.pp-lesson-acc-header:focus-visible{outline:none}.pp-lesson-acc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pp-lesson-acc-program{font-size:.82rem;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-lesson-acc-meta{display:flex;gap:8px;align-items:center}.pp-lesson-acc-tutor{font-size:.7rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.pp-lesson-acc-date{font-size:.7rem;color:#94a3b8;white-space:nowrap;flex-shrink:0}.pp-lesson-acc-chevron{display:flex;align-items:center;color:#94a3b8;flex-shrink:0;margin-left:6px}.pp-lesson-acc-body{padding:12px 16px 16px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:8px}.pp-lesson-acc-title{font-size:.9rem;font-weight:700;color:#0f172a;text-align:left}.pp-lesson-acc-details{font-size:.85rem;color:#475569;line-height:1.65;margin:0;text-align:left}.pp-tutor-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:0}.pp-tutor-info-card{background:#fff;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 4px #00000012}.pp-tutor-info-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;color:#94a3b8;text-transform:uppercase}.pp-tutor-info-value{font-size:.92rem;font-weight:600;color:#0f172a;word-break:break-word}.pp-tutor-comments-card{display:flex;flex-direction:column;gap:10px}.pp-tutor-comment-meta-row{display:flex;align-items:center;gap:10px}.pp-tutor-comment-test-number{font-size:.85rem;font-weight:700;color:#0f172a}.pp-tutor-comment-date{font-size:.75rem;color:#94a3b8;font-weight:500}.pp-tutor-comment-text{font-size:.9rem;color:#334155;line-height:1.65;margin:0;text-align:left}.sh-container{padding:28px 32px;display:flex;flex-direction:column;gap:32px;font-family:Poppins,Segoe UI,sans-serif}.sh-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.sh-hero{background:linear-gradient(145deg,#dce8ff,#c8d9ff 60%,#d4e4ff);border-radius:20px;padding:28px 28px 24px;position:relative;overflow:hidden;box-shadow:0 4px 20px -6px #3b82f633}.sh-hero-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sh-star{position:absolute;color:#f59f00;font-size:18px;opacity:.65;animation:sh-float 4s ease-in-out infinite}.sh-star-1{top:12px;right:20px;font-size:22px;animation-delay:0s}.sh-star-2{top:50%;right:14px;font-size:14px;animation-delay:1.2s}.sh-star-3{top:20px;right:60px;font-size:11px;animation-delay:.6s}.sh-star-4{bottom:100px;right:30px;font-size:10px;animation-delay:2s}@keyframes sh-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sh-hero-content{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px;position:relative;z-index:1}.sh-hero-avatar{flex-shrink:0;width:90px;height:90px;border-radius:50%;background:linear-gradient(145deg,#a5c8ff,#7fb3ff);border:3px solid rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px -4px #3b82f659;overflow:hidden}.sh-avatar-figure{display:flex;flex-direction:column;align-items:center;line-height:1}.sh-avatar-crown{font-size:20px;margin-bottom:-4px}.sh-avatar-body{font-size:38px}.sh-hero-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sh-student-name{margin:0;font-size:1.6rem;font-weight:700;color:#1e293b;line-height:1.2}.sh-name-accent{color:#3b82f6}.sh-rank-badge{display:inline-block;font-size:.75rem;font-weight:700;color:#64748b;letter-spacing:1px;text-transform:uppercase}.sh-hero-badges{display:flex;gap:10px;flex-wrap:wrap}.sh-badge-xp,.sh-badge-streak{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700}.sh-badge-xp{background:#4b5563;color:#fff}.sh-badge-streak{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.sh-next-rank-row{font-size:.85rem;color:#475569;font-weight:500;display:flex;justify-content:space-between;align-items:center}.sh-next-rank-row strong{color:#1e293b}.sh-xp-go{color:#64748b}.sh-xp-bar-track{width:100%;height:8px;background:#94a3b84d;border-radius:6px;overflow:hidden}.sh-xp-bar-fill{height:100%;background:linear-gradient(90deg,#4f9cf9,#3b82f6);border-radius:6px;transition:width .4s ease}.sh-streak-card{background:#fff;border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;box-shadow:0 2px 10px -4px #0f172a1a}.sh-streak-header{display:flex;align-items:center;justify-content:space-between}.sh-streak-title{font-size:.95rem;font-weight:700;color:#1e293b}.sh-streak-week-badge{padding:5px 12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:16px;font-size:.8rem;font-weight:700}.sh-streak-progress-row{display:flex;justify-content:space-between;font-size:.85rem;color:#475569}.sh-streak-pct{font-weight:700;color:#f97316}.sh-streak-bar-track{height:10px;background:#94a3b840;border-radius:6px;overflow:hidden}.sh-streak-bar-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f97316);border-radius:6px;transition:width .4s ease}.sh-streak-hint{font-size:.82rem;color:#64748b}.sh-lessons-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px -6px #0f172a1f;display:flex;flex-direction:column;gap:16px}.sh-lessons-title{margin:0;font-size:1.05rem;font-weight:700;color:#1e293b;text-align:left;align-self:flex-start}.sh-lessons-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;border-radius:10px;padding:3px;gap:3px}.sh-tab{padding:8px 0;border:none;border-radius:8px;background:transparent;font-family:inherit;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.sh-tab.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px -2px #3b82f666}.sh-lessons-list{display:flex;flex-direction:column;gap:0}.sh-lesson-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #f1f5f9}.sh-lesson-item:last-child{border-bottom:none;padding-bottom:0}.sh-lesson-details{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.sh-lesson-name{font-size:.95rem;font-weight:700;color:#1e293b;text-align:left}.sh-lesson-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sh-lesson-meta span{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:#64748b}.sh-lesson-meta svg{flex-shrink:0;color:#94a3b8}.sh-join-btn{flex-shrink:0;padding:9px 18px;background:#38bdf8;color:#fff;border:none;border-radius:20px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease;white-space:nowrap}.sh-join-btn:hover{background:#0ea5e9;transform:translateY(-1px)}.sh-view-recording-btn{flex-shrink:0;padding:9px 18px;background:#7c3aed;color:#fff;border:none;border-radius:20px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease;white-space:nowrap}.sh-view-recording-btn:hover{background:#6d28d9;transform:translateY(-1px)}.sh-hof{background:#0e0e1c;border-radius:20px;padding:36px 32px 40px;position:relative;overflow:hidden;box-shadow:0 8px 32px -8px #00000080}.sh-hof:before{content:"· · ✦ · · · ✦ · · · · ✦ · · ✦ · ·";position:absolute;top:12px;left:0;right:0;text-align:center;font-size:10px;color:#ffffff2e;letter-spacing:6px;pointer-events:none}.sh-hof-header{text-align:center;margin-bottom:28px}.sh-hof-title{margin:0 0 6px;font-size:1.4rem;font-weight:800;color:#f3f4f6}.sh-hof-subtitle{margin:0;font-size:.9rem;font-weight:600;color:#4fc3f7}.sh-hof-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.sh-rank-col{border-radius:14px;border:2px solid;overflow:hidden;display:flex;flex-direction:column}.sh-rank-header{display:flex;flex-direction:column;align-items:center;padding:18px 10px 14px;gap:4px}.sh-rank-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:6px}.sh-rank-name{font-size:.85rem;font-weight:800;letter-spacing:.5px}.sh-rank-xp{font-size:.72rem;font-weight:500;color:#ffffff80}.sh-rank-students{display:flex;flex-direction:column;gap:6px;padding:0 10px 16px}.sh-rank-student{text-align:center;padding:7px 10px;border-radius:8px;font-size:.78rem;font-weight:500;color:#ffffffd9}.sh-rank-student.sh-highlighted{background:#b8860b;color:#ffe066;font-weight:700}.sh-rank-empty{text-align:center;padding:10px;font-size:.75rem;color:#ffffff59;font-style:italic}.sh-rank-rookie{background:#1e1e2e;border-color:#4b5563}.sh-rank-rookie .sh-rank-icon{background:#374151}.sh-rank-rookie .sh-rank-name{color:#d1d5db}.sh-rank-rookie .sh-rank-student{background:#4b556366}.sh-rank-pro{background:#1a2240;border-color:#3b5bdb}.sh-rank-pro .sh-rank-icon{background:#3b5bdb}.sh-rank-pro .sh-rank-name{color:#93c5fd}.sh-rank-pro .sh-rank-student{background:#3b5bdb4d}.sh-rank-elite{background:#122a1a;border-color:#2f9e44}.sh-rank-elite .sh-rank-icon{background:#2f9e44}.sh-rank-elite .sh-rank-name{color:#6ee7b7}.sh-rank-elite .sh-rank-student{background:#2f9e4459}.sh-rank-champion{background:#1e1230;border-color:#7950f2}.sh-rank-champion .sh-rank-icon{background:#7950f2}.sh-rank-champion .sh-rank-name{color:#c4b5fd}.sh-rank-champion .sh-rank-student{background:#7950f259}.sh-rank-legendary{background:#1e1500;border-color:#f59f00}.sh-rank-legendary .sh-rank-icon{background:#b8860b}.sh-rank-legendary .sh-rank-name{color:#ffd43b}.sh-rank-legendary .sh-rank-student{background:#f59f0033}.sstub-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;color:#94a3b8;gap:8px}.sstub-icon{font-size:40px}.sstub-desc{margin:0;font-size:.9rem}@media(max-width:900px){.sh-top-grid{grid-template-columns:1fr}.sh-hof-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.sh-container{padding:16px}.sh-hof-grid{grid-template-columns:repeat(2,1fr)}}.sh-course-progress{background:#fff;border-radius:18px;padding:28px 32px;box-shadow:0 2px 16px -4px #0f172a14}.sh-cp-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.sh-cp-title-icon{font-size:1.3rem;color:#38bdf8}.sh-cp-title{margin:0;font-size:1.15rem;font-weight:700;color:#1e293b}.sh-cp-list{display:flex;flex-direction:column;gap:28px}.sh-cp-card{display:flex;flex-direction:column;gap:10px}.sh-cp-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.sh-cp-card-info{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.sh-cp-program-name{font-size:1rem;font-weight:700;color:#1e293b}.sh-cp-lesson-name{font-size:.82rem;color:#64748b}.sh-cp-xp-badge{display:inline-block;padding:4px 14px;border-radius:20px;background:#d1fae5;color:#059669;font-size:.82rem;font-weight:700;white-space:nowrap;flex-shrink:0}.sh-cp-progress-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#64748b}.sh-cp-bar-track{width:100%;height:8px;background:#e2e8f0;border-radius:6px;overflow:hidden}.sh-cp-bar-fill{height:100%;border-radius:6px;transition:width .4s ease}.sh-cp-bar-fill--orange{background:linear-gradient(90deg,#f97316,#ef4444)}.sh-cp-bar-fill--green{background:linear-gradient(90deg,#22c55e,#16a34a)}.sh-cp-bar-fill--blue{background:linear-gradient(90deg,#38bdf8,#3b82f6)}.sh-cp-bar-fill--purple{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.sh-cp-btn-row{display:flex;align-items:center;gap:12px;margin-top:2px}.sh-cp-pct-badge{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #e2e8f0;font-size:.78rem;font-weight:700;color:#475569;flex-shrink:0}.sh-cp-continue-btn{flex:1;height:44px;border:none;border-radius:22px;background:linear-gradient(90deg,#38bdf8,#0ea5e9);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s}.sh-cp-continue-btn:hover:not(:disabled){opacity:.88}.sh-cp-continue-btn:disabled{opacity:.45;cursor:not-allowed}.smc-container{width:100%;padding:32px 28px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.smc-page-header{margin-bottom:4px;text-align:left}.smc-page-title{margin:0 0 4px;font-size:1.6rem;font-weight:800;color:#1e293b;text-align:left}.smc-page-subtitle{margin:0;font-size:.88rem;color:#64748b;text-align:left}.smc-course-card{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 2px 16px -4px #0f172a1a;box-sizing:border-box}.smc-course-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none}.smc-course-title{margin:0;font-size:1.1rem;font-weight:700;color:#fff}.smc-chevron{font-size:.9rem;color:#ffffffd9;transition:transform .2s ease;display:inline-block}.smc-chevron--collapsed{transform:rotate(180deg)}.smc-course-body{background:#fff;border:1.5px solid #e2e8f0;border-top:none;border-radius:0 0 14px 14px;padding:20px 24px 24px}.smc-course-desc{margin:0 0 18px;font-size:.85rem;color:#64748b;line-height:1.6;min-height:0}.smc-roadmap-label{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;color:#475569;margin-bottom:16px}.smc-roadmap-icon{font-size:1rem}.smc-lesson-list{display:flex;flex-direction:column;gap:0}.smc-lesson-row{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid #f1f5f9}.smc-lesson-row:last-child{border-bottom:none}.smc-lesson-badge{flex-shrink:0;padding-top:2px}.smc-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.smc-badge--done{background:#fff;border:2.5px solid #22c55e}.smc-badge--next{color:#fff;font-size:.9rem}.smc-badge--locked{background:#f1f5f9;font-size:1rem}.smc-lesson-info{flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;min-width:0}.smc-lesson--locked .smc-lesson-name,.smc-lesson--locked .smc-lesson-datetime,.smc-lesson--locked .smc-lesson-xp{color:#94a3b8}.smc-lesson--absent .smc-lesson-name{color:#9a3412}.smc-badge--absent{background:#fff7ed;border:1.5px solid #f97316;color:#c2410c;font-size:.85rem;font-weight:800}.smc-lesson-name{font-size:.95rem;font-weight:600;color:#1e293b;line-height:1.3}.smc-lesson-tags{display:flex;flex-wrap:wrap;gap:5px}.smc-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:600;background:#e0f2fe;color:#0369a1}.smc-lesson--locked .smc-tag{background:#f1f5f9;color:#94a3b8}.smc-lesson-xp{font-size:.78rem;color:#64748b}.smc-lesson-datetime{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:.78rem;color:#64748b}.smc-lesson-datetime span{display:flex;align-items:center;gap:4px}.smc-lesson-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.smc-btn-completed{padding:6px 14px;border:1.5px solid #22c55e;border-radius:20px;background:#f0fdf4;color:#16a34a;font-size:.8rem;font-weight:700;cursor:default;white-space:nowrap}.smc-btn-absent{padding:6px 14px;border:1.5px solid #f97316;border-radius:20px;background:#fff7ed;color:#c2410c;font-size:.8rem;font-weight:700;cursor:default;white-space:nowrap}.smc-btn-join{padding:6px 16px;border:none;border-radius:20px;background:#3b82f6;color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .2s;white-space:nowrap}.smc-btn-join:hover:not(:disabled){opacity:.85}.smc-btn-join:disabled{opacity:.45;cursor:not-allowed}.smc-btn-notes{padding:5px 16px;border:1.5px solid #cbd5e1;border-radius:20px;background:#fff;color:#475569;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .2s}.smc-btn-notes:hover{border-color:#94a3b8}.smc-lock-icon{font-size:1rem;color:#cbd5e1;padding-top:2px}.smc-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:smc-shimmer 1.4s infinite}.smc-skeleton-header{background:#e2e8f0!important}@keyframes smc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:600px){.smc-container{padding:16px}.smc-course-header{padding:14px 16px}.smc-course-body{padding:16px}.smc-btn-join,.smc-btn-notes{font-size:.75rem;padding:5px 12px}}.sa-container{width:100%;max-width:100%;padding:32px 28px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.sa-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:sa-shimmer 1.4s infinite;display:block}@keyframes sa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sa-hero-card{display:flex;align-items:flex-start;gap:24px;background:#fff;border-radius:20px;padding:28px 32px;box-shadow:0 2px 16px -4px #00000014;border:1px solid #e2e8f0}.sa-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#ede9fe);border:3px solid #bfdbfe;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sa-avatar-emoji{font-size:2.6rem;line-height:1}.sa-hero-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.sa-hero-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sa-hero-name{margin:0;font-size:1.6rem;font-weight:800;color:#1e293b;line-height:1.2}.sa-name-accent{color:#1e293b}.sa-child-id-badge{padding:2px 10px;border-radius:20px;border:1.5px solid #cbd5e1;font-size:.78rem;font-weight:600;color:#475569;background:#f8fafc;white-space:nowrap}.sa-level-badge{padding:3px 12px;border-radius:20px;font-size:.78rem;font-weight:800;color:#fff;white-space:nowrap;letter-spacing:.03em}.sa-hero-joined{font-size:.82rem;color:#64748b;font-weight:600;text-align:left;margin-top:2px}.sa-hero-sub{font-size:.83rem;color:#94a3b8;margin-top:1px}.sa-hero-stats-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:6px;font-size:.88rem;font-weight:600;color:#334155}.sa-hero-stats-row span{display:flex;align-items:center;gap:5px}.sa-streak-panel{display:flex;flex-direction:column;align-items:flex-end;gap:4px;width:45%;min-width:320px;flex-shrink:0}.sa-streak-flame{font-size:2.2rem;line-height:1}.sa-streak-count-label{font-size:1.35rem;font-weight:900;color:#16a34a}.sa-streak-personal-best{font-size:.8rem;color:#64748b;margin-bottom:8px}.sa-streak-bar-wrap{width:100%;position:relative}.sa-streak-goal-label{font-size:.72rem;color:#94a3b8;text-align:right;margin-bottom:4px}.sa-streak-bar-track{position:relative;height:8px;background:#e2e8f0;border-radius:20px;overflow:visible}.sa-streak-bar-track:before{content:"";position:absolute;inset:0;border-radius:20px;overflow:hidden;pointer-events:none}.sa-streak-bar-fill{position:absolute;top:0;left:0;height:100%;max-width:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:20px;transition:width .6s ease;z-index:1}.sa-streak-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#cbd5e1;border:2px solid #ffffff;z-index:3}.sa-streak-dot--passed{background:#f59e0b;border-color:#fff}.sa-streak-labels{position:relative;height:20px;margin-top:4px}.sa-streak-label-item{position:absolute;transform:translate(-50%);font-size:.7rem;color:#94a3b8;white-space:nowrap}.sa-streak-hint{font-size:.75rem;color:#ef4444;margin-top:6px;text-align:right}.sa-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:700px){.sa-stats-grid{grid-template-columns:repeat(2,1fr)}}.sa-stat-card{border-radius:16px;padding:22px 20px 18px;display:flex;flex-direction:column;gap:4px}.sa-stat-xp{background:#fefce8}.sa-stat-lessons{background:#f0f9ff}.sa-stat-streak{background:#f0fdf4}.sa-stat-rank{background:#faf5ff}.sa-stat-icon{font-size:1.7rem;line-height:1;margin-bottom:8px}.sa-stat-value{font-size:1.8rem;font-weight:900;color:#1e293b;line-height:1.1}.sa-stat-label{font-size:.8rem;font-weight:600;color:#64748b;margin-top:2px}.sa-rank-card{background:#fff;border-radius:20px;padding:24px 28px 28px;box-shadow:0 2px 16px -4px #00000014;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.sa-rank-card-header{display:flex;align-items:center;justify-content:space-between}.sa-rank-title-row{display:flex;align-items:center;gap:8px}.sa-rank-title-icon{font-size:1rem}.sa-rank-title{font-size:1rem;font-weight:800;color:#1e293b}.sa-rank-next-label{font-size:.85rem;font-weight:700}.sa-rank-xp-row{display:flex;align-items:center;justify-content:space-between}.sa-rank-xp-current{font-size:.88rem;color:#475569;font-weight:600}.sa-rank-pct{font-size:.95rem;font-weight:800}.sa-rank-bar-track{height:10px;background:#e2e8f0;border-radius:20px;overflow:hidden}.sa-rank-bar-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#38bdf8,#7dd3fc);transition:width .6s ease}.sa-rank-milestones{display:flex;justify-content:space-between;margin-top:8px}.sa-rank-milestone{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.sa-rank-milestone-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1;border:2px solid #cbd5e1}.sa-rank-milestone--passed .sa-rank-milestone-dot{background:#38bdf8;border-color:#38bdf8}.sa-rank-milestone-name{font-size:.72rem;color:#94a3b8;font-weight:600;text-align:center}.sa-rank-milestone--passed .sa-rank-milestone-name{color:#64748b}.sa-rank-milestone-xp{font-size:.7rem;color:#94a3b8;text-align:center}.sa-rank-hint{font-size:.82rem;color:#475569;margin-top:4px}.sa-achievements-card{background:#fff;border-radius:20px;padding:24px 28px 28px;box-shadow:0 2px 16px -4px #00000014;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:20px}.sa-achievements-header{display:flex;align-items:center;gap:8px}.sa-achievements-icon{font-size:1.1rem}.sa-achievements-title{font-size:1rem;font-weight:800;color:#1e293b}.sa-achievements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.sa-achievements-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.sa-achievements-grid{grid-template-columns:1fr}}.sa-ach-item{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 14px;border-radius:14px;border:1.5px solid #e2e8f0;background:#f8fafc;transition:border-color .2s,background .2s}.sa-ach-item--earned{border-color:#d1fae5;background:#f0fdf4}.sa-ach-item--disabled{opacity:.5;filter:grayscale(.6);background:#f8fafc}.sa-ach-lock{position:absolute;top:10px;right:12px;font-size:.85rem;opacity:.4}.sa-ach-icon{font-size:1.7rem;line-height:1;flex-shrink:0;margin-top:2px}.sa-ach-item--disabled .sa-ach-icon{filter:grayscale(1)}.sa-ach-body{display:flex;flex-direction:column;gap:3px;min-width:0}.sa-ach-name{font-size:.92rem;font-weight:700;color:#1e293b}.sa-ach-item--disabled .sa-ach-name{color:#94a3b8}.sa-ach-desc{font-size:.78rem;color:#64748b;line-height:1.4}.sa-ach-item--disabled .sa-ach-desc{color:#b0bec5}.sa-ach-earned-badge{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:20px;background:#d1fae5;color:#065f46;font-size:.72rem;font-weight:700;letter-spacing:.02em}@media(max-width:768px){.sa-hero-card{flex-direction:column;align-items:center;text-align:center}.sa-hero-name-row,.sa-hero-stats-row{justify-content:center}.sa-streak-panel{align-items:center;min-width:unset;width:100%}.sa-streak-goal-label,.sa-streak-hint{text-align:center}}.slb-container{width:100%;max-width:680px;margin:0 auto;padding:32px 28px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.slb-page-header{text-align:left}.slb-page-title{margin:0 0 6px;font-size:1.6rem;font-weight:800;color:#1e293b}.slb-page-subtitle{margin:0;font-size:.88rem;color:#64748b}.slb-podium-card{display:flex;align-items:flex-end;justify-content:center;gap:16px;padding:32px 24px 28px;border-radius:20px;background:linear-gradient(135deg,#c4b5fd,#f9a8d4 30%,#fde68a 70%,#fb923c);box-shadow:0 4px 24px -4px #6366f140}.slb-podium-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:160px}.slb-podium-item--center{margin-bottom:12px}.slb-podium-medal{font-size:1.6rem;line-height:1}.slb-podium-avatar{width:64px;height:64px;border-radius:50%;background:#ffffff8c;border:3px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:#334155;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slb-podium-avatar--lg{width:80px;height:80px;font-size:1.6rem}.slb-podium-name{font-size:.88rem;font-weight:700;color:#1e293b;text-align:center;line-height:1.3;max-width:120px;word-break:break-word}.slb-podium-xp{font-size:.78rem;font-weight:600;color:#334155}.slb-podium-rank{padding:4px 14px;border-radius:20px;font-size:.85rem;font-weight:800;color:#fff}.slb-podium-rank--1{background:#f59e0b}.slb-podium-rank--2{background:#94a3b8}.slb-podium-rank--3{background:#cd7f32}.slb-list-card{border-radius:16px;overflow:hidden;box-shadow:0 2px 16px -4px #0f172a1a}.slb-list-header{background:linear-gradient(90deg,#38bdf8,#0ea5e9);color:#fff;font-size:1rem;font-weight:700;padding:14px 24px}.slb-list{background:#fff;border:1.5px solid #e2e8f0;border-top:none}.slb-list:last-child{border-radius:0 0 16px 16px}.slb-row{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid #f1f5f9;transition:background .15s}.slb-row:last-child{border-bottom:none}.slb-row--self{background:#eff6ff}.slb-rank{width:36px;flex-shrink:0;text-align:center}.slb-rank-medal{font-size:1.25rem}.slb-rank-num{font-size:.85rem;font-weight:700;color:#64748b}.slb-avatar{width:42px;height:42px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#475569;flex-shrink:0}.slb-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.slb-name{font-size:.95rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.slb-you-badge{display:inline-block;padding:1px 8px;border-radius:20px;background:#0ea5e9;color:#fff;font-size:.7rem;font-weight:700}.slb-level-badge{display:inline-block;padding:2px 12px;border-radius:20px;font-size:.72rem;font-weight:700;width:fit-content}.slb-stats{flex-shrink:0;text-align:right;display:flex;flex-direction:column;gap:3px}.slb-xp{font-size:.82rem;font-weight:700;color:#0ea5e9}.slb-streak{font-size:.78rem;font-weight:600;color:#f97316}.slb-gap{background:#fff;border:1.5px solid #e2e8f0;border-top:none;border-bottom:none;text-align:center;font-size:1rem;letter-spacing:4px;color:#94a3b8;padding:10px 0}.slb-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:slb-shimmer 1.4s infinite}.slb-skeleton-podium{height:220px;border-radius:20px}@keyframes slb-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:600px){.slb-container{padding:16px}.slb-podium-card{gap:10px;padding:24px 12px 20px}.slb-podium-avatar{width:52px;height:52px}.slb-podium-avatar--lg{width:66px;height:66px}.slb-row{padding:12px 14px}.slb-stats{display:none}}.sd-layout{display:flex;min-height:100vh;font-family:Poppins,Segoe UI,sans-serif;background:#eef2ff}.sd-sidebar{width:220px;min-width:220px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:24px 14px 16px;box-shadow:2px 0 8px -4px #0f172a14;position:sticky;top:0;height:100vh;overflow-y:auto}.sd-logo{display:flex;align-items:center;gap:10px;padding:0 6px}.sd-avatar-menu{position:relative;margin-bottom:32px}.sd-logo-trigger{background:transparent;border:none;font-family:inherit;cursor:pointer;text-align:left;width:100%}.sd-logo-icon{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4f9cf9,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px -2px #3b82f673}.sd-logo-text{display:flex;flex-direction:column;line-height:1.2}.sd-logo-name{font-size:.95rem;font-weight:700;color:#3b82f6}.sd-logo-sub{font-size:.8rem;font-weight:500;color:#1e293b}.sd-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sd-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:#475569;font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.sd-nav-item:hover{background:#f1f5f9;color:#1e293b}.sd-nav-item.active{background:#3b82f6;color:#fff;font-weight:600;box-shadow:0 2px 8px -2px #3b82f666}.sd-nav-item.active svg{color:#fff}.sd-nav-ask-ai{margin-top:8px;background:#facc15;color:#1e293b;font-weight:700}.sd-nav-ask-ai:hover{background:#fbbf24;color:#1e293b}.sd-sidebar-footer{padding-top:12px;border-top:1px solid #e2e8f0;margin-top:8px}.sd-avatar-btn{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px -2px #3b82f673;flex-shrink:0}.sd-avatar-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px -6px #0f172a2e;border:1px solid #e2e8f0;min-width:210px;z-index:2000;overflow:hidden}.sd-avatar-dropdown-user{padding:14px 16px 12px}.sd-avatar-dropdown-name{font-size:.9rem;font-weight:700;color:#0f172a;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-avatar-dropdown-email{font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-avatar-dropdown-divider{height:1px;background:#f1f5f9;margin:4px 0}.sd-avatar-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:10px 16px;border:none;background:transparent;font-family:inherit;font-size:.875rem;font-weight:500;color:#1e293b;cursor:pointer;text-align:left;transition:background .12s ease}.sd-avatar-dropdown-item:hover{background:#f8fafc}.sd-avatar-dropdown-item svg{color:#64748b;flex-shrink:0}.sd-avatar-dropdown-logout{color:#ef4444}.sd-avatar-dropdown-logout svg{color:#ef4444}.sd-avatar-dropdown-logout:hover{background:#fff5f5}.sd-main{flex:1;overflow-y:auto;background:#f1f5fd;min-width:0}@media(max-width:768px){.sd-layout{flex-direction:column}.sd-sidebar{width:100%;min-width:unset;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;padding:12px;gap:6px;border-right:none;border-bottom:1px solid #e2e8f0}.sd-logo{width:100%;margin-bottom:8px}.sd-nav{flex-direction:row;flex-wrap:wrap;flex:unset;width:100%}.sd-nav-item{flex:1 1 auto;justify-content:center;padding:8px 10px;font-size:.8rem}.sd-sidebar-footer{width:100%;border-top:none;border-top:1px solid #e2e8f0;padding-top:8px;margin-top:4px}}.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:var(--crm-bg, #f3f4f6);padding:24px 28px 32px;display:flex;flex-direction:column;overflow-x:hidden}.admin-main-scroll .entity-view-container{min-height:calc(100dvh - var(--crm-topbar-h) - 148px);padding:0;background:transparent}.entity-header{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 20px;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--crm-border-subtle, #e5e7eb)}.back-btn{background:var(--crm-surface, #fff);border:1px solid var(--crm-border-subtle, #e5e7eb);padding:8px 14px;border-radius:var(--crm-radius-sm, 6px);display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-family:inherit;font-weight:500;color:var(--crm-text-secondary, #374151);box-shadow:var(--crm-shadow-sm, 0 1px 2px rgba(17, 24, 39, .04));transition:background .15s,border-color .15s,box-shadow .15s}.back-btn:hover{background:var(--crm-surface-muted, #f9fafb);border-color:var(--crm-border, #d1d5db)}.entity-title{flex:1;min-width:0}.entity-title h1{font-size:1.5rem;font-weight:700;color:var(--crm-text, #111827);margin:0 0 6px;letter-spacing:-.03em;line-height:1.2}.entity-count{font-size:13px;color:var(--crm-text-muted, #6b7280);font-weight:500}.entity-actions{display:flex;gap:8px;flex-wrap:wrap}.refresh-btn{background:var(--crm-surface, #fff);border:1px solid var(--crm-border-subtle, #e5e7eb);padding:8px 14px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;gap:8px;color:var(--crm-text-secondary, #374151);font-size:13px;font-weight:500;font-family:inherit;box-shadow:var(--crm-shadow-sm)}.refresh-btn:hover{background:var(--crm-surface-muted, #f9fafb)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.create-btn{background:var(--crm-accent, #15803d);border:1px solid var(--crm-accent, #15803d);color:#fff;padding:8px 16px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:8px;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #15803d33}.create-btn:hover{background:var(--crm-accent-hover, #166534);border-color:var(--crm-accent-hover, #166534)}.entity-toolbar{background:var(--crm-surface-muted, #f9fafb);padding:12px 16px;border-radius:var(--crm-radius-lg, 12px);margin-bottom:18px;border:1px solid var(--crm-border-subtle, #e5e7eb)}.entity-body{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.table-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.info-banner{background:var(--crm-accent-muted, #ecfdf5);border:1px solid var(--crm-border-subtle, #e5e7eb);color:var(--crm-accent, #15803d);padding:10px 14px;border-radius:var(--crm-radius-sm, 6px);margin-bottom:16px;font-size:13px;display:flex;align-items:center;gap:8px}.search-box{display:flex;align-items:center;gap:10px;background:var(--crm-surface, #fff);padding:10px 14px;border-radius:var(--crm-radius, 8px);border:1px solid var(--crm-border-subtle, #e5e7eb);box-shadow:var(--crm-shadow-sm)}.search-box svg{color:var(--crm-text-muted, #6b7280)}.search-box input{flex:1;background:none;border:none;outline:none;font-size:14px;font-family:inherit;color:var(--crm-text, #111827)}.search-box input::placeholder{color:var(--crm-text-muted, #9ca3af)}.loading-state,.error-state{background:var(--crm-surface, #fff);padding:48px 24px;border-radius:var(--crm-radius-lg, 12px);text-align:center;border:1px solid var(--crm-border-subtle, #e5e7eb);box-shadow:var(--crm-shadow-sm)}.loading-state p,.error-state p{color:var(--crm-text-muted, #6b7280);margin-top:12px;font-size:14px}.error-state button{margin-top:16px;background:var(--crm-accent, #15803d);border:none;color:#fff;padding:8px 18px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit}.error-state button:hover{background:var(--crm-accent-hover, #166534)}.spinning{animation:spin 1s linear infinite}.table-container{background:var(--crm-surface, #fff);border-radius:var(--crm-radius-lg, 12px);overflow:hidden;border:1px solid var(--crm-border-subtle, #e5e7eb);box-shadow:var(--crm-shadow-sm)}.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:var(--crm-surface-table-header, #f3f4f6);border-bottom:1px solid var(--crm-border-subtle, #e5e7eb);position:sticky;top:0;z-index:10}.data-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--crm-text-table-head, #6b7280);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;min-width:120px;background:var(--crm-surface-table-header, #f3f4f6)}.data-table th:last-child{position:sticky;right:0;background:var(--crm-surface-table-header, #f3f4f6);box-shadow:-6px 0 12px -6px #11182714;z-index:11}.data-table tbody tr{border-bottom:1px solid var(--crm-border-table, #f3f4f6);cursor:pointer;transition:background .1s}.data-table tbody tr:nth-child(2n){background:var(--crm-surface-row-alt, #fafafa)}.data-table tbody tr:hover{background:var(--crm-surface-muted, #f3f4f6)!important}.data-table td{padding:12px 16px;font-size:13px;color:var(--crm-text-secondary, #374151);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.data-table td:last-child{position:sticky;right:0;background:var(--crm-surface, #fff);box-shadow:-6px 0 12px -6px #1118270f}.data-table tbody tr:nth-child(2n) td:last-child{background:var(--crm-surface-row-alt, #fafafa)}.data-table tbody tr:hover td:last-child{background:var(--crm-surface-muted, #f3f4f6)!important}.action-buttons{display:flex;gap:4px}.edit-btn,.delete-btn{background:none;border:none;padding:6px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;transition:background .12s,color .12s}.edit-btn{color:var(--crm-accent, #15803d)}.edit-btn:hover{background:var(--crm-accent-soft, #dcfce7)}.delete-btn{color:var(--crm-danger, #dc2626)}.delete-btn:hover{background:var(--crm-danger-soft, #fef2f2)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding:14px 18px;background:var(--crm-surface-muted, #f9fafb);border-radius:var(--crm-radius-lg, 12px);border:1px solid var(--crm-border-subtle, #e5e7eb)}.pagination button{background:var(--crm-surface, #fff);border:1px solid var(--crm-border-subtle, #e5e7eb);padding:7px 14px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;font-size:13px;font-family:inherit;font-weight:500;color:var(--crm-text-secondary, #374151);display:flex;align-items:center;gap:6px;transition:background .12s,border-color .12s;box-shadow:var(--crm-shadow-sm)}.page-buttons{display:flex;align-items:center;gap:4px}.pagination .page-button{padding:7px 11px;min-width:38px;justify-content:center;gap:0}.pagination .page-button.active{background:var(--crm-accent, #15803d);color:#fff;border-color:var(--crm-accent, #15803d)}.pagination button:hover:not(:disabled){background:var(--crm-surface-muted, #f9fafb);border-color:var(--crm-border, #d1d5db)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.page-info{font-size:12px;color:var(--crm-text-muted, #6b7280);font-weight:500;display:flex;flex-direction:column;align-items:center;gap:2px}.record-range{font-size:11px;color:var(--crm-text-muted, #9ca3af);font-weight:400}.modal-overlay{position:fixed;inset:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--crm-surface, #fff);border-radius:var(--crm-radius-lg, 12px);max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;border:1px solid var(--crm-border-subtle, #e5e7eb);box-shadow:var(--crm-shadow-lg, 0 12px 40px -12px rgba(17, 24, 39, .12))}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-header{padding:18px 22px;border-bottom:1px solid var(--crm-border-subtle, #e5e7eb);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:17px;font-weight:700;color:var(--crm-text, #111827);margin:0;letter-spacing:-.02em}.modal-close{background:none;border:none;font-size:22px;color:var(--crm-text-muted, #9ca3af);cursor:pointer;line-height:1;padding:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--crm-radius-sm, 6px);transition:background .12s,color .12s}.modal-close:hover{background:var(--crm-surface-muted, #f3f4f6);color:var(--crm-text-secondary, #374151)}.modal-body{padding:18px 22px;overflow-y:auto;flex:1;min-height:0}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:12px;font-weight:600;color:var(--crm-text-secondary, #374151);margin-bottom:6px;text-transform:capitalize}.form-field input,.form-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--crm-border-subtle, #e5e7eb);border-radius:var(--crm-radius-sm, 6px);font-size:14px;font-family:inherit;color:var(--crm-text, #111827);transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--crm-accent, #15803d);box-shadow:0 0 0 3px var(--crm-accent-soft, #dcfce7)}.form-value{padding:10px 12px;background:var(--crm-surface-muted, #f9fafb);border-radius:var(--crm-radius-sm, 6px);font-size:14px;color:var(--crm-text-secondary, #374151);word-break:break-word;border:1px solid var(--crm-border-subtle, #e5e7eb)}.modal-footer{padding:16px 22px;border-top:1px solid var(--crm-border-subtle, #e5e7eb);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.cancel-btn{background:var(--crm-surface, #fff);border:1px solid var(--crm-border-subtle, #e5e7eb);color:var(--crm-text-secondary, #374151);padding:8px 16px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:background .12s,border-color .12s}.cancel-btn:hover{background:var(--crm-surface-muted, #f9fafb)}.save-btn{background:var(--crm-accent, #15803d);border:1px solid var(--crm-accent, #15803d);color:#fff;padding:8px 16px;border-radius:var(--crm-radius-sm, 6px);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:background .12s,border-color .12s}.save-btn:hover{background:var(--crm-accent-hover, #166534);border-color:var(--crm-accent-hover, #166534)}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--crm-text-muted, #6b7280)}.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)}.lesson-students-page{min-height:100vh;padding:40px;background:#f5f7fa;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.lesson-students-card{width:100%;max-width:1400px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.2);padding:28px 32px 36px;display:flex;flex-direction:column;gap:24px}.lesson-students-header{display:flex;flex-direction:column;gap:8px}.lesson-students-back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease;align-self:flex-start}.lesson-students-back-btn:hover{border-color:#6366f180;background:#6366f10d}.lesson-students-title{display:flex;flex-direction:column;gap:4px}.lesson-students-title h1{margin:0;font-size:1.75rem;font-weight:700;color:#0f172a}.lesson-students-count{font-size:.95rem;color:#64748b}.lesson-students-search{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:12px 16px;border-radius:10px;border:1px solid #e2e8f0}.lesson-students-search input{flex:1;background:none;border:none;outline:none;font-size:.95rem;color:#1e293b}.lesson-students-search input::placeholder{color:#94a3b8}.lesson-students-toolbar{display:flex;align-items:center;gap:12px}.lesson-students-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease}.lesson-students-refresh-btn:hover:not(:disabled){border-color:#6366f180;background:#6366f10d}.lesson-students-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.lesson-students-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:20px 16px 8px;margin-top:8px;border-top:1px solid rgba(148,163,184,.2)}.lesson-students-page-btn{padding:8px 16px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff;color:#0f172a;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.lesson-students-page-btn:hover:not(:disabled){border-color:#15803d73;background:#dcfce759}.lesson-students-page-btn:disabled{opacity:.45;cursor:not-allowed}.lesson-students-page-indicator{font-size:.875rem;font-weight:600;color:#475569;min-width:120px;text-align:center}.lesson-students-loading,.lesson-students-error,.lesson-students-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.lesson-students-loading p,.lesson-students-error p,.lesson-students-empty p{margin:0;color:#64748b;font-size:1rem}.lesson-students-error button{padding:8px 16px;border-radius:10px;border:1px solid rgba(99,102,241,.5);background:#6366f11a;color:#4f46e5;font-weight:500;cursor:pointer}.lesson-students-error button:hover{background:#6366f133}.spinning{animation:lesson-students-spin .8s linear infinite}@keyframes lesson-students-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lesson-students-hierarchy{display:flex;flex-direction:column;gap:8px}.lesson-students-date-group{background:#f1f5f9;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.2)}.lesson-students-date-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:#f8fafc;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:#0f172a;text-align:left;transition:background .15s ease}.lesson-students-date-header:hover{background:#f1f5f9}.lesson-students-date-header .expanded{transform:rotate(90deg)}.lesson-students-date-label{flex:1}.lesson-students-date-count{font-size:.95rem;font-weight:500;color:#64748b}.lesson-students-time-slots{padding:0 0 8px}.lesson-students-time-group{margin:0 12px 8px;background:#e2e8f0;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.25)}.lesson-students-time-header{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:#e2e8f0;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:#334155;text-align:left;transition:background .15s ease}.lesson-students-time-header:hover{background:#cbd5e1}.lesson-students-time-header .expanded{transform:rotate(90deg)}.lesson-students-sg-label{font-size:.8rem;color:#64748b}.lesson-students-time-label{flex:1}.lesson-students-time-count{font-size:.85rem;color:#64748b}.lesson-students-table-wrapper{overflow-x:auto;background:#fff;border-top:1px solid rgba(148,163,184,.2)}.lesson-students-table{width:100%;border-collapse:collapse;min-width:max-content}.lesson-students-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.lesson-students-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.lesson-students-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.lesson-students-table tbody tr:hover{background:#f8fafc}.lesson-students-table td{padding:12px 16px;font-size:.9rem;color:#334155;vertical-align:middle}.lesson-students-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:.8rem;font-weight:500}.lesson-students-pill.pill-trial{background:#e0f2fe;color:#0369a1;border:1px solid rgba(6,182,212,.3)}.lesson-students-pill.pill-makeup{background:#dcfce7;color:#15803d;border:1px solid rgba(34,197,94,.3)}.lesson-students-pill.pill-present{background:#e0e7ff;color:#4338ca;border:1px solid rgba(99,102,241,.3)}.lesson-students-pill.pill-absent{background:#e0f2fe;color:#0369a1;border:1px solid rgba(6,182,212,.3)}.lesson-students-pill.pill-default{background:#f1f5f9;color:#475569;border:1px solid rgba(148,163,184,.3)}.lesson-students-check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#22c55e;color:#fff}.lesson-students-attendance-cell{position:relative}.lesson-students-attendance-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;border:1px solid rgba(148,163,184,.3);background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .18s ease}.lesson-students-attendance-trigger.present{background:#e0e7ff;color:#4338ca;border-color:#6366f166}.lesson-students-attendance-trigger.absent{background:#e0f2fe;color:#0369a1;border-color:#06b6d466}.lesson-students-attendance-trigger:hover:not(:disabled){border-color:#6366f180}.lesson-students-attendance-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:200px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #e2e8f0;padding:8px;z-index:100;display:flex;flex-direction:column;gap:6px}.lesson-students-attendance-dropdown input{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;outline:none;background:#fff;color:#1e293b}.lesson-students-attendance-dropdown input::placeholder{color:#94a3b8}.lesson-students-attendance-dropdown input:focus{border-color:#cbd5e1}.lesson-students-clear-btn{padding:8px 12px;border-radius:8px;border:none;background:#f1f5f9;color:#64748b;font-size:.85rem;cursor:pointer;text-align:left;transition:background .15s ease}.lesson-students-clear-btn:hover{background:#e2e8f0}.lesson-students-attendance-option{padding:8px 12px;border-radius:9999px;border:1px solid transparent;background:#f8fafc;font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;transition:all .15s ease}.lesson-students-attendance-option.present{background:#e0e7ff;color:#4338ca}.lesson-students-attendance-option.present:hover,.lesson-students-attendance-option.present.selected{background:#c7d2fe;border-color:#6366f166}.lesson-students-attendance-option.absent{background:#e0f2fe;color:#0369a1}.lesson-students-attendance-option.absent:hover,.lesson-students-attendance-option.absent.selected{background:#bae6fd;border-color:#06b6d466}.outstanding-makeups-page{min-height:100vh;padding:40px;background:#f5f7fa;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.outstanding-makeups-card{width:100%;max-width:1400px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(148,163,184,.2);padding:28px 32px 36px;display:flex;flex-direction:column;gap:24px}.outstanding-makeups-header{display:flex;flex-direction:column;gap:8px}.outstanding-makeups-back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease;align-self:flex-start}.outstanding-makeups-back-btn:hover{border-color:#6366f180;background:#6366f10d}.outstanding-makeups-title{display:flex;flex-direction:column;gap:4px}.outstanding-makeups-title h1{margin:0;font-size:1.75rem;font-weight:700;color:#0f172a}.outstanding-makeups-count{font-size:.95rem;color:#64748b}.outstanding-makeups-search{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:12px 16px;border-radius:10px;border:1px solid #e2e8f0}.outstanding-makeups-search input{flex:1;background:none;border:none;outline:none;font-size:.95rem;color:#1e293b}.outstanding-makeups-search input::placeholder{color:#94a3b8}.outstanding-makeups-toolbar{display:flex;align-items:center;gap:12px}.outstanding-makeups-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease}.outstanding-makeups-refresh-btn:hover:not(:disabled){border-color:#6366f180;background:#6366f10d}.outstanding-makeups-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.outstanding-makeups-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(148,163,184,.2)}.outstanding-makeups-page-btn{padding:8px 16px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#fff;color:#0f172a;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.outstanding-makeups-page-btn:hover:not(:disabled){border-color:#15803d73;background:#dcfce759}.outstanding-makeups-page-btn:disabled{opacity:.45;cursor:not-allowed}.outstanding-makeups-page-indicator{font-size:.875rem;font-weight:600;color:#475569;min-width:120px;text-align:center}.outstanding-makeups-loading,.outstanding-makeups-error,.outstanding-makeups-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.outstanding-makeups-loading p,.outstanding-makeups-error p,.outstanding-makeups-empty p{margin:0;color:#64748b;font-size:1rem}.outstanding-makeups-error button{padding:8px 16px;border-radius:10px;border:1px solid rgba(99,102,241,.5);background:#6366f11a;color:#4f46e5;font-weight:500;cursor:pointer}.outstanding-makeups-error button:hover{background:#6366f133}.spinning{animation:outstanding-makeups-spin .8s linear infinite}@keyframes outstanding-makeups-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.outstanding-makeups-table-wrapper{overflow-x:auto;background:#fff;border:1px solid rgba(148,163,184,.2);border-radius:12px}.outstanding-makeups-table{width:100%;border-collapse:collapse;min-width:max-content}.outstanding-makeups-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.outstanding-makeups-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.outstanding-makeups-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.outstanding-makeups-table tbody tr:hover{background:#f8fafc}.outstanding-makeups-table td{padding:12px 16px;font-size:.9rem;color:#334155;vertical-align:middle}@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}}.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-display-text{font-size:.95rem;font-weight:500;color:#0f172a;padding:6px 0}.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:var(--crm-bg, #e8eaed);font-family:var(--crm-font, ui-sans-serif, system-ui, sans-serif);padding:24px 28px 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-success{background:#dcfce7f2;color:#15803d;border:1px solid rgba(74,222,128,.45)}.users-flash{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:12px;margin:16px;text-align:left;border:1px solid transparent;box-shadow:0 4px 14px -6px #0f172a1f;animation:users-flash-in .28s ease-out}@keyframes users-flash-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.users-flash{animation:none}}.users-flash--modal{margin:0 0 20px}.users-flash--dismissible{padding-right:12px}.users-flash-icon-wrap{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.users-flash--error .users-flash-icon-wrap{color:#b91c1c;background:linear-gradient(145deg,#fee2e2f2,#fca5a559)}.users-flash--success .users-flash-icon-wrap{color:#15803d;background:linear-gradient(145deg,#dcfce7f2,#86efac66)}.users-flash-body{flex:1;min-width:0}.users-flash-title{font-size:.8125rem;font-weight:700;letter-spacing:.02em;margin:0 0 4px;line-height:1.3}.users-flash--error .users-flash-title{color:#991b1b}.users-flash--success .users-flash-title{color:#166534}.users-flash-message{margin:0;font-size:.9rem;font-weight:500;line-height:1.45}.users-flash--error{background:linear-gradient(135deg,#fffbfbfa,#fef2f2eb);border-color:#f8717173;color:#7f1d1d}.users-flash--error .users-flash-message{color:#991b1b}.users-flash--success{background:linear-gradient(135deg,#f8fdf8fa,#ecfdf5f2);border-color:#4ade8080;color:#14532d}.users-flash--success .users-flash-message{color:#166534}.users-flash-dismiss{flex-shrink:0;align-self:flex-start;margin-top:2px;padding:6px;border:none;border-radius:8px;background:transparent;color:inherit;opacity:.55;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s,background .15s}.users-flash-dismiss:hover{opacity:1;background:#0f172a0f}.users-flash--success .users-flash-dismiss:hover{background:#15803d1a}.admin-crm.users-page .users-flash--error{border-color:#dc262638}.admin-crm.users-page .users-flash--error .users-flash-icon-wrap{color:var(--crm-danger, #dc2626);background:linear-gradient(145deg,var(--crm-danger-soft, #fef2f2) 0%,rgba(254,202,202,.45) 100%)}.admin-crm.users-page .users-flash--success{border-color:#15803d47}.admin-crm.users-page .users-flash--success .users-flash-icon-wrap{color:var(--crm-accent, #15803d);background:linear-gradient(145deg,var(--crm-accent-soft, #dcfce7) 0%,rgba(134,239,172,.35) 100%)}.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:8px;padding:8px 14px;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:.8125rem;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:8px 14px;border-radius:10px;font-weight:600;font-size:.8125rem;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:6px;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:10px 12px;text-align:center;font-weight:600;font-size:.6875rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.users-table td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.1);color:#0f172a;font-size:.8125rem;line-height:1.4;text-align:center}.users-table tbody tr:hover{background:#f8fafc}.role-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.6875rem;font-weight:600}.role-parent{background:#3b82f61a;color:#2563eb}.role-student{background:#a855f71a;color:#7c3aed}.role-teacher{background:#22c55e1a;color:#16a34a}.role-head_tutor{background:#0ea5e91f;color:#0284c7}.role-admin{background:#f973161a;color:#ea580c}.status-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.6875rem;font-weight:600}.status-badge.active{background:#22c55e1a;color:#16a34a}.status-badge.inactive{background:#94a3b81a;color:#64748b}.action-buttons{display:flex;gap:8px;justify-content:center}.users-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 20px;border-top:1px solid rgba(148,163,184,.15)}.users-pagination-summary{color:#64748b;font-size:.8125rem}.users-pagination-actions{display:flex;align-items:center;gap:10px}.users-page-btn:disabled{opacity:.45;cursor:not-allowed}.users-page-indicator{min-width:100px;text-align:center;color:#334155;font-size:.8125rem;font-weight:600}.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.15rem;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:6px;font-weight:600;font-size:.8125rem;color:#334155}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid rgba(148,163,184,.3);border-radius:8px;font-size:.875rem;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}.users-pagination{flex-direction:column;align-items:flex-start}}.admin-crm.users-page .back-button{border-radius:var(--crm-radius, 6px);border:1px solid var(--crm-border-subtle);color:var(--crm-text-secondary);font-weight:500;font-size:.8125rem;padding:8px 14px}.admin-crm.users-page .back-button:hover{border-color:var(--crm-border);color:var(--crm-text);background:var(--crm-surface-muted)}.admin-crm.users-page .users-header h1{font-size:1.25rem;font-weight:700;color:var(--crm-text);letter-spacing:-.03em}.admin-crm.users-page .users-container{border-radius:var(--crm-radius-lg, 12px);border:1px solid var(--crm-border-subtle);box-shadow:var(--crm-shadow-sm)}.admin-crm.users-page .btn-primary{background:var(--crm-accent);box-shadow:none;border-radius:var(--crm-radius-sm, 4px)}.admin-crm.users-page .btn-primary:hover{background:var(--crm-accent-hover);transform:none;box-shadow:none}.admin-crm.users-page .btn-secondary,.admin-crm.users-page .btn-icon{border-radius:var(--crm-radius-sm, 4px)}.cpw-shell{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a5f,#1e40af);display:flex;align-items:center;justify-content:center;padding:24px 16px;font-family:Poppins,Segoe UI,sans-serif}.cpw-card{background:#fff;border-radius:20px;padding:36px 32px;width:100%;max-width:440px;box-shadow:0 20px 60px -12px #00000059}.cpw-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:28px}.cpw-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.cpw-back-btn:hover{background:#f1f5f9;color:#0f172a}.cpw-header-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#eff6ff;color:#2563eb;flex-shrink:0}.cpw-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 4px}.cpw-subtitle{font-size:.82rem;color:#64748b;margin:0}.cpw-form{display:flex;flex-direction:column;gap:18px}.cpw-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:10px 14px;font-size:.85rem;font-weight:500}.cpw-field{display:flex;flex-direction:column;gap:6px}.cpw-label{font-size:.8rem;font-weight:600;color:#374151;letter-spacing:.01em}.cpw-input-wrap{position:relative;display:flex;align-items:center}.cpw-input{width:100%;padding:10px 42px 10px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:.9rem;color:#0f172a;background:#f9fafb;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.cpw-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f;background:#fff}.cpw-eye-btn{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;transition:color .15s}.cpw-eye-btn:hover{color:#475569}.cpw-btn{width:100%;padding:12px;border-radius:12px;font-size:.92rem;font-weight:700;cursor:pointer;border:none;transition:background .15s,opacity .15s}.cpw-btn--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.cpw-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af)}.cpw-btn--primary:disabled{opacity:.6;cursor:not-allowed}.cpw-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 0 4px;text-align:center}.cpw-success-icon{color:#16a34a}.cpw-success-title{font-size:1.3rem;font-weight:700;color:#0f172a;margin:0}.cpw-success-sub{font-size:.88rem;color:#64748b;margin:0 0 8px}.user-log-page{min-height:100vh;background:var(--crm-bg, #e8eaed);font-family:var(--crm-font, ui-sans-serif, system-ui, sans-serif);padding:24px 28px 40px}.user-log-header{max-width:1400px;margin:0 auto 24px;display:flex;align-items:center;gap:20px}.user-log-header .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}.user-log-header .back-button:hover{background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.user-log-header h1{margin:0;font-size:2rem;font-weight:700;color:#0f172a}.user-log-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}.user-log-container .alert{padding:12px 16px;border-radius:8px;margin:16px;display:flex;justify-content:space-between;align-items:center;font-weight:500}.user-log-container .alert button{background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .2s}.user-log-container .alert button:hover{opacity:1}.alert-error{background:#fee2e2f2;color:#b91c1c;border:1px solid rgba(248,113,113,.45)}.user-log-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}.user-log-summary{font-size:.8125rem;color:#64748b;font-weight:500}.user-log-toolbar .btn-secondary{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s ease;border:none;background:#fff;color:#475569;border:1px solid rgba(148,163,184,.3)}.user-log-toolbar .btn-secondary:hover{background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.user-log-table-container{overflow-x:auto}.user-log-table{width:100%;border-collapse:collapse}.user-log-table thead{background:#f8fafc;border-bottom:2px solid rgba(148,163,184,.2)}.user-log-table th{padding:10px 12px;text-align:center;font-weight:600;font-size:.6875rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.user-log-table td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.1);color:#0f172a;font-size:.8125rem;line-height:1.4;text-align:center}.user-log-table tbody tr:hover{background:#f8fafc}.user-log-table .role-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.6875rem;font-weight:600}.user-log-table .role-parent{background:#3b82f61a;color:#2563eb}.user-log-table .role-student{background:#a855f71a;color:#7c3aed}.user-log-table .role-teacher{background:#22c55e1a;color:#16a34a}.user-log-table .role-admin{background:#f973161a;color:#ea580c}.user-log-table .role-sales{background:#06b6d41a;color:#0891b2}.user-log-table .role-user{background:#94a3b81a;color:#64748b}.user-log-table .status-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.6875rem;font-weight:600}.user-log-table .status-badge.active{background:#22c55e1a;color:#16a34a}.user-log-table .status-badge.inactive{background:#ef44441a;color:#dc2626}.user-agent-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis}.loading-state,.empty-state{padding:48px 20px;text-align:center;color:#64748b;font-size:.875rem}.user-log-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;border-top:1px solid rgba(148,163,184,.2)}.user-log-pagination .pagination-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s ease;border:1px solid rgba(148,163,184,.3);background:#fff;color:#475569}.user-log-pagination .pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#3b82f64d;color:#2563eb}.user-log-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.user-log-pagination .pagination-info{font-size:.8125rem;color:#64748b;font-weight:500}@media(max-width:768px){.user-log-toolbar{flex-direction:column;align-items:stretch}.user-log-toolbar .search-box{max-width:none}.user-log-table-container{overflow-x:scroll}}.admin-crm.user-log-page .user-log-header .back-button{border-radius:var(--crm-radius, 6px);border:1px solid var(--crm-border-subtle);color:var(--crm-text-secondary);font-weight:500;font-size:.8125rem;padding:8px 14px}.admin-crm.user-log-page .user-log-header .back-button:hover{border-color:var(--crm-border);color:var(--crm-text);background:var(--crm-surface-muted)}.admin-crm.user-log-page .user-log-header h1{font-size:1.25rem;font-weight:700;color:var(--crm-text);letter-spacing:-.03em}.admin-crm.user-log-page .user-log-container{border-radius:var(--crm-radius-lg, 12px);border:1px solid var(--crm-border-subtle);box-shadow:var(--crm-shadow-sm)}.admin-crm.user-log-page .user-log-toolbar .btn-secondary{border-radius:var(--crm-radius-sm, 4px)}.user-log-table tbody tr.operate-records-row--clickable{cursor:pointer}.user-log-table tbody tr.operate-records-row--clickable:hover{background:#f1f5f9}.user-log-fuzzy-search{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;max-width:400px}.user-log-fuzzy-search label{font-size:.75rem;font-weight:600;color:#64748b;white-space:nowrap}.user-log-fuzzy-search input.operate-records-search-input{flex:1;padding:8px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.35);font-size:.8125rem;color:#0f172a;background-color:#fff;color-scheme:light;min-width:0;box-sizing:border-box}.user-log-fuzzy-search input.operate-records-search-input::placeholder{color:#94a3b8;opacity:1}.user-log-fuzzy-search input.operate-records-search-input:-webkit-autofill,.user-log-fuzzy-search input.operate-records-search-input:-webkit-autofill:hover,.user-log-fuzzy-search input.operate-records-search-input:-webkit-autofill:focus{-webkit-text-fill-color:#0f172a;box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out}.user-log-fuzzy-search input.operate-records-search-input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61f;background-color:#fff}.user-log-toolbar-fuzzy-wrap{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:200px;max-width:420px}.user-log-fuzzy-hint{font-size:.6875rem;color:#94a3b8;margin-top:6px;padding-left:2px}.user-log-fuzzy-hint code{font-size:.65rem;padding:1px 5px;background:#f1f5f9;border-radius:4px;color:#475569}.operate-records-id-link{font-weight:600;color:#2563eb;text-decoration:none}.operate-records-id-link:hover{text-decoration:underline}.operate-record-detail-page .operate-record-detail-container{padding:0}.operate-record-detail-loading,.operate-record-detail-error{margin:24px}.operate-record-detail-dl{margin:0;padding:0}.operate-record-detail-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:12px 24px;padding:14px 20px;border-bottom:1px solid rgba(148,163,184,.15);align-items:start}.operate-record-detail-row:last-child{border-bottom:none}.operate-record-detail-row dt{margin:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding-top:4px}.operate-record-detail-row dd{margin:0;min-width:0}.operate-record-detail-scalar{font-size:.875rem;color:#0f172a;line-height:1.5;word-break:break-word}.operate-record-detail-pre{margin:0;padding:12px 14px;background:#f8fafc;border:1px solid rgba(148,163,184,.2);border-radius:10px;font-size:.75rem;line-height:1.45;overflow-x:auto;max-height:min(70vh,520px);overflow-y:auto;white-space:pre-wrap;word-break:break-word}.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}.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;width:100%;min-height:80px;padding:20px;background:#fff;border:1px solid #93c5fd;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;box-sizing:border-box}.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;width:100%}.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:8px;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-section-title{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:#0f172a;margin-bottom:12px;line-height:1.2}.reschedule-section-subtitle{font-size:16px;color:#64748b;margin-bottom:24px;line-height:1.5}.reschedule-primary-action{margin-top:24px}.reschedule-btn-primary{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;padding:14px 24px;background:#3b82f6;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:#2563eb}.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:0;width:100%}.reschedule-or-divider{display:flex;align-items:center;margin:32px 0 24px;color:#94a3b8;font-size:14px;font-weight:500}.reschedule-or-divider:before,.reschedule-or-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.reschedule-or-divider span{padding:0 16px}.reschedule-secondary-action{margin-bottom:8px}.reschedule-btn-book-another{display:inline-flex;align-items:center;padding:14px 24px;background:#fff;color:#3b82f6;border:2px solid #93c5fd;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reschedule-btn-book-another:hover{border-color:#3b82f6;background:#eff6ff}.reschedule-child-name-wrap{position:relative;margin-bottom:10px}.reschedule-child-name-input{width:100%;font-size:16px;font-weight:700;color:#2563eb;background:transparent;border:none;outline:none;padding:0;line-height:1.4}.reschedule-child-name-input::placeholder{color:#94a3b8}@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,.reschedule-child-name-input{font-size:16px}.reschedule-btn-primary,.reschedule-btn-book-another{width:100%;min-width:auto;justify-content:center;font-size:14px;padding:12px 16px;white-space:normal;word-wrap:break-word;line-height:1.3;text-align:center}}@media(max-width:480px){.reschedule-btn-primary,.reschedule-btn-book-another{font-size:12px;padding:10px 12px}}.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}.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}.thank-you-messenger-block{margin:32px 0 0;padding:24px;background:#eff6ff;border-radius:12px;border:1px solid rgba(59,130,246,.25)}.thank-you-messenger-text{font-size:.95rem;color:#334155;line-height:1.6;margin:0 0 16px;text-align:center}.thank-you-button--messenger{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:320px;background:linear-gradient(135deg,#0084ff,#06c);box-shadow:0 4px 12px -6px #0084ff73}.thank-you-button--messenger:hover{background:linear-gradient(135deg,#06c,#0052a3);box-shadow:0 6px 16px -6px #0084ff8c}.thank-you-whatsapp-block{margin:32px 0 0;padding:24px;background:#ecfdf5;border-radius:12px;border:1px solid rgba(16,185,129,.35)}.thank-you-whatsapp-text{font-size:.95rem;color:#334155;line-height:1.6;margin:0 0 16px;text-align:center}.thank-you-button--whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:320px;background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 4px 12px -6px #25d36680}.thank-you-button--whatsapp:hover{background:linear-gradient(135deg,#20bd5a,#0f7a6e);box-shadow:0 6px 16px -6px #25d3668c}.thank-you-whatsapp-btn-icon{flex-shrink:0;display:block}.thank-you-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:thank-you-modal-fade-in .25s ease-out}@keyframes thank-you-modal-fade-in{0%{opacity:0}to{opacity:1}}.thank-you-modal-card{position:relative;width:100%;max-width:420px;background:#fff;border-radius:16px;padding:32px 28px 28px;box-shadow:0 24px 48px -16px #0f172a40;text-align:center;animation:thank-you-modal-pop .3s ease-out}@keyframes thank-you-modal-pop{0%{transform:scale(.96) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.thank-you-modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.thank-you-modal-close:hover{background:#f1f5f9;color:#0f172a}.thank-you-modal-icon-wrap{width:52px;height:52px;margin:0 auto 16px;border-radius:12px;background:#d1fae5;color:#059669;display:flex;align-items:center;justify-content:center}.thank-you-modal-icon-wrap--whatsapp{background:#dcfce7;color:#16a34a}.thank-you-modal-title{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0 0 12px;line-height:1.35;padding:0 8px}.thank-you-modal-body{font-size:.95rem;color:#475569;line-height:1.6;margin:0 0 20px;text-align:center}.thank-you-modal-cta{margin-bottom:16px}.thank-you-modal-footnote{font-size:.8rem;color:#94a3b8;margin:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.thank-you-modal-footnote-icon{color:#94a3b8;flex-shrink:0}@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}}.cannot-book-page{min-height:100vh;background:linear-gradient(180deg,#e0f2f7,#b8e6f5);font-family:Poppins,Segoe UI,sans-serif}.cannot-book-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:16px 24px;box-shadow:0 2px 8px -4px #0f172a1a}.cannot-book-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.cannot-book-logo{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700;color:#0f172a;font-size:1.1rem}.cannot-book-logo img{width:40px;height:40px;object-fit:contain}.cannot-book-container{max-width:800px;margin:60px auto;padding:0 24px}.cannot-book-card{background:#fff;border-radius:20px;padding:60px 40px;box-shadow:0 8px 32px -12px #0f172a33;text-align:center}.cannot-book-icon{color:#dc2626;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}}.cannot-book-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 16px;line-height:1.2}.cannot-book-message{font-size:1.1rem;color:#475569;line-height:1.6;margin:0 0 40px}.cannot-book-footer{margin-top:24px}.cannot-book-button{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}.cannot-book-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px -6px #3b82f680}@media(max-width:768px){.cannot-book-container{margin:40px auto;padding:0 16px}.cannot-book-card{padding:40px 24px}.cannot-book-title{font-size:1.5rem}.cannot-book-message{font-size:1rem}}.trial-form-ads-page{--trial-form-ads-primary: #2196F3;--trial-form-ads-primary-dark: #1976D2;--trial-form-ads-primary-darker: #1565C0;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}.trial-form-ads-page *{box-sizing:border-box}.trial-form-ads-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:16px 24px;box-shadow:0 2px 8px -4px #0f172a1a}.trial-form-ads-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:24px}.trial-form-ads-logo{display:flex;align-items:center;gap:12px;cursor:default;font-weight:700;color:#0f172a;font-size:1.1rem}.trial-form-ads-logo img{width:40px;height:40px;object-fit:contain}.trial-form-ads-hero{text-align:center;padding:32px 24px 16px;max-width:800px;margin:0 auto}.trial-form-ads-hero h1{margin:0 0 10px;font-size:3rem;font-weight:700;color:#0f172a;line-height:1.2}.trial-form-ads-hero p{margin:0;font-size:1.1rem;color:#64748b;line-height:1.5}.trial-form-ads-container{max-width:800px;margin:16px auto 48px;padding:0 24px;width:100%;box-sizing:border-box}.trial-form-ads-form{background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 32px -12px #0f172a33;width:100%;box-sizing:border-box;overflow:visible;text-align:left}.trial-form-ads-step1-fields,.trial-form-ads-date-pills-section,.trial-form-ads-time-section{text-align:left}.trial-form-ads-form .form-group{margin-bottom:28px;width:100%;box-sizing:border-box}.trial-form-ads-form .form-group label{display:block;margin-bottom:8px;font-size:.95rem;font-weight:600;color:#1e293b;text-align:left}.trial-form-ads-form .form-group input[type=text],.trial-form-ads-form .form-group input[type=email],.trial-form-ads-form .form-group input[type=tel],.trial-form-ads-form .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}.trial-form-ads-form .form-group input:focus,.trial-form-ads-form .form-group select:focus{outline:none;border-color:var(--trial-form-ads-primary);box-shadow:0 0 0 3px #2196f333}.trial-form-ads-form .form-group input.error,.trial-form-ads-form .form-group select.error{border-color:#ef4444}.trial-form-ads-phone-wrapper{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff}.trial-form-ads-phone-wrapper.error{border-color:#ef4444}.trial-form-ads-phone-code-group{position:relative;background:#fff;border-right:1px solid #d1d5db;flex:0 0 auto;z-index:1001}.trial-form-ads-phone-flag{display:inline-flex;align-items:center;justify-content:center;width:24px;height:18px}.trial-form-ads-phone-flag-img{width:24px;height:18px;border-radius:2px;object-fit:cover;display:block}.trial-form-ads-phone-flag-chevron{color:#94a3b8}.trial-form-ads-phone-country-trigger{display:flex;align-items:center;gap:4px;height:100%;width:100%;padding:0 8px;cursor:pointer;color:#1e293b;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.trial-form-ads-phone-country-trigger:focus{outline:none}.trial-form-ads-phone-country-list{position:fixed;top:0;left:0;width:300px;min-width:240px;max-height:320px;min-height:120px;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 10px 28px -14px #0f172a59;z-index:1000}.trial-form-ads-phone-country-option{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:38px;cursor:pointer}.trial-form-ads-phone-country-option:hover,.trial-form-ads-phone-country-option.selected{background:#eff6ff}.trial-form-ads-phone-country-option-flag{width:20px;height:15px;border-radius:2px;object-fit:cover;flex-shrink:0}.trial-form-ads-phone-country-option-label{color:#0f172a;font-size:.95rem}.trial-form-ads-phone-country-option-code{margin-left:auto;color:#64748b;font-size:.95rem}.trial-form-ads-phone-country-select-fallback{display:none}.trial-form-ads-phone-code-text{font-size:1rem;font-weight:600;color:#1e293b;min-width:34px}.trial-form-ads-phone-input{flex:1 1 auto;width:auto;min-width:0;max-width:100%;border:none;border-radius:0;padding:12px;font-size:.92rem;font-family:inherit;color:#1e293b;background:#fff;box-shadow:none}@media(max-width:480px){.trial-form-ads-phone-country-trigger{padding:0 6px}.trial-form-ads-phone-code-text{min-width:32px;font-size:.95rem}.trial-form-ads-phone-input{padding:12px 10px;font-size:.86rem}}.trial-form-ads-form .form-group .trial-form-ads-phone-input,.trial-form-ads-form .form-group .trial-form-ads-phone-input:focus{width:auto;border:none;border-radius:0;box-shadow:none;outline:none}.trial-form-ads-phone-input::placeholder{color:#9ca3af}.trial-form-ads-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;cursor:pointer}.trial-form-ads-select:focus{outline:none;border-color:var(--trial-form-ads-primary);box-shadow:0 0 0 3px #2196f333}.required{color:#ef4444}.trial-form-ads-step1-header{text-align:center;margin-bottom:32px}.trial-form-ads-step1-icon-wrap{width:72px;height:72px;margin:0 auto 20px;border-radius:16px;background:linear-gradient(135deg,#e9d5ff,#ddd6fe);color:#7c3aed;display:flex;align-items:center;justify-content:center}.trial-form-ads-step1-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.3}.trial-form-ads-step1-desc{font-size:.95rem;color:#64748b;margin:0;line-height:1.5}.trial-form-ads-step1-fields{display:flex;flex-direction:column;gap:24px}.trial-form-ads-country-wrap{position:relative;overflow:visible}.trial-form-ads-country-trigger{position:relative;width:100%;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;overflow:visible}.trial-form-ads-country-trigger:focus{outline:none}.trial-form-ads-country-trigger.error .trial-form-ads-country-btn{border-color:#ef4444}.trial-form-ads-country-btn{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#1e293b;font-size:.95rem;font-family:inherit;cursor:pointer;pointer-events:none;display:flex;align-items:center;gap:12px;transition:border-color .2s ease,box-shadow .2s ease;text-align:left}.trial-form-ads-country-btn:hover{border-color:#94a3b8}.trial-form-ads-country-trigger.open .trial-form-ads-country-btn{border-color:var(--trial-form-ads-primary);box-shadow:0 0 0 3px #2196f333;outline:none}.trial-form-ads-country-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#374151;flex-shrink:0}.trial-form-ads-country-label{flex:1;font-weight:500;color:inherit}.trial-form-ads-country-label:empty:before,.trial-form-ads-country-btn:not([data-value]) .trial-form-ads-country-label{color:#9ca3af}.trial-form-ads-country-btn[data-value] .trial-form-ads-country-label{color:#1e293b}.trial-form-ads-country-chevron{color:#64748b;flex-shrink:0;transition:transform .2s ease}.trial-form-ads-country-trigger.open .trial-form-ads-country-chevron{transform:rotate(180deg)}.trial-form-ads-country-list{position:absolute;top:calc(100% + 6px);left:0;right:0;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px -12px #0f172a40;max-height:280px;overflow-y:auto;z-index:1000;pointer-events:auto;min-height:1px}.trial-form-ads-country-option{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;pointer-events:auto;transition:background-color .15s ease;border:none;background:transparent;width:100%;text-align:left;font-size:.95rem;font-family:inherit;color:#1e293b;border-radius:8px;margin:0 6px;width:calc(100% - 12px);box-sizing:border-box}.trial-form-ads-country-option:hover,.trial-form-ads-country-option.selected{background:#f1f5f9}.trial-form-ads-country-option.selected{background:#fef3c7;border:1px solid #fcd34d}.trial-form-ads-country-option-icon{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#374151;flex-shrink:0}.trial-form-ads-country-option-label{font-weight:500}.trial-form-ads-yes-no-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.trial-form-ads-yes-no-options.error .trial-form-ads-yes-no-btn{border-color:#ef4444}.trial-form-ads-yes-no-btn{padding:14px 20px;border:2px solid #d1d5db;border-radius:12px;background:#fff;color:#1e293b;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.trial-form-ads-yes-no-btn:hover{border-color:#94a3b8;background:#f8fafc}.trial-form-ads-yes-no-btn.selected{border-color:var(--trial-form-ads-primary);background:linear-gradient(135deg,var(--trial-form-ads-primary),var(--trial-form-ads-primary-dark));color:#fff;box-shadow:0 4px 12px -6px #2196f366}.trial-form-ads-yes-no-btn.selected:hover{background:linear-gradient(135deg,var(--trial-form-ads-primary-dark),var(--trial-form-ads-primary-darker));box-shadow:0 6px 16px -6px #2196f380}.trial-form-ads-step1-fields .trial-form-ads-btn-continue{margin-top:8px;width:100%;max-width:100%}.trial-form-ads-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}.trial-form-ads-option-card{padding:16px;border:2px solid #d1d5db;border-radius:12px;background:#fff;color:#1e293b;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.trial-form-ads-option-card:hover{border-color:#3b82f6;background:#eff6ff;color:#2563eb}.trial-form-ads-option-card.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb;font-weight:600}.trial-form-ads-btn-primary{padding:14px 32px;background:linear-gradient(135deg,var(--trial-form-ads-primary),var(--trial-form-ads-primary-dark));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 #2196f366;width:100%;max-width:320px;margin:0 auto;display:block}.trial-form-ads-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--trial-form-ads-primary-dark),var(--trial-form-ads-primary-darker));transform:translateY(-2px);box-shadow:0 6px 16px -6px #2196f380}.trial-form-ads-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.trial-form-ads-back{margin-bottom:20px;background:none;border:none;color:var(--trial-form-ads-primary);cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.95rem;font-weight:500}.trial-form-ads-back:hover{text-decoration:underline}.trial-form-ads-step-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px}.trial-form-ads-step-title{font-size:24px;font-weight:700;margin-bottom:8px;color:#1e293b;text-align:center}.trial-form-ads-step-desc{font-size:16px;color:#64748b;text-align:center;margin-bottom:24px;line-height:1.5}.trial-form-ads-calendar{margin:20px 0;border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#fff;width:100%;box-sizing:border-box}.trial-form-ads-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.trial-form-ads-calendar-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.trial-form-ads-calendar-nav{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#64748b;transition:background-color .2s ease}.trial-form-ads-calendar-nav:hover{background:#e5e7eb;color:#1e293b}.trial-form-ads-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.trial-form-ads-calendar-day-header{text-align:center;font-size:.85rem;font-weight:600;color:#64748b;padding:8px}.trial-form-ads-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.trial-form-ads-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;background:#fff;border:1px solid #e5e7eb;position:relative}.trial-form-ads-calendar-day.available{color:#1e293b;background:#fff;border:2px solid var(--trial-form-ads-primary);cursor:pointer;font-weight:600}.trial-form-ads-calendar-day.available:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--trial-form-ads-primary);border-radius:50%}.trial-form-ads-calendar-day.available:hover{background:#e3f2fd;border-color:var(--trial-form-ads-primary-dark)}.trial-form-ads-calendar-day.selected{background:#e3f2fd;color:var(--trial-form-ads-primary-dark);border:2px solid var(--trial-form-ads-primary);font-weight:700}.trial-form-ads-calendar-day.selected:after{display:none}.trial-form-ads-calendar-day.empty{background:transparent;border:none;opacity:0}.trial-form-ads-date-pills-section{margin:20px 0}.trial-form-ads-date-pills-label{display:block;font-size:.95rem;font-weight:600;color:#1e293b;margin-bottom:12px}.trial-form-ads-date-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.trial-form-ads-date-pill{padding:10px 14px;border:2px solid var(--trial-form-ads-primary);border-radius:999px;background:#fff;color:var(--trial-form-ads-primary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;text-align:center}.trial-form-ads-date-pill:hover{background:#e3f2fd;color:var(--trial-form-ads-primary-dark)}.trial-form-ads-date-pill.selected{background:var(--trial-form-ads-primary);color:#fff;border-color:var(--trial-form-ads-primary)}.trial-form-ads-see-more-timeslots{background:none;border:none;color:var(--trial-form-ads-primary);font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0;margin-top:4px}.trial-form-ads-see-more-timeslots:hover{color:var(--trial-form-ads-primary-dark)}.trial-form-ads-time-section{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.trial-form-ads-time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.trial-form-ads-time-slot-btn{padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#1e293b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.trial-form-ads-time-slot-btn .trial-form-ads-time-slot-time{font-weight:600;font-size:1rem;color:inherit}.trial-form-ads-time-slot-btn .trial-form-ads-time-slot-duration{font-size:.875rem;color:inherit;opacity:.9}.trial-form-ads-time-slot-btn:hover:not(:disabled){border-color:var(--trial-form-ads-primary);background:#dbeafe;color:var(--trial-form-ads-primary-darker)}.trial-form-ads-time-slot-btn.selected:hover:not(:disabled){background:var(--trial-form-ads-primary-dark);border-color:var(--trial-form-ads-primary-dark);color:#fff}.trial-form-ads-time-slot-btn.selected:hover:not(:disabled) .trial-form-ads-time-slot-time,.trial-form-ads-time-slot-btn.selected:hover:not(:disabled) .trial-form-ads-time-slot-duration{color:#fff}.trial-form-ads-time-slot-btn.selected{background:var(--trial-form-ads-primary);color:#fff;border-color:var(--trial-form-ads-primary);font-weight:600}.trial-form-ads-time-slot-btn.selected .trial-form-ads-time-slot-duration{color:#fffffff2}.trial-form-ads-time-slot-btn:disabled{opacity:.5;cursor:not-allowed}.trial-form-ads-time-slots-loading,.trial-form-ads-time-slots-empty{grid-column:1 / -1;padding:16px;text-align:center;color:#64748b;font-size:.95rem}.error-message{margin-top:6px;color:#ef4444;font-size:.85rem}@media(max-width:768px){.trial-form-ads-hero{padding:24px 16px 12px}.trial-form-ads-hero h1{font-size:2.2rem}.trial-form-ads-hero p{font-size:1rem}.trial-form-ads-options,.trial-form-ads-date-pills{grid-template-columns:repeat(2,1fr)}.trial-form-ads-time-slots{grid-template-columns:1fr}.trial-form-ads-form{padding:24px}}@media(max-width:480px){.trial-form-ads-date-pills{grid-template-columns:1fr}}.trial-form-cannot-book-page{min-height:100vh;background:linear-gradient(180deg,#e0f2f7,#b8e6f5);font-family:Poppins,Segoe UI,sans-serif}.trial-form-cannot-book-header{background:#fff;border-bottom:1px solid rgba(148,163,184,.2);padding:16px 24px;box-shadow:0 2px 8px -4px #0f172a1a}.trial-form-cannot-book-header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center}.trial-form-cannot-book-logo{display:flex;align-items:center;gap:12px;font-weight:700;color:#0f172a;font-size:1.1rem}.trial-form-cannot-book-logo img{width:40px;height:40px;object-fit:contain}.trial-form-cannot-book-container{max-width:760px;margin:60px auto;padding:0 24px}.trial-form-cannot-book-card{background:#fff;border-radius:20px;padding:40px 36px;box-shadow:0 8px 32px -12px #0f172a33;text-align:center}.trial-form-cannot-book-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 16px;line-height:1.3}.trial-form-cannot-book-message{font-size:1.1rem;color:#475569;line-height:1.65;margin:0}@media(max-width:768px){.trial-form-cannot-book-container{margin:40px auto;padding:0 16px}.trial-form-cannot-book-card{padding:36px 20px}.trial-form-cannot-book-title{font-size:1.5rem}.trial-form-cannot-book-message{font-size:1rem}}.admin-crm{--crm-bg: #dfe8e0;--crm-bg-gradient: linear-gradient( 155deg, #d8e4db 0%, #e2ebe4 32%, #dde8df 58%, #d5e0d8 100% );--crm-surface: #f2f7f3;--crm-surface-raised: #f7faf7;--crm-surface-muted: #e8f0ea;--crm-surface-table-header: #dde8e0;--crm-surface-row-alt: #ecf3ee;--crm-border: #b8c9bc;--crm-border-subtle: #cddbd0;--crm-border-table: #dfe9e2;--crm-text: #111827;--crm-text-secondary: #374151;--crm-text-muted: #6b7280;--crm-text-table-head: #6b7280;--crm-accent: #15803d;--crm-accent-hover: #166534;--crm-accent-soft: #dcfce7;--crm-accent-muted: #ecfdf5;--crm-accent-glow: rgba(21, 128, 61, .22);--crm-sidebar-bg: linear-gradient( 185deg, #1e5a47 0%, #184a3c 35%, #143d33 70%, #0f342c 100% );--crm-sidebar-border: rgba(167, 243, 208, .14);--crm-sidebar-text: #ecfdf5;--crm-sidebar-muted: #8ecbb0;--crm-sidebar-hover: rgba(255, 255, 255, .09);--crm-sidebar-section-label: rgba(186, 230, 200, .72);--crm-sidebar-nav: #a3d4c1;--crm-sidebar-nav-hover: #f0fdf4;--crm-sidebar-active-bg: rgba(34, 197, 94, .24);--crm-sidebar-active-text: #f0fdf4;--crm-sidebar-brand-icon: #86efac;--crm-rail-accent: #22c55e;--crm-rail-accent-bright: #4ade80;--crm-rail-accent-soft: rgba(34, 197, 94, .2);--crm-rail-accent-glow: rgba(34, 197, 94, .35);--crm-topbar-bg: linear-gradient(180deg, #eef5f0 0%, #e8f1eb 100%);--crm-topbar-h: 56px;--crm-sidebar-w: 288px;--crm-sidebar-collapsed-w: 58px;--crm-workspace-radius: 12px;--crm-radius: 8px;--crm-radius-sm: 6px;--crm-radius-lg: 12px;--crm-danger: #dc2626;--crm-danger-hover: #b91c1c;--crm-danger-soft: #fef2f2;--crm-success: #059669;--crm-success-soft: #ecfdf5;--crm-shadow-sm: 0 1px 2px rgba(22, 48, 32, .06);--crm-shadow-md: 0 4px 6px -1px rgba(22, 48, 32, .07), 0 12px 28px -8px rgba(21, 90, 48, .09);--crm-shadow-lg: 0 12px 40px -12px rgba(22, 48, 32, .12);--crm-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-family:var(--crm-font);color:var(--crm-text);-webkit-font-smoothing:antialiased}.enroll-students-report{background:var(--crm-bg, #e8eaed);padding:2rem 2rem 3rem;font-family:var(--crm-font, ui-sans-serif, system-ui, sans-serif);color:var(--crm-text, #1c1f23);box-sizing:border-box}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.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}.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}}.attendance-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}.attendance-card{width:clamp(720px,90vw,1000px);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}.attendance-header{display:flex;flex-direction:column;gap:8px}.attendance-back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease;align-self:flex-start}.attendance-back-btn:hover{border-color:#6366f180;background:#6366f10d}.attendance-header h1{margin:0;font-size:1.75rem;font-weight:700;color:#0f172a}.attendance-header p{margin:0;font-size:.95rem;color:#64748b}.attendance-toolbar{display:flex;align-items:center;gap:12px}.attendance-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;color:#0f172a;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease}.attendance-refresh-btn:hover:not(:disabled){border-color:#6366f180;background:#6366f10d}.attendance-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.attendance-loading,.attendance-error,.attendance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.attendance-loading p,.attendance-error p,.attendance-empty p{margin:0;color:#64748b;font-size:1rem}.attendance-error button{padding:8px 16px;border-radius:10px;border:1px solid rgba(99,102,241,.5);background:#6366f11a;color:#4f46e5;font-weight:500;cursor:pointer}.attendance-error button:hover{background:#6366f133}.spinning{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.attendance-lessons{display:flex;flex-direction:column;gap:24px}.attendance-lesson-block{border:1px solid rgba(148,163,184,.2);border-radius:16px;overflow:hidden;background:#f8fafc}.attendance-lesson-title{margin:0;padding:14px 20px;font-size:1rem;font-weight:600;color:#0f172a;background:#6366f114;border-bottom:1px solid rgba(148,163,184,.2)}.attendance-students-table{display:flex;flex-direction:column}.attendance-table-header{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 20px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(148,163,184,.15)}.attendance-table-header .attendance-student-name,.attendance-table-header .attendance-header-cell{text-align:center}.attendance-header-cell{display:flex;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.attendance-student-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(148,163,184,.1);transition:background .15s ease}.attendance-student-row:last-child{border-bottom:none}.attendance-student-row:hover{background:#ffffffb3}.attendance-student-name{font-size:.95rem;font-weight:500;color:#0f172a;text-align:center}.attendance-buttons{display:flex;gap:8px;justify-content:center}.attendance-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .18s ease}.attendance-btn.present{color:#15803d;border-color:#16a34a66}.attendance-btn.present:hover:not(:disabled),.attendance-btn.present.active{background:#16a34a1f;border-color:#16a34a99}.attendance-btn.absent{color:#b91c1c;border-color:#b91c1c66}.attendance-btn.absent:hover:not(:disabled),.attendance-btn.absent.active{background:#b91c1c1f;border-color:#b91c1c99}.attendance-btn:disabled{opacity:.6;cursor:not-allowed}.zoom-meeting-page{height:100vh;background:#f3f6fb;display:flex;flex-direction:column;overflow:hidden}.zoom-meeting-topbar{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#fff}.zoom-meeting-topbar h1{margin:0;font-size:1rem;font-weight:700;color:#0f172a;text-align:center}.zoom-meeting-back,.zoom-meeting-open-external{height:36px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.zoom-meeting-open-external{background:#0f766e;border-color:#0f766e;color:#fff}.zoom-meeting-open-external:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;transform:translateY(-1px)}.zoom-meeting-body{flex:1;min-height:0;padding:10px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.zoom-meeting-notice{border-radius:10px;background:#fff;border:1px solid #cbd5e1;padding:10px 12px;font-size:.85rem;color:#334155}.zoom-meeting-notice--error{border-color:#fecaca;background:#fff1f2;color:#9f1239}.zoom-meeting-notice--info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.zoom-meeting-container{flex:1;min-height:0;height:100%;background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.zoom-meeting-root-wrap{flex:1;min-height:0}.zoom-meeting-root-wrap.is-hidden{position:absolute;left:-99999px;top:-99999px;width:1px;height:1px;overflow:hidden}.zoom-meeting-root-wrap.is-visible{position:relative;left:auto;top:auto;width:100%;height:100%}.zoom-meeting-container,.zoom-meeting-container>div,.zoom-meeting-container iframe,.zoom-meeting-container canvas,.zoom-meeting-container video{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}.zoom-meeting-container *{box-sizing:border-box}.zoom-meeting-waiting-panel{flex:1;min-height:0;border-radius:12px;border:1px solid #dbe7f3;background:linear-gradient(180deg,#f8fafc,#eef2ff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.zoom-meeting-waiting-desc{font-size:.96rem;color:#334155;margin:14px 0 16px}.zoom-meeting-waiting-stage{width:min(1300px,96%);height:min(66vh,640px);min-height:360px;border-radius:16px;border:1px solid #334155;background:radial-gradient(circle at 20% 20%,#1f2937,#111827 58%,#030712);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#e2e8f0}.zoom-meeting-waiting-stage-text{font-size:1.15rem;font-weight:600}.zoom-meeting-waiting-spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(148,163,184,.35);border-top-color:#38bdf8;animation:zoom-meeting-spin 1s linear infinite}.zoom-meeting-retry-btn{height:40px;border:none;border-radius:10px;background:#0f766e;color:#fff;padding:0 16px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.zoom-meeting-retry-btn:hover{background:#115e59;transform:translateY(-1px)}body.zoom-page-waiting #zmmtg-root,body.zoom-page-waiting .zmmtg-root{display:none!important}@keyframes zoom-meeting-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.zoom-meeting-waiting-stage{width:100%;height:52vh;min-height:260px}}.live-room{--lr-teal: #2dd4bf;--lr-teal-dim: rgba(45, 212, 191, .35);--lr-navy: #0c1222;--lr-navy-mid: #151d32;--lr-glass: rgba(255, 255, 255, .06);--lr-border: rgba(255, 255, 255, .1);font-family:Poppins,Segoe UI,system-ui,sans-serif}.live-room--lobby{position:relative;min-height:100vh;padding:clamp(16px,3vw,32px);color:#e2e8f0;overflow-x:hidden}.lr-lobby-bg{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 120% 80% at 10% 20%,rgba(45,212,191,.18),transparent 50%),radial-gradient(ellipse 90% 60% at 90% 80%,rgba(59,130,246,.12),transparent 45%),linear-gradient(165deg,#0a0f1a,#121a2e 40%,#0d1324)}.lr-lobby-bg:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none}.lr-lobby-top{position:relative;z-index:1;display:flex;align-items:center;gap:16px;max-width:1100px;margin:0 auto 28px}.lr-lobby-top-spacer{flex:1;min-width:0}.lr-lobby-brand{display:flex;align-items:center;gap:14px}.lr-lobby-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--lr-teal) 0%,#0891b2 100%);display:flex;align-items:center;justify-content:center;color:#042f2e;box-shadow:0 8px 32px var(--lr-teal-dim)}.lr-lobby-brand h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.lr-lobby-brand p{margin:2px 0 0;font-size:.8rem;color:#94a3b8}.lr-lobby-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:0 auto;align-items:start}@media(max-width:900px){.lr-lobby-grid{grid-template-columns:1fr}.lr-lobby-top{flex-wrap:wrap}.lr-lobby-top-spacer{display:none}}.lr-lobby-preview-card,.lr-lobby-form-card{background:var(--lr-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--lr-border);border-radius:20px;padding:22px;box-shadow:0 24px 64px #00000059}.lr-preview-frame{position:relative;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#020617;border:1px solid var(--lr-border)}.lr-preview-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.lr-preview-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#64748b}.lr-avatar-lg{width:88px;height:88px;border-radius:50%;background:linear-gradient(145deg,#334155,#1e293b);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--lr-teal);border:2px solid var(--lr-border)}.lr-preview-badges{position:absolute;bottom:12px;left:12px;display:flex;gap:8px}.lr-badge{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#0000008c;border:1px solid var(--lr-border);color:#cbd5e1}.lr-badge--ok{color:var(--lr-teal);border-color:var(--lr-teal-dim)}.lr-badge--muted{color:#f87171;border-color:#f8717159}.lr-device-row{display:flex;gap:12px;margin-top:16px}.lr-device-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--lr-border);background:#00000040;color:#94a3b8;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.lr-device-btn.is-on{color:var(--lr-teal);border-color:var(--lr-teal-dim);background:#2dd4bf14}.lr-device-btn:hover{background:#ffffff0f}.lr-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.lr-field span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.lr-field input{padding:12px 14px;border-radius:12px;border:1px solid var(--lr-border);background:#00000059;color:#f1f5f9;font-size:1rem;outline:none}.lr-field input:focus{border-color:var(--lr-teal-dim);box-shadow:0 0 0 3px #2dd4bf1f}.lr-room-row{display:flex;gap:10px}.lr-room-row input{flex:1;font-family:ui-monospace,monospace;letter-spacing:.04em}.lr-invite-block{padding:14px;border-radius:12px;background:#00000047;border:1px solid var(--lr-border);margin-bottom:20px}.lr-invite-label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:10px}.lr-invite-row{display:flex;gap:8px;align-items:stretch}.lr-invite-url{flex:1;font-size:.7rem;word-break:break-all;color:#94a3b8;line-height:1.4;padding:8px 10px;background:#00000059;border-radius:8px;border:1px solid var(--lr-border)}.lr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;border:none;transition:transform .15s,box-shadow .2s,background .2s}.lr-btn:active{transform:scale(.98)}.lr-btn--ghost{background:transparent;color:#cbd5e1;border:1px solid var(--lr-border)}.lr-btn--ghost:hover{background:#ffffff0f;color:#fff}.lr-btn--secondary{background:#ffffff14;color:#e2e8f0;border:1px solid var(--lr-border);white-space:nowrap}.lr-btn--secondary:hover{background:#ffffff1f}.lr-btn--icon{padding:10px 12px;background:#2dd4bf26;color:var(--lr-teal);border:1px solid var(--lr-teal-dim);flex-shrink:0}.lr-btn--icon:hover{background:#2dd4bf40}.lr-btn--primary{background:linear-gradient(135deg,var(--lr-teal) 0%,#0d9488 100%);color:#042f2e;width:100%;padding:14px 20px;font-size:1rem;box-shadow:0 12px 40px var(--lr-teal-dim)}.lr-btn--primary:hover{filter:brightness(1.05)}.lr-btn--join{margin-bottom:14px}.lr-lobby-footnote{margin:0;font-size:.75rem;line-height:1.55;color:#64748b}.live-room--session{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--lr-navy);color:#e2e8f0}.lr-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 12px;background:linear-gradient(180deg,#0f172af2,#0c1222e0);border-bottom:1px solid var(--lr-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lr-topbar-left,.lr-topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lr-icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--lr-border);background:#ffffff0d;color:#cbd5e1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}.lr-icon-btn:hover{background:#ffffff1a;color:#fff}.lr-live-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.7rem;font-weight:800;letter-spacing:.12em}.lr-live-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 12px #ef4444;animation:lr-pulse 1.5s ease-in-out infinite}@keyframes lr-pulse{0%,to{opacity:1}50%{opacity:.45}}.lr-room-meta{display:flex;flex-direction:column;gap:2px}.lr-room-code{font-weight:700;font-size:.9rem;letter-spacing:-.02em}.lr-room-time{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#94a3b8;font-variant-numeric:tabular-nums}.lr-signal-pill{font-size:.7rem;color:#64748b;padding:6px 10px;border-radius:8px;background:#00000059;border:1px solid var(--lr-border);display:none}@media(min-width:720px){.lr-signal-pill{display:inline-flex;align-items:center;gap:8px}}.lr-signal-icon{color:var(--lr-teal)}.lr-topbar-record{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(239,68,68,.45);background:#ef44441f;color:#fecaca;font-size:.75rem;font-weight:700;cursor:pointer;transition:background .2s}.lr-topbar-record:hover{background:#ef444438}.lr-topbar-record--stop{border-color:#94a3b866;background:#ffffff14;color:#e2e8f0}.lr-topbar-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid transparent;background:transparent;color:#94a3b8;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s}.lr-topbar-tab:hover{color:#e2e8f0;background:#ffffff0f}.lr-topbar-tab.is-active{color:var(--lr-teal);border-color:var(--lr-teal-dim);background:#2dd4bf14}.lr-stage-wrap{flex:1;min-height:0;display:flex;position:relative}.lr-stage{flex:1;position:relative;display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at 50% 30%,rgba(45,212,191,.06),transparent 55%),#080c16}.lr-stage-main,.lr-stage-screen{flex:1;width:100%;min-height:0;object-fit:contain;background:#020617}.lr-stage-main{transform:scaleX(-1)}.lr-stage-screen{object-fit:contain}.lr-stage-pip{position:absolute;right:16px;bottom:100px;width:min(200px,28vw);aspect-ratio:16 / 10;border-radius:12px;object-fit:cover;border:2px solid rgba(45,212,191,.5);box-shadow:0 16px 48px #0000008c;transform:scaleX(-1);z-index:2}.lr-stage-avatar-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;color:#94a3b8}.lr-stage-avatar-main p{margin:0;font-size:1rem;font-weight:600;color:#cbd5e1}.lr-stage-avatar-ring{width:120px;height:120px;border-radius:50%;background:linear-gradient(145deg,#2dd4bf40,#0891b226);border:3px solid var(--lr-teal-dim);display:flex;align-items:center;justify-content:center;box-shadow:0 0 60px var(--lr-teal-dim)}.lr-stage-avatar-ring span{font-size:2.75rem;font-weight:800;color:var(--lr-teal);text-transform:uppercase}.lr-stage-audio-only{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.lr-stage-muted-icon{opacity:.45;color:#475569}.lr-filmstrip{flex-shrink:0;display:flex;gap:10px;padding:12px 16px;overflow-x:auto;background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 100%);border-top:1px solid var(--lr-border);scrollbar-width:thin}.lr-tile{flex:0 0 auto;width:120px;height:72px;border-radius:10px;background:var(--lr-navy-mid);border:1px solid var(--lr-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;position:relative}.lr-tile--local{border-color:var(--lr-teal-dim);box-shadow:0 0 0 1px #2dd4bf33}.lr-tile--placeholder{border-style:dashed;opacity:.75}.lr-tile--remote-lk{width:140px;height:84px;padding:0;overflow:hidden;position:relative}.lr-tile--remote-lk.lr-tile--has-video .lr-tile-name,.lr-tile--remote-lk.lr-tile--has-video .lr-tile-hint{text-shadow:0 1px 4px rgba(0,0,0,.85)}.lr-tile-video{width:100%;height:100%;object-fit:cover;border-radius:9px}.lr-tile--remote-lk .lr-tile-name{position:absolute;bottom:6px;left:6px;right:6px;font-size:.6rem;z-index:1}.lr-tile--remote-lk .lr-tile-hint{position:absolute;top:4px;right:6px;font-size:.5rem;z-index:1;color:var(--lr-teal)}.lr-tile-ph-icon{color:#475569}.lr-tile-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--lr-teal),#0e7490);color:#042f2e;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.lr-tile-name{font-size:.65rem;font-weight:600;color:#cbd5e1;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lr-tile-hint{font-size:.55rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.lr-tile-badges{position:absolute;bottom:4px;right:4px;display:flex;gap:4px;color:var(--lr-teal)}.lr-drawer{position:absolute;top:0;right:0;bottom:0;width:min(360px,100%);background:#0f172af7;border-left:1px solid var(--lr-border);display:flex;flex-direction:column;z-index:10;box-shadow:-12px 0 48px #0006;animation:lr-slide-in .22s ease-out}@keyframes lr-slide-in{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}.lr-drawer-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--lr-border)}.lr-drawer-head h2{margin:0;font-size:1rem;font-weight:700}.lr-people-list{list-style:none;margin:0;padding:12px;overflow-y:auto;flex:1}.lr-people-list li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;margin-bottom:6px;background:#ffffff0a;border:1px solid transparent;flex-wrap:wrap}.lr-people-list li.is-placeholder{opacity:.65;border-style:dashed;border-color:var(--lr-border);background:transparent}.lr-people-avatar{width:40px;height:40px;border-radius:12px;background:#1e293b;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--lr-teal)}.lr-people-name{font-weight:600;font-size:.9rem}.lr-people-name em{font-style:normal;font-weight:500;color:#64748b;font-size:.8rem}.lr-people-status{display:block;font-size:.72rem;color:#64748b;margin-top:2px}.lr-people-list li.lr-people-host-actions{flex-wrap:wrap;background:#2dd4bf0f;border-color:var(--lr-teal-dim)}.lr-people-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.lr-people-action{padding:6px 10px;border-radius:8px;border:1px solid var(--lr-border);background:#ffffff14;color:#cbd5e1;font-size:.7rem;font-weight:600;cursor:pointer}.lr-people-action:hover{background:#ffffff1f}.lr-people-action--danger{border-color:#f8717166;color:#fecaca}.lr-chat-banner{margin:0 12px;padding:10px 12px;border-radius:10px;font-size:.78rem;line-height:1.45;color:#cbd5e1}.lr-chat-banner code{font-size:.7rem;padding:1px 4px;border-radius:4px;background:#00000059;color:#fde68a}.lr-chat-banner--warn{background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:#fcd34d}.lr-chat-banner--warn strong{color:#fef3c7}.lr-chat-log{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.lr-chat-msg{padding:10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid var(--lr-border)}.lr-chat-msg--system{background:#2dd4bf14;border-color:var(--lr-teal-dim)}.lr-chat-author{font-size:.7rem;font-weight:700;color:var(--lr-teal);text-transform:uppercase;letter-spacing:.04em}.lr-chat-msg p{margin:4px 0 6px;font-size:.875rem;line-height:1.45;color:#e2e8f0}.lr-chat-msg time{font-size:.65rem;color:#64748b}.lr-chat-form{flex-shrink:0;display:flex;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--lr-border)}.lr-chat-form input{flex:1;padding:12px 14px;border-radius:12px;border:1px solid var(--lr-border);background:#00000059;color:#f1f5f9;font-size:.9rem;outline:none}.lr-chat-form input:focus{border-color:var(--lr-teal-dim)}.lr-btn--send{padding:12px 14px;border-radius:12px;background:var(--lr-teal);color:#042f2e;border:none;cursor:pointer}.lr-btn--send:disabled{opacity:.4;cursor:not-allowed}.lr-control-dock{flex-shrink:0;padding:12px 16px 20px;display:flex;justify-content:center;background:linear-gradient(0deg,rgba(8,12,22,.98) 0%,transparent 100%);pointer-events:none}.lr-control-dock>*{pointer-events:auto}.lr-control-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:20px;background:#0f172ad9;border:1px solid var(--lr-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 40px #00000073}.lr-ctl{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px;padding:10px 8px;border-radius:14px;border:none;background:#ffffff14;color:#e2e8f0;font-size:.65rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,transform .15s}.lr-ctl:hover{background:#ffffff24}.lr-ctl:active{transform:scale(.96)}.lr-ctl--danger{background:#f8717126;color:#fca5a5}.lr-ctl--muted{background:#fbbf241f;color:#fcd34d}.lr-ctl--active{background:#2dd4bf33;color:var(--lr-teal)}.lr-ctl--leave{background:#ef444433;color:#fecaca;min-width:80px}.lr-ctl--leave:hover{background:#ef444459}@media(max-width:520px){.lr-ctl{min-width:64px;padding:8px 6px}.lr-ctl span{display:none}}.htp-root{color-scheme:light;--htp-sidebar: #0f172a;--htp-sidebar-border: rgba(148, 163, 184, .12);--htp-sidebar-text: #94a3b8;--htp-sidebar-active-bg: rgba(255, 255, 255, .1);--htp-accent: #14b8a6;--htp-accent-soft: rgba(20, 184, 166, .15);--htp-bg: #f1f5f9;--htp-surface: #ffffff;--htp-border: #e2e8f0;--htp-text: #475569;--htp-heading: #0f172a;--htp-muted: #64748b;--htp-radius: 12px;--htp-sidebar-w: 268px;--htp-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;display:flex;flex-direction:column;height:100vh;max-height:100dvh;font-family:var(--htp-font);color:var(--htp-text);background:var(--htp-bg);overflow-x:hidden}.htp-body{display:flex;flex:1;min-height:0;min-width:0;overflow-x:hidden}.htp-sidebar{width:var(--htp-sidebar-w);flex-shrink:0;background:var(--htp-sidebar);color:var(--htp-sidebar-text);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--htp-sidebar-border)}.htp-brand{display:flex;align-items:center;gap:12px;padding:22px 18px 18px}.htp-brand-text{display:flex;flex-direction:column;gap:6px;min-width:0}.htp-brand-wordmark{display:block;font-weight:700;font-size:1.35rem;letter-spacing:-.03em;line-height:1.15;white-space:nowrap}.htp-brand-wordmark-accent{color:#fbbf24}.htp-brand-wordmark-light{color:#f8fafc}.htp-brand-sub{font-size:.8125rem;font-weight:500;color:#64748b;letter-spacing:.01em}.htp-nav{display:flex;flex-direction:column;gap:4px;padding:8px 12px;flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.htp-nav::-webkit-scrollbar{width:0;height:0}.htp-nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:inherit;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .15s ease,color .15s ease}.htp-nav-item:hover{background:#ffffff0f;color:#e2e8f0}.htp-nav-item--active{background:var(--htp-sidebar-active-bg);color:#f8fafc;box-shadow:none}.htp-nav-item--active:hover{background:#ffffff24;color:#fff}.htp-sidebar-footer{padding:12px 14px 20px;border-top:1px solid var(--htp-sidebar-border)}.htp-signout{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:10px;background:transparent;color:var(--htp-sidebar-text);font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit}.htp-signout:hover{background:#ffffff0f;color:#e2e8f0}.htp-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;overflow-x:hidden}.htp-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:var(--htp-surface);border-bottom:1px solid var(--htp-border);flex-shrink:0;min-width:0}.htp-greeting{margin:0;font-size:1.05rem;color:var(--htp-heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.htp-greeting strong{font-weight:600}.htp-topbar-user{display:flex;align-items:center;gap:10px}.htp-avatar{width:36px;height:36px;border-radius:999px;background:var(--htp-accent-soft);color:#0f766e;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.htp-topbar-role{font-size:.8rem;font-weight:600;color:var(--htp-muted)}.htp-scroll{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px;scrollbar-width:none;-ms-overflow-style:none}.htp-scroll::-webkit-scrollbar{width:0;height:0}.htp-page{max-width:1200px;min-width:0;box-sizing:border-box}.htp-page--dashboard{max-width:1200px;padding-bottom:8px}.htp-dashboard-welcome{margin-bottom:24px}.htp-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.htp-page-head-text{min-width:0}.htp-page-title{margin:0 0 6px;font-size:1.65rem;font-weight:700;color:var(--htp-heading);letter-spacing:-.02em}.htp-page-sub{margin:0;font-size:.95rem;color:var(--htp-muted);line-height:1.5}.htp-page-toolbar{flex-shrink:0}.htp-page-body{margin-top:8px;min-width:0}.htp-placeholder-card{background:var(--htp-surface);border:1px solid var(--htp-border);border-radius:var(--htp-radius);padding:28px 24px;box-shadow:0 1px 2px #0f172a0a}.htp-placeholder-card p{margin:0;color:var(--htp-muted);line-height:1.55}.htp-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:24px}@media(min-width:900px){.htp-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.htp-stat-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;min-height:108px;background:var(--htp-surface);border:1px solid var(--htp-border);border-radius:var(--htp-radius);padding:18px 18px 18px 20px;box-shadow:0 1px 2px #0f172a0a}.htp-stat-card-main{min-width:0;flex:1}.htp-stat-icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(155deg,#2dd4bf,#0d9488 55%,#0f766e);color:#fff;box-shadow:0 2px 10px #0d948859}.htp-stat-icon-wrap svg{flex-shrink:0}.htp-stat-label{margin:0 0 8px;font-size:.8rem;font-weight:600;color:var(--htp-muted);text-transform:uppercase;letter-spacing:.04em}.htp-stat-value{margin:0;font-size:1.75rem;font-weight:700;color:var(--htp-heading);line-height:1.1}.htp-stat-hint{margin:8px 0 0;font-size:.8rem;color:var(--htp-muted)}.htp-dashboard-columns{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch}@media(min-width:900px){.htp-dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.htp-panel{display:flex;flex-direction:column;background:var(--htp-surface);border:1px solid var(--htp-border);border-radius:var(--htp-radius);padding:22px 24px 20px;min-height:200px;box-shadow:0 1px 2px #0f172a0a}.htp-panel-title{margin:0 0 16px;font-size:1.05rem;font-weight:700;color:var(--htp-heading);letter-spacing:-.02em}.htp-panel-title-row{display:flex;align-items:center;gap:14px}.htp-panel-title-icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%}.htp-panel-title-icon-wrap--leave{background:linear-gradient(145deg,#fde68a,#fbbf24);color:#92400e;box-shadow:0 2px 8px #f59e0b4d}.htp-panel-title-icon-wrap--reports{background:linear-gradient(145deg,#93c5fd,#3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f659}.htp-panel-title-text{margin:0;font-size:inherit;font-weight:inherit;line-height:1.25}.htp-panel-empty{margin:0;font-size:.9rem;color:var(--htp-muted);line-height:1.5}.htp-stat-hint--positive{color:#15803d;font-weight:600}.htp-dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.htp-dash-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:16px 0;border-bottom:1px solid var(--htp-border)}.htp-dash-row:last-child{border-bottom:none;padding-bottom:2px}.htp-dash-row:first-child{padding-top:2px}.htp-dash-row-text{min-width:0;flex:1}.htp-dash-row-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin:0;font-size:.9375rem;line-height:1.45;color:var(--htp-heading)}.htp-dash-row-name{font-weight:700;color:var(--htp-heading)}.htp-dash-row-sep{margin:0 .35em;font-weight:500;color:#cbd5e1;-webkit-user-select:none;user-select:none}.htp-dash-row-detail{font-weight:500;color:var(--htp-muted);font-size:.875rem}.htp-dash-row-title{margin:0 0 4px;font-size:.9375rem;font-weight:600;color:var(--htp-heading)}.htp-dash-row-meta{margin:0;font-size:.8125rem;color:var(--htp-muted);line-height:1.4}.htp-dash-row-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.htp-dash-btn{padding:8px 14px;font-size:.8125rem;font-weight:600;font-family:inherit;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.htp-dash-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-dash-btn--approve{color:#fff;background:#16a34a;border-color:#16a34a}.htp-dash-btn--approve:hover{background:#15803d;border-color:#15803d}.htp-dash-btn--deny{color:#fff;background:#dc2626;border-color:#dc2626}.htp-dash-btn--deny:hover{background:#b91c1c;border-color:#b91c1c}.htp-dash-btn--review{color:#1e3a5f;background:#f8fafc;border-color:var(--htp-border)}.htp-dash-btn--review:hover{background:#f1f5f9;border-color:#cbd5e1}a.htp-dash-btn--review{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.htp-mt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.htp-page--manage-tutors{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-mt-btn-add{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;color:#fff;background:#1e3a5f;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.htp-mt-btn-add:hover{background:#152a45}.htp-mt-btn-add:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-mt-search-wrap{margin-bottom:24px}.htp-mt-search{width:100%;max-width:420px;padding:11px 14px 11px 40px;font-size:.875rem;font-family:inherit;color:var(--htp-heading, #0f172a);background:#fff;border:1px solid var(--htp-border, #e2e8f0);border-radius:10px;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}.htp-mt-search::placeholder{color:#94a3b8}.htp-mt-search:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px;border-color:#cbd5e1}.htp-mt-section{margin-bottom:32px}.htp-mt-section:last-child{margin-bottom:8px}.htp-mt-section-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}.htp-mt-section-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.htp-mt-section-dot--excellent{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}.htp-mt-section-dot--needs_attention{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b47}.htp-mt-section-dot--critical{background:#ef4444;box-shadow:0 0 0 3px #ef444440}.htp-mt-section-title{margin:0;font-size:.9375rem;font-weight:700;color:var(--htp-heading, #0f172a);letter-spacing:-.02em}.htp-mt-section-count{font-weight:600;color:var(--htp-muted, #64748b)}.htp-mt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}.htp-mt-card{position:relative;background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);padding:18px 18px 16px;box-shadow:0 1px 2px #0f172a0a;min-width:0}.htp-mt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px;padding-right:2px}.htp-mt-card-name{margin:0;font-size:1.05rem;font-weight:700;color:var(--htp-heading, #0f172a);letter-spacing:-.02em;line-height:1.25}.htp-mt-card-subject{margin:0 0 14px;font-size:.8125rem;color:var(--htp-muted, #64748b)}.htp-mt-status-wrap{flex-shrink:0;position:relative}.htp-mt-status-select{appearance:none;margin:0;padding:6px 28px 6px 26px;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--htp-heading, #0f172a);background:#f8fafc;border:1px solid var(--htp-border, #e2e8f0);border-radius:999px;cursor:pointer;max-width:150px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.htp-mt-status-select:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px}.htp-mt-status-dot-inset{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;pointer-events:none}.htp-mt-status-dot-inset--excellent{background:#22c55e}.htp-mt-status-dot-inset--needs_attention{background:#f59e0b}.htp-mt-status-dot-inset--critical{background:#ef4444}.htp-mt-meta{display:flex;flex-direction:column;gap:10px}.htp-mt-meta-row{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;color:var(--htp-text, #475569);line-height:1.4}.htp-mt-meta-row svg{flex-shrink:0;margin-top:2px;color:#94a3b8}.htp-mt-meta-label{display:none}.htp-mt-meta-value{word-break:break-word}.htp-mt-empty-section{margin:0;padding:12px 0;font-size:.875rem;color:var(--htp-muted, #64748b)}.htp-mt-empty-all{padding:28px 20px;text-align:center;font-size:.9rem;color:var(--htp-muted, #64748b);background:var(--htp-surface, #fff);border:1px dashed var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px)}.htp-page--calendar{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.htp-cal-search-wrap{flex:1;min-width:200px;max-width:320px}.htp-cal-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.htp-cal-search{width:100%;padding:10px 12px 10px 38px;font-size:.875rem;font-family:inherit;color:var(--htp-heading, #0f172a);background:#fff;border:1px solid var(--htp-border, #e2e8f0);border-radius:10px;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px center}.htp-cal-search::placeholder{color:#94a3b8}.htp-cal-search:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px;border-color:#cbd5e1}.htp-cal-actions{display:flex;flex-wrap:wrap;gap:8px}.htp-cal-icon-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;font-size:.8125rem;font-weight:600;font-family:inherit;color:var(--htp-heading, #0f172a);background:#fff;border:1px solid var(--htp-border, #e2e8f0);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.htp-cal-icon-btn:hover{background:#f8fafc;border-color:#cbd5e1}.htp-cal-icon-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-cal-card{background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-width:0;max-width:100%}.htp-cal-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.htp-cal-table{width:100%;min-width:1040px;border-collapse:collapse;font-size:.8125rem}.htp-cal-th{padding:11px 12px;text-align:left;font-weight:600;color:var(--htp-heading, #0f172a);background:#f1f5f9;border-bottom:1px solid var(--htp-border, #e2e8f0);white-space:nowrap}.htp-cal-td{padding:10px 12px;border-bottom:1px solid var(--htp-border, #e2e8f0);color:var(--htp-text, #475569);vertical-align:middle}.htp-cal-td--muted{color:#94a3b8}.htp-cal-td--num{font-variant-numeric:tabular-nums}.htp-cal-td--tutor{font-weight:600;color:var(--htp-heading, #0f172a)}.htp-cal-table tbody tr:hover .htp-cal-td{background:#f8fafc}.htp-cal-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:999px;text-transform:capitalize}.htp-cal-badge--booked{color:#1e40af;background:#dbeafe}.htp-cal-badge--available{color:#166534;background:#dcfce7}.htp-cal-badge--on_leave{color:#c2410c;background:#ffedd5}.htp-cal-badge--unavailable{color:#991b1b;background:#fee2e2}.htp-cal-cap{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.htp-cal-cap-ratio{font-variant-numeric:tabular-nums;font-weight:600;color:var(--htp-heading, #0f172a)}.htp-cal-full{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#dc2626;border-radius:999px}.htp-cal-empty{padding:36px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-page--monthly-eval{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-me-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.htp-me-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.htp-me-filter{margin:0}.htp-me-select{min-width:170px;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:var(--htp-heading, #0f172a);background:#f8fafc;border:1px solid var(--htp-border, #e2e8f0);border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.htp-me-select:hover{border-color:#cbd5e1}.htp-me-select:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px}.htp-me-select:disabled{opacity:.65;cursor:not-allowed}.htp-me-card{background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-width:0;max-width:100%;box-sizing:border-box}.htp-me-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.htp-me-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:.8125rem}.htp-me-th{padding:11px 12px;text-align:center;font-weight:600;color:var(--htp-heading, #0f172a);background:#f1f5f9;border-bottom:1px solid var(--htp-border, #e2e8f0);white-space:nowrap}.htp-me-th--sub{font-size:.6875rem;font-weight:600;color:var(--htp-muted, #64748b);white-space:normal;max-width:120px;line-height:1.35}.htp-me-th--action{width:52px;text-align:center}.htp-me-th--num{text-align:center;font-variant-numeric:tabular-nums}.htp-me-td{padding:11px 12px;border-bottom:1px solid var(--htp-border, #e2e8f0);color:var(--htp-text, #475569);vertical-align:middle;text-align:center}.htp-me-td--name{font-weight:600;color:var(--htp-heading, #0f172a)}.htp-me-td--total{font-weight:700;color:var(--htp-heading, #0f172a);font-variant-numeric:tabular-nums}.htp-me-td--num{text-align:center;font-variant-numeric:tabular-nums}.htp-me-td--action{text-align:center;padding:8px}.htp-me-table tbody tr:hover .htp-me-td{background:#f8fafc}.htp-me-empty{padding:36px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-me-result{display:inline-block;max-width:16rem;padding:6px 10px;font-size:.6875rem;font-weight:600;line-height:1.35;text-align:center;white-space:normal;border-radius:999px}.htp-me-result--pass{color:#166534;background:#dcfce7}.htp-me-result--conditional{color:#c2410c;background:#ffedd5}.htp-me-result--fail{color:#991b1b;background:#fee2e2}.htp-me-row-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-6px;color:#64748b;border-radius:8px;transition:background .15s ease,color .15s ease}.htp-me-row-link:hover{background:#f1f5f9;color:#1e3a5f}.htp-me-row-link:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-me-empty--loading{font-style:italic}.htp-me-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 16px 18px;border-top:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-me-pagination-info{font-size:.8125rem;font-weight:600;color:var(--htp-text, #475569);font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:center}.htp-me-pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.htp-me-pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#14b8a6}.htp-me-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.htp-me-pagination-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-page--class-eval{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-page--class-eval .htp-page-head{margin-bottom:20px}.htp-ce-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.htp-ce-card{background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-width:0;max-width:100%;box-sizing:border-box}.htp-ce-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--htp-border, #e2e8f0)}.htp-ce-filters{display:flex;flex-wrap:wrap;gap:12px}.htp-ce-filter{margin:0}.htp-ce-select{min-width:160px;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:var(--htp-heading, #0f172a);background:#f8fafc;border:1px solid var(--htp-border, #e2e8f0);border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.htp-ce-select:hover{border-color:#cbd5e1}.htp-ce-select:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px}.htp-ce-btn-new{padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;color:#fff;background:#1e3a5f;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.htp-ce-btn-new:hover{background:#152a45}.htp-ce-btn-new:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-ce-tabs{display:flex;gap:4px;padding:12px 20px 0;border-bottom:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-ce-tab{padding:10px 16px;margin-bottom:-1px;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--htp-muted, #64748b);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:color .15s ease,background .15s ease}.htp-ce-tab:hover{color:var(--htp-heading, #0f172a);background:#fff9}.htp-ce-tab--active{color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border-color:var(--htp-border, #e2e8f0);border-bottom-color:var(--htp-surface, #fff)}.htp-ce-table-scroll{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.htp-ce-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.8125rem}.htp-ce-th{padding:10px 12px;text-align:left;font-weight:600;color:var(--htp-heading, #0f172a);background:#f1f5f9;border-bottom:1px solid var(--htp-border, #e2e8f0);white-space:nowrap;vertical-align:bottom}.htp-ce-th--score{text-align:center;vertical-align:bottom;min-width:100px;max-width:120px;white-space:normal}.htp-ce-th-label{display:block;line-height:1.35;font-size:.75rem}.htp-ce-th-weight{display:block;margin-top:4px;font-size:.6875rem;font-weight:600;color:var(--htp-muted, #64748b)}.htp-ce-th--sticky,.htp-ce-td--sticky{position:sticky;left:0;z-index:1;background:#f1f5f9;box-shadow:1px 0 0 var(--htp-border, #e2e8f0)}.htp-ce-td--sticky{background:var(--htp-surface, #fff);font-weight:600}.htp-ce-td{padding:10px 12px;border-bottom:1px solid var(--htp-border, #e2e8f0);color:var(--htp-text, #475569);vertical-align:middle;white-space:nowrap}.htp-ce-td--num{font-variant-numeric:tabular-nums;white-space:nowrap}.htp-ce-td--score{text-align:center}.htp-ce-name{color:var(--htp-heading, #0f172a)}.htp-ce-th--comments{min-width:10rem;max-width:16rem;font-weight:700;color:var(--htp-heading, #334155)}.htp-ce-td--comments{max-width:16rem;vertical-align:middle}.htp-ce-comments-cell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;color:var(--htp-muted, #64748b);line-height:1.35}.htp-ce-th--structure{max-width:7.5rem;white-space:normal;line-height:1.25;text-align:center;vertical-align:middle;font-size:.75rem;font-weight:700;color:var(--htp-heading, #334155)}.htp-ce-td--structure{text-align:center;vertical-align:middle}.htp-ce-structure-pill{display:inline-block;min-width:2.25rem;padding:5px 12px;font-size:.6875rem;font-weight:700;letter-spacing:.02em;border-radius:999px;text-align:center;line-height:1.2}.htp-ce-structure-pill--yes{color:#fff;background:#0d9488}.htp-ce-structure-pill--no{color:#fff;background:#dc2626}.htp-ce-structure-pill--na{color:#64748b;background:#e2e8f0;font-weight:600}.htp-ce-detail-meta-value--pill{display:flex;align-items:center;min-height:1.75rem}.htp-ce-empty{padding:32px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-ce-table tbody tr:hover .htp-ce-td{background:#f8fafc}.htp-ce-table tbody tr:hover .htp-ce-td--sticky{background:#f1f5f9}.htp-ce-modal-root{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.htp-ce-modal{width:100%;max-width:440px;background:#fff;border-radius:14px;box-shadow:0 25px 50px -12px #0f172a40;border:1px solid #e2e8f0}.htp-ce-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #f1f5f9}.htp-ce-modal-header-text{min-width:0;flex:1}.htp-ce-modal-title{margin:0;font-size:1.125rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.htp-ce-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-6px -8px 0 0;padding:0;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}.htp-ce-modal-close:hover{background:#f1f5f9;color:#0f172a}.htp-ce-modal-body{padding:20px 22px 8px;display:flex;flex-direction:column;gap:18px}.htp-ce-modal-field{display:flex;flex-direction:column;gap:8px;margin:0}.htp-ce-modal-label{font-size:.8125rem;font-weight:600;color:#475569}.htp-ce-modal-select{width:100%;padding:11px 36px 11px 12px;font-size:.875rem;font-family:inherit;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.htp-ce-modal-select:hover{border-color:#cbd5e1}.htp-ce-modal-select:focus{outline:2px solid rgba(30,58,95,.25);outline-offset:1px;border-color:#94a3b8}.htp-ce-modal-footer{padding:16px 22px 22px;display:flex;justify-content:flex-end}.htp-ce-modal-btn-next{padding:10px 22px;font-size:.875rem;font-weight:600;font-family:inherit;color:#fff;background:#1e3a5f;border:none;border-radius:8px;cursor:pointer;min-width:88px}.htp-ce-modal-btn-next:hover{background:#152a45}.htp-ce-modal-btn-next:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-ce-modal-btn-next:disabled{opacity:.55;cursor:not-allowed}.htp-ce-modal-btn-next:disabled:hover{background:#1e3a5f}.htp-ce-modal--wide{max-width:720px;max-height:min(92vh,880px);display:flex;flex-direction:column}.htp-ce-modal--wide .htp-ce-modal-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:16px}.htp-ce-modal-sub{margin:6px 0 0;font-size:.875rem;font-weight:500;color:#64748b}.htp-ce-detail-kind{margin:8px 0 0;font-size:.8125rem;font-weight:600;color:#64748b}.htp-ce-eval-grid{display:grid;grid-template-columns:1fr;gap:18px 28px}@media(min-width:560px){.htp-ce-eval-grid:not(.htp-ce-eval-grid--trial):not(.htp-ce-eval-grid--weekly){grid-template-columns:1fr 1fr}}.htp-ce-eval-grid--trial{grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column}.htp-ce-eval-grid--weekly{grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,auto);grid-auto-flow:column}.htp-ce-eval-item{display:flex;flex-direction:column;gap:8px}.htp-ce-eval-label{font-size:.8125rem;font-weight:600;color:#0f172a;line-height:1.35}.htp-ce-eval-weight{font-weight:600;color:#64748b}.htp-ce-stars{display:flex;gap:6px;align-items:center}.htp-ce-star{display:flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:6px;background:transparent;color:#cbd5e1;cursor:pointer;transition:color .12s ease,transform .12s ease}.htp-ce-star:hover{color:#fbbf24;transform:scale(1.06)}.htp-ce-star--on{color:#f59e0b}.htp-ce-star:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-ce-modal-textarea{width:100%;min-height:100px;padding:12px 14px;font-size:.875rem;font-family:inherit;line-height:1.5;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;resize:vertical;box-sizing:border-box}.htp-ce-modal-textarea::placeholder{color:#94a3b8}.htp-ce-modal-textarea:focus{outline:2px solid rgba(30,58,95,.2);outline-offset:1px;border-color:#94a3b8}.htp-ce-modal-footer--split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid #f1f5f9}.htp-ce-modal-score{font-size:.875rem;color:#64748b}.htp-ce-modal-score strong{color:#0f172a;font-size:1.05rem}.htp-ce-modal-footer-actions{display:flex;flex-wrap:wrap;gap:10px}.htp-ce-modal-btn-back{padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.htp-ce-modal-btn-back:hover{background:#f8fafc}.htp-ce-modal-btn-submit{padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;color:#fff;background:#1e3a5f;border:none;border-radius:8px;cursor:pointer}.htp-ce-modal-btn-submit:hover:not(:disabled){background:#152a45}.htp-ce-modal-btn-submit:disabled{opacity:.55;cursor:not-allowed}.htp-ce-modal-btn-back:focus-visible,.htp-ce-modal-btn-submit:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-ce-tr--clickable{cursor:pointer}.htp-ce-tr--clickable:focus-visible{outline:2px solid rgba(20,184,166,.85);outline-offset:-2px}.htp-ce-modal--detail{max-width:520px;max-height:min(92vh,880px);display:flex;flex-direction:column}.htp-ce-modal--detail>.htp-ce-modal-header{flex-shrink:0}.htp-ce-modal--detail>.htp-ce-detail-body{flex:1;min-height:0;overflow-y:auto;padding:4px 22px 22px}.htp-ce-detail-summary-block{margin-bottom:20px}.htp-ce-detail-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.htp-ce-detail-outcome-hint{margin:10px 0 0;max-width:28rem;font-size:.75rem;line-height:1.45;color:#64748b}.htp-ce-detail-score-label{font-size:.8125rem;font-weight:600;color:#64748b}.htp-ce-detail-score-value{font-size:2rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;line-height:1.1}.htp-ce-detail-score-max{font-size:1.125rem;font-weight:700;color:#64748b}.htp-ce-detail-badge{display:inline-block;max-width:min(100%,20rem);padding:8px 14px;font-size:.75rem;font-weight:700;line-height:1.35;text-align:center;white-space:normal;border-radius:999px}.htp-ce-detail-badge--pass{color:#166534;background:#dcfce7}.htp-ce-detail-badge--conditional{color:#c2410c;background:#ffedd5}.htp-ce-detail-badge--fail{color:#991b1b;background:#fee2e2}.htp-ce-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.htp-ce-detail-meta-label{display:block;font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:4px}.htp-ce-detail-meta-value{font-size:.875rem;color:#0f172a}.htp-ce-detail-rubric{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:14px}.htp-ce-detail-rubric-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.htp-ce-detail-rubric-label{font-size:.8125rem;font-weight:600;color:#0f172a}.htp-ce-detail-rubric-score{flex-shrink:0;font-size:.8125rem;font-weight:600;color:#475569;font-variant-numeric:tabular-nums}.htp-ce-detail-bar-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.htp-ce-detail-bar-fill{height:100%;background:#22c55e;border-radius:999px;min-width:0;transition:width .2s ease}.htp-ce-detail-comments{background:#f8fafc;border-radius:10px;padding:14px 16px;border:1px solid #e2e8f0}.htp-ce-detail-comments-label{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.htp-ce-detail-comments-text{margin:0;font-size:.875rem;color:#334155;line-height:1.5}.htp-page--monthly-eval-detail{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-med-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:0;font-size:.875rem;font-weight:600;font-family:inherit;color:#1e3a5f;background:none;border:none;cursor:pointer;text-decoration:none}.htp-med-back:hover{color:#14b8a6;text-decoration:underline}.htp-med-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.htp-med-head-text{min-width:0}.htp-med-title{margin:0 0 6px;font-size:1.65rem;font-weight:700;color:var(--htp-heading, #0f172a);letter-spacing:-.02em}.htp-med-sub{margin:0;font-size:.95rem;color:var(--htp-muted, #64748b)}.htp-med-btn-edit{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;font-family:inherit;color:#1e3a5f;background:#fff;border:1px solid var(--htp-border, #e2e8f0);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.htp-med-btn-edit:hover{background:#f8fafc;border-color:#cbd5e1}.htp-med-btn-edit:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-med-summary-card{background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;padding:22px 24px 26px;margin-bottom:24px}.htp-med-overall{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--htp-border, #e2e8f0)}.htp-med-overall-label{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--htp-muted, #64748b)}.htp-med-overall-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.htp-med-overall-composite{margin:0;max-width:28rem;font-size:.8125rem;line-height:1.45;color:var(--htp-muted, #64748b)}.htp-med-overall-score{font-size:2rem;font-weight:800;color:var(--htp-heading, #0f172a);letter-spacing:-.03em}.htp-med-result{display:inline-block;max-width:min(100%,22rem);padding:8px 14px;font-size:.75rem;font-weight:700;line-height:1.35;text-align:center;white-space:normal;border-radius:999px}.htp-med-result--pass{color:#166534;background:#dcfce7}.htp-med-result--conditional{color:#c2410c;background:#ffedd5}.htp-med-result--fail{color:#991b1b;background:#fee2e2}.htp-med-section-label{margin:0 0 14px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--htp-muted, #64748b)}.htp-med-dashboard-sections{display:flex;flex-direction:column;gap:28px}.htp-med-section-block{min-width:0}.htp-med-cards-row{display:grid;gap:14px;min-width:0}.htp-med-cards-row--class.htp-med-cards-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.htp-med-cards-row--other{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.htp-med-cards-row--class.htp-med-cards-row--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.htp-med-cards-row--class.htp-med-cards-row--three{grid-template-columns:1fr}.htp-med-cards-row--other{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.htp-med-cards-row--other{grid-template-columns:1fr}}.htp-med-score-card{display:flex;flex-direction:column;min-height:100%;padding:16px 16px 14px;background:#fafbfc;border:1px solid var(--htp-border, #e2e8f0);border-radius:12px;box-sizing:border-box}.htp-med-score-card-text{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.htp-med-score-card-title{font-size:.875rem;font-weight:700;color:var(--htp-heading, #0f172a);line-height:1.3}.htp-med-score-card-weight{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--htp-muted, #94a3b8)}.htp-med-score-card-value{margin:0 0 auto;padding-bottom:12px;font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--htp-heading, #0f172a)}.htp-med-score-card-bar{height:6px;margin-top:auto;border-radius:999px;background:#e2e8f0;overflow:hidden}.htp-med-score-card .htp-med-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .35s ease}.htp-med-score-card--highlight{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 1px #3b82f61f}.htp-med-score-card--highlight .htp-med-score-card-title{color:#1d4ed8}.htp-med-score-card--highlight .htp-med-score-card-value{color:#1e40af}.htp-med-score-card--highlight .htp-med-bar-fill{background:linear-gradient(90deg,#3b82f6,#2563eb)}.htp-med-ce-section{margin-top:8px}.htp-med-ce-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.htp-med-ce-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--htp-heading, #0f172a)}.htp-med-ce-btn{padding:10px 16px;font-size:.8125rem;font-weight:600;font-family:inherit;color:#fff;background:#1e3a5f;border:none;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .15s ease}.htp-med-ce-btn:hover{background:#152a45;color:#fff}.htp-med-ce-tabs{display:flex;gap:4px;margin-bottom:0;padding:10px 0 0;border-bottom:1px solid var(--htp-border, #e2e8f0)}.htp-med-ce-tab{padding:10px 14px;margin-bottom:-1px;font-size:.8125rem;font-weight:600;font-family:inherit;color:var(--htp-muted, #64748b);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer}.htp-med-ce-tab--active{color:var(--htp-heading, #0f172a);background:#f8fafc;border-color:var(--htp-border, #e2e8f0);border-bottom-color:#f8fafc}.htp-med-ce-table-wrap{padding:12px 0 4px;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.htp-med-notfound{padding:40px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-med-notfound--loading{font-style:italic}.htp-med-notfound a{color:#1e3a5f;font-weight:600}.htp-page--report-cards{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-page--report-cards .htp-page-head{margin-bottom:20px}.htp-rc-card{background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-width:0;max-width:100%;box-sizing:border-box}.htp-rc-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 20px 0;border-bottom:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-rc-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:-1px;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--htp-muted, #64748b);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:color .15s ease,background .15s ease}.htp-rc-tab:hover{color:var(--htp-heading, #0f172a);background:#fff9}.htp-rc-tab--active{color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border-color:var(--htp-border, #e2e8f0);border-bottom-color:var(--htp-surface, #fff)}.htp-rc-tab-badge{min-width:1.25rem;height:1.25rem;padding:0 6px;font-size:.6875rem;font-weight:700;line-height:1.25rem;text-align:center;color:#92400e;background:#fef3c7;border-radius:999px}.htp-rc-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.htp-rc-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.8125rem}.htp-rc-th{padding:12px 16px;text-align:left;font-weight:600;color:var(--htp-heading, #0f172a);background:#f1f5f9;border-bottom:1px solid var(--htp-border, #e2e8f0);white-space:nowrap}.htp-rc-td{padding:12px 16px;border-bottom:1px solid var(--htp-border, #e2e8f0);color:var(--htp-text, #475569);vertical-align:middle}.htp-rc-td--student{font-weight:600;color:var(--htp-heading, #0f172a)}.htp-rc-td--date{font-variant-numeric:tabular-nums;white-space:nowrap}.htp-rc-table tbody tr:hover .htp-rc-td{background:#f8fafc}.htp-rc-empty{padding:36px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-rc-empty--loading{font-style:italic}.htp-rc-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 16px 18px;border-top:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-rc-pagination-info{font-size:.8125rem;font-weight:600;color:var(--htp-text, #475569);font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:center}.htp-rc-pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.htp-rc-pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#14b8a6}.htp-rc-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.htp-rc-pagination-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-rc-status{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:600;text-transform:capitalize;border-radius:999px}.htp-rc-status--pending{color:#64748b;background:#f1f5f9}.htp-rc-status--approved{color:#166534;background:#dcfce7}.htp-rc-status--rejected{color:#991b1b;background:#fee2e2}.htp-rc-view{display:inline-flex;align-items:center;gap:6px;padding:0;font-size:inherit;font-family:inherit;font-weight:600;color:#1e3a5f;background:none;border:none;cursor:pointer;text-decoration:none}.htp-rc-view:hover{color:#14b8a6;text-decoration:underline}.htp-rc-view:focus-visible{outline:2px solid #14b8a6;outline-offset:2px;border-radius:4px}.htp-rc-modal-root{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.htp-rc-modal{width:100%;max-width:480px;max-height:min(90vh,640px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 25px 50px -12px #0f172a40;border:1px solid #e2e8f0}.htp-rc-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.htp-rc-modal-title{margin:0;font-size:1.125rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.htp-rc-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-6px -8px 0 0;padding:0;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}.htp-rc-modal-close:hover{background:#f1f5f9;color:#0f172a}.htp-rc-modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.htp-rc-detail-row{display:flex;flex-direction:column;gap:4px}.htp-rc-detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.htp-rc-detail-value{font-size:.9375rem;color:#0f172a}.htp-rc-comments{margin:0;padding:14px 16px;font-size:.875rem;line-height:1.55;color:#475569;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0}.htp-rc-modal-footer{display:flex;flex-wrap:wrap;gap:10px;padding:16px 22px 20px;border-top:1px solid #f1f5f9;flex-shrink:0}.htp-rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease}.htp-rc-btn:disabled{opacity:.55;cursor:not-allowed}.htp-rc-btn--approve{color:#fff;background:#16a34a}.htp-rc-btn--approve:hover:not(:disabled){background:#15803d}.htp-rc-btn--reject{color:#fff;background:#dc2626}.htp-rc-btn--reject:hover:not(:disabled){background:#b91c1c}.htp-rc-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-page--leave-fines{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.htp-page--leave-fines .htp-page-head{margin-bottom:0}.htp-page--leave-fines .htp-page-toolbar{flex-shrink:0}.htp-lf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.htp-lf-toolbar-filter{margin:0}.htp-lf-select{min-width:180px;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:var(--htp-heading, #0f172a);background:#f8fafc;border:1px solid var(--htp-border, #e2e8f0);border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.htp-lf-select:hover{border-color:#cbd5e1}.htp-lf-select:focus{outline:2px solid rgba(20,184,166,.35);outline-offset:1px}.htp-lf-select:disabled{opacity:.65;cursor:not-allowed}.htp-lf-card{margin-top:20px;background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:var(--htp-radius, 12px);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;min-width:0;max-width:100%;box-sizing:border-box}.htp-lf-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 20px 0;border-bottom:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-lf-tab{padding:10px 16px;margin-bottom:-1px;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--htp-muted, #64748b);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:color .15s ease,background .15s ease}.htp-lf-tab:hover{color:var(--htp-heading, #0f172a);background:#fff9}.htp-lf-tab--active{color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border-color:var(--htp-border, #e2e8f0);border-bottom-color:var(--htp-surface, #fff)}.htp-lf-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.htp-lf-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.8125rem}.htp-lf-th{padding:12px 14px;text-align:left;font-weight:600;color:var(--htp-heading, #0f172a);background:#f1f5f9;border-bottom:1px solid var(--htp-border, #e2e8f0);white-space:nowrap}.htp-lf-th--actions{text-align:center;width:100px}.htp-lf-td{padding:12px 14px;border-bottom:1px solid var(--htp-border, #e2e8f0);color:var(--htp-text, #475569);vertical-align:middle}.htp-lf-td--tutor{font-weight:600;color:var(--htp-heading, #0f172a)}.htp-lf-td--date{font-variant-numeric:tabular-nums;white-space:nowrap}.htp-lf-td--reason{max-width:280px;white-space:normal;line-height:1.45}.htp-lf-td--actions{text-align:center;white-space:nowrap}.htp-lf-table tbody tr:hover .htp-lf-td{background:#f8fafc}.htp-lf-empty{padding:36px 20px;text-align:center;color:var(--htp-muted, #64748b)}.htp-lf-empty--loading{font-style:italic}.htp-lf-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 16px 18px;border-top:1px solid var(--htp-border, #e2e8f0);background:#f8fafc}.htp-lf-pagination-info{font-size:.8125rem;font-weight:600;color:var(--htp-text, #475569);font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:center}.htp-lf-pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--htp-heading, #0f172a);background:var(--htp-surface, #fff);border:1px solid var(--htp-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.htp-lf-pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#14b8a6}.htp-lf-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.htp-lf-pagination-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-lf-status{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:600;text-transform:capitalize;border-radius:999px}.htp-lf-status--pending{color:#c2410c;background:#ffedd5}.htp-lf-status--approved,.htp-lf-status--paid{color:#166534;background:#dcfce7}.htp-lf-status--rejected{color:#991b1b;background:#fee2e2}.htp-lf-status--waived{color:#475569;background:#e2e8f0}.htp-lf-action-btns{display:inline-flex;align-items:center;justify-content:center;gap:8px}.htp-lf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:8px;cursor:pointer;background:#f8fafc;transition:background .15s ease,border-color .15s ease}.htp-lf-icon-btn:hover:not(:disabled){background:#f1f5f9}.htp-lf-icon-btn:disabled{opacity:.5;cursor:not-allowed}.htp-lf-icon-btn--approve{color:#16a34a;border-color:#bbf7d0}.htp-lf-icon-btn--approve:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.htp-lf-icon-btn--reject{color:#dc2626;border-color:#fecaca}.htp-lf-icon-btn--reject:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.htp-lf-icon-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}.htp-lf-dash{color:var(--htp-muted, #94a3b8);font-weight:500}
