.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#f7f8fb;color:#172033}.login-brand-panel{position:relative;min-height:100vh;padding:64px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(140deg,#091c3ad1,#154270b3),url(https://i.imgur.com/9U4wdOc.jpg) center / cover no-repeat}.brand-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.14),transparent 34%),linear-gradient(to top,rgba(5,18,38,.35),transparent 55%)}.brand-content{position:relative;z-index:1;width:min(680px,100%);color:#fff}.brand-kicker,.login-eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand-kicker{margin-bottom:20px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-content h1{margin:0;max-width:620px;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-.055em;font-weight:760}.brand-content>p{margin:24px 0 0;max-width:560px;color:#ffffffd1;font-size:17px;line-height:1.65}.brand-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.brand-proof span{padding:9px 12px;border-radius:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);font-size:13px;font-weight:600}.login-form-panel{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:48px clamp(28px,5vw,72px);overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(124,58,237,.08),transparent 28%),radial-gradient(circle at 18% 82%,rgba(14,165,233,.07),transparent 32%),#f8fafc}.login-form-panel:before{content:"";position:absolute;width:320px;height:320px;top:-170px;right:-120px;border-radius:50%;background:#7c3aed14;filter:blur(70px);pointer-events:none}.login-container{position:relative;isolation:isolate;width:min(470px,100%);padding:38px 38px 30px;border-radius:26px;border:1px solid rgba(255,255,255,.92);background:#ffffffe0;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:0 28px 75px #0f172a24,0 0 0 1px #7c3aed14,0 0 42px #38bdf814,0 0 64px #7c3aed12}.login-container:before{content:"";position:absolute;z-index:-2;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:27px;padding:1px;background:linear-gradient(135deg,#38bdf8b8,#7c3aed9e 42%,#ec489957 75%,#ffffff80);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-container:after{content:"";position:absolute;z-index:-3;top:12px;right:22px;bottom:-18px;left:22px;border-radius:28px;background:linear-gradient(90deg,#0ea5e938,#7c3aed38,#ec489929);filter:blur(28px);opacity:.72;pointer-events:none}.login-logo-row{display:flex;align-items:center;gap:12px;margin-bottom:38px}.login-logo{width:52px;height:52px;flex:0 0 auto;border-radius:15px;background:#fff center / contain no-repeat;background-origin:content-box;padding:4px;box-shadow:0 10px 28px #1c314f24,0 0 0 4px #7c3aed0a;border:1px solid rgba(124,58,237,.14)}.login-logo-row div:last-child{display:grid;gap:2px}.login-logo-row strong{color:#172033;font-size:15px;letter-spacing:-.01em}.login-logo-row span{color:#7b8494;font-size:12px}.login-heading{margin-bottom:28px}.login-eyebrow{padding:0;color:#6d28d9;background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-heading h2{margin:8px 0 10px;color:#111827;font-size:clamp(30px,4vw,38px);letter-spacing:-.045em;line-height:1.08}.login-heading p{margin:0;color:#737d8e;line-height:1.6;font-size:14px}.login-form{display:grid;gap:18px}.auth-field{display:grid;gap:8px}.auth-field>span{color:#364052;font-size:13px;font-weight:700}.auth-field input{width:100%;height:54px;box-sizing:border-box;padding:0 15px;border:1px solid #dce3ec;border-radius:14px;background:#ffffffeb;color:#172033;font:inherit;font-size:14px;outline:none;box-shadow:inset 0 1px #fffc;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.auth-field input::placeholder{color:#a3aab5}.auth-field input:disabled{cursor:wait;color:#7b8494;background:#f8fafcd1}.auth-field input:focus{border-color:#6366f1b8;background:#fff;box-shadow:0 0 0 4px #6366f11a,0 0 22px #38bdf81a,0 8px 22px #0f172a0d}.password-field{position:relative}.password-field input{padding-right:50px}.password-toggle{position:absolute;top:50%;right:9px;width:36px;height:36px;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#7f8998;cursor:pointer}.password-toggle:hover{background:#f1f4f8;color:#6d28d9}.password-toggle:disabled{cursor:wait;opacity:.55}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-support-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-4px;color:#9299a5;font-size:12px}.text-button,.toggle-button{border:0;padding:0;background:transparent;color:#6d28d9;font:inherit;font-weight:750;cursor:pointer}.text-button:disabled{color:#a3aab5;cursor:not-allowed}.auth-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #f0c9c9;border-radius:12px;background:#fff5f5f0;color:#9b3434;font-size:13px;line-height:1.45}.auth-alert svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.submit-button{position:relative;overflow:hidden;min-height:54px;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:linear-gradient(115deg,#172554,#2563eb 42%,#7c3aed);color:#fff;font:inherit;font-size:14px;font-weight:780;letter-spacing:.01em;cursor:pointer;box-shadow:0 14px 30px #4f46e538,0 0 26px #38bdf81a;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.submit-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.18) 48%,transparent 70%);transform:translate(-120%);transition:transform .55s ease}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 38px #4f46e547,0 0 30px #38bdf824}.submit-button:hover:not(:disabled):before{transform:translate(120%)}.submit-button:disabled{opacity:.65;cursor:not-allowed}.button-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-toggle{display:flex;justify-content:center;gap:6px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(148,163,184,.18);color:#737d8e;font-size:13px}.login-footer{margin-top:28px;color:#a0a7b2;font-size:11px;text-align:center}@media (max-width: 1100px){.login-container{padding:34px 30px 28px}}@media (max-width: 980px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100svh;padding:32px 22px;background:linear-gradient(145deg,#07142bd6,#16325cb8),url(https://i.imgur.com/9U4wdOc.jpg) center 26% / cover no-repeat}.login-form-panel:before{top:auto;right:-90px;bottom:-140px;background:#6366f13d}.login-container{width:min(480px,100%)}.login-logo-row{margin-bottom:32px}}@media (max-width: 520px){.login-form-panel{align-items:center;padding:16px 12px;background-position:58% center}.login-container{width:100%;padding:26px 20px 22px;border-radius:22px;background:#ffffffeb}.login-container:before{border-radius:23px}.login-heading h2{font-size:29px}.login-support-row{align-items:flex-start;flex-direction:column;gap:8px}.login-footer{margin-top:24px}}@media (max-height: 760px) and (max-width: 980px){.login-form-panel{align-items:flex-start}.login-logo-row{margin-bottom:22px}.login-heading{margin-bottom:20px}.login-footer{margin-top:18px}}@media (prefers-reduced-motion: reduce){.submit-button,.submit-button:before,.auth-field input{transition:none}.button-spinner{animation-duration:1.4s}}.notification-center{position:relative}.notification-trigger{position:relative;width:42px;height:42px;border:1px solid var(--border);border-radius:13px;background:#fff;display:grid;place-items:center;color:#334155;cursor:pointer}.notification-trigger svg{width:20px;height:20px}.notification-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#7c3aed;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.notification-panel{position:absolute;top:52px;right:0;width:min(390px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px #0f172a29;z-index:40;overflow:hidden}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border)}.notification-panel-header span,.notification-panel-header strong{display:block}.notification-panel-header span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7c3aed;font-weight:800}.notification-panel-header strong{font-size:15px;margin-top:2px}.notification-panel-header button{border:0;background:transparent;color:#6d28d9;font-size:11px;font-weight:700;cursor:pointer}.notification-panel-header button:disabled{color:#cbd5e1;cursor:default}.notification-list{max-height:430px;overflow:auto}.notification-item{width:100%;border:0;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;padding:14px 16px;display:grid;grid-template-columns:9px 1fr;gap:10px;cursor:pointer}.notification-item.unread{background:#faf8ff}.notification-item:hover{background:#f8fafc}.notification-dot{width:7px;height:7px;border-radius:999px;background:#cbd5e1;margin-top:7px}.notification-item.unread .notification-dot{background:#7c3aed}.notification-copy strong,.notification-copy span,.notification-copy small{display:block}.notification-copy strong{font-size:13px;color:#0f172a}.notification-copy span{font-size:12px;line-height:1.5;color:#475569;margin-top:3px}.notification-copy small{font-size:10px;color:#94a3b8;margin-top:7px}.notification-state{padding:28px 18px;text-align:center;color:#64748b;font-size:12px}.notification-state.error{color:#b91c1c}.notification-state button{margin-top:8px;border:0;border-radius:9px;background:#111827;color:#fff;padding:8px 10px;font-weight:700;cursor:pointer}@media (max-width:700px){.notification-panel{right:-52px}.notification-trigger{width:38px;height:38px}}.student-shell{min-height:100vh;background:var(--color-bg,#f5f7fb);color:var(--text);display:flex}.student-sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:linear-gradient(180deg,#0b1020,#121a34);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:40;border-right:1px solid rgba(255,255,255,.05);box-shadow:18px 0 50px #090f1f14}.student-brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.student-brand-mark{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#7c3aed,#4f46e5);display:grid;place-items:center;font-weight:850;letter-spacing:-.03em;box-shadow:0 10px 26px #6366f14d,inset 0 1px #fff3}.student-brand strong,.student-brand span{display:block}.student-brand strong{font-size:14px;letter-spacing:-.01em}.student-brand span{font-size:11px;color:#9fa8bd;margin-top:2px;letter-spacing:.03em}.student-nav{display:grid;gap:6px;margin-top:22px}.student-nav a,.student-logout{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;color:#b8c1d5;text-decoration:none;border:1px solid transparent;background:transparent;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.student-nav a:hover,.student-logout:hover{background:#fff1;color:#fff}.student-nav a.active{background:linear-gradient(135deg,#7c3aed2e,#4f46e524);border-color:#a78bfa29;color:#fff;box-shadow:inset 0 0 24px #6366f10a}.student-nav a.active:before{content:"";position:absolute;left:-6px;width:3px;height:24px;border-radius:999px;background:linear-gradient(#a78bfa,#6366f1);box-shadow:0 0 12px #8b5cf6a6}.student-nav svg,.student-logout svg,.student-menu-btn svg,.student-bottom-nav svg{width:20px;height:20px;flex:0 0 auto}.student-logout{margin-top:auto;width:100%}.student-main{margin-left:264px;min-width:0;flex:1}.student-topbar{min-height:82px;background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,233,241,.9);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.student-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:800}.student-topbar h1{font-size:21px;letter-spacing:-.025em;margin:3px 0 0}.student-topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.student-user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border:1px solid var(--border);background:#ffffffb8;border-radius:14px}.student-user-chip strong,.student-user-chip span{display:block}.student-user-chip strong{font-size:12px}.student-user-chip span{font-size:11px;color:var(--muted)}.student-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ede9fe,#eef2ff);color:#5b21b6;display:grid;place-items:center;font-weight:800;overflow:hidden;border:1px solid rgba(139,92,246,.12)}.student-page{padding:32px;max-width:1440px;margin:0 auto}.student-menu-btn,.student-backdrop,.student-bottom-nav{display:none}@media (max-width:980px){.student-sidebar{transform:translate(-100%);transition:transform .22s ease}.student-sidebar.is-open{transform:translate(0)}.student-main{margin-left:0}.student-menu-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);background:#fff;border-radius:12px;margin-right:12px;color:#27324a}.student-topbar{justify-content:flex-start;padding:0 24px}.student-topbar-actions{margin-left:auto}.student-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#090f1f80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30}.student-page{padding:24px}}@media (max-width:640px){.student-topbar{min-height:68px;padding:0 14px}.student-eyebrow{display:none}.student-topbar h1{font-size:17px;margin:0}.student-user-chip{padding:4px;border:0;background:transparent}.student-user-chip>div:last-child{display:none}.student-page{padding:18px 14px 94px}.student-sidebar{width:84%;max-width:300px}.student-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:10px;background:#0b1020f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:19px;padding:7px;z-index:25;box-shadow:0 20px 50px #090f1f4d}.student-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:#8f99af;text-decoration:none;font-size:9px;font-weight:650;padding:7px 2px;border-radius:12px}.student-bottom-nav a.active{background:linear-gradient(135deg,#7c3aed33,#4f46e529);color:#fff}.student-bottom-nav svg{width:18px;height:18px}}.contact-card-container{margin:30px 0;perspective:1000px}.contact-card{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:16px;padding:24px;position:relative;overflow:hidden;border:2px solid transparent;background-clip:padding-box;box-shadow:0 8px 32px #0000004d;transition:all .4s cubic-bezier(.4,0,.2,1)}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#0f8,#00d4ff,#ff006e);opacity:0;transition:opacity .4s;border-radius:16px;z-index:-1}.contact-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #0f83}.contact-card:hover:before{opacity:.15}.contact-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.contact-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,#0f8,#00d4ff);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0f86;flex-shrink:0;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 8px 24px #0f86}50%{box-shadow:0 12px 32px #0f89}}.whatsapp-icon{width:32px;height:32px;color:#1a1a2e;stroke-width:2.5}.contact-info h3{margin:0 0 4px;color:#0f8;font-size:18px;font-weight:700;letter-spacing:.5px;text-shadow:0 0 10px rgba(0,255,136,.3)}.contact-info p{margin:0;color:#00d4ff;font-size:13px;font-weight:500}.contact-body{margin-bottom:20px}.phone-display{display:flex;align-items:center;gap:12px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);padding:12px 16px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.phone-label{font-size:20px}.phone-number{color:#0f8;font-weight:700;font-size:14px;letter-spacing:.5px;font-family:Monaco,Courier New,monospace}.contact-footer{display:flex;gap:12px}.btn-whatsapp-pro{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#0f8,#00d4ff,#25d366);color:#1a1a2e;padding:14px 24px;border-radius:8px;border:none;cursor:pointer;font-weight:700;font-size:14px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00ff884d;position:relative;overflow:hidden}.btn-whatsapp-pro:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-whatsapp-pro:hover:before{left:100%}.btn-whatsapp-pro:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00ff8880;letter-spacing:1px}.btn-whatsapp-pro:active{transform:translateY(-2px)}.btn-icon{width:20px;height:20px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.contact-badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#ff006e,#ffbe0b);color:#1a1a2e;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.5px;box-shadow:0 4px 12px #ff006e4d}@media (max-width: 768px){.contact-card{padding:20px}.contact-icon-wrapper{width:56px;height:56px}.whatsapp-icon{width:28px;height:28px}.contact-info h3{font-size:16px}.contact-info p{font-size:12px}.btn-whatsapp-pro{padding:12px 20px;font-size:13px}.btn-icon{width:18px;height:18px}.contact-badge{font-size:10px;padding:5px 10px}}.student-home{display:grid;gap:24px}.student-hero-card{background:linear-gradient(135deg,#111827,#312e81);color:#fff;border-radius:24px;padding:32px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;box-shadow:var(--shadow-lg)}.student-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#a5b4fc}.student-hero-card h2{max-width:720px;font-size:clamp(26px,3vw,40px);line-height:1.08;margin:8px 0 12px}.student-hero-card p{max-width:720px;color:#d1d5db}.student-primary-action{background:#fff;color:#111827!important;text-decoration:none!important;padding:12px 16px;border-radius:12px;font-weight:800;white-space:nowrap}.student-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.student-metrics-grid article,.student-panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.student-metrics-grid article{padding:20px}.student-metrics-grid article span,.student-metrics-grid article small{display:block}.student-metrics-grid article span{font-size:12px;color:var(--muted);font-weight:700}.student-metrics-grid article strong{display:block;font-size:28px;margin:8px 0 4px}.student-metrics-grid article small{color:var(--muted);font-size:12px}.student-home-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.student-panel{padding:22px}.student-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.student-panel-head h3{font-size:20px;margin:4px 0 0}.student-panel-head>a,.next-week-card>a{font-size:13px;font-weight:700}.next-week-card{border:1px solid var(--border);border-radius:15px;padding:18px}.next-week-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.next-week-card strong,.next-week-card span{display:block}.next-week-card span{color:var(--muted);font-size:13px}.week-progress-track{height:8px;border-radius:999px;background:#eef2f7;margin:18px 0;overflow:hidden}.week-progress-track span{height:100%;background:linear-gradient(90deg,#ec4899,#7c3aed);border-radius:999px}.student-quick-actions{display:grid;gap:10px}.student-quick-actions .student-panel-head{margin-bottom:6px}.student-quick-actions>a{padding:14px;border:1px solid var(--border);border-radius:14px;text-decoration:none!important;color:var(--text)!important}.student-quick-actions>a:hover{background:#f9fafb}.student-quick-actions strong,.student-quick-actions span{display:block}.student-quick-actions span{font-size:12px;color:var(--muted);margin-top:2px}.student-empty,.student-home-skeleton{padding:28px;background:#fff;border:1px solid var(--border);border-radius:18px;color:var(--muted)}@media (max-width:1000px){.student-metrics-grid{grid-template-columns:repeat(2,1fr)}.student-home-grid{grid-template-columns:1fr}}@media (max-width:640px){.student-hero-card{padding:24px;align-items:flex-start;flex-direction:column}.student-primary-action{width:100%;text-align:center}.student-metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.student-metrics-grid article{padding:16px}.student-metrics-grid article strong{font-size:22px}.student-panel{padding:18px}.student-panel-head{flex-direction:column}.next-week-card>div:first-child{display:block}}.student-profile-v2{display:grid;gap:20px}.profile-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.profile-heading h2{margin:4px 0 6px;font-size:28px}.profile-heading p{margin:0;color:var(--muted)}.profile-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#7c3aed}.profile-status{padding:8px 11px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:800}.profile-feedback{padding:12px 14px;border-radius:12px;font-size:13px}.profile-feedback.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.profile-feedback.error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.profile-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.profile-photo-card,.profile-form-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}.profile-photo-card{padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.profile-photo-preview{width:132px;height:132px;border-radius:30px;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:grid;place-items:center;overflow:hidden;color:#5b21b6;font-size:34px;font-weight:850;box-shadow:0 16px 40px #4f46e529}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-card strong{display:block}.profile-photo-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.profile-photo-button{display:inline-flex;justify-content:center;width:100%;padding:11px 14px;border-radius:12px;background:#111827;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.profile-photo-button input{display:none}.profile-photo-remove{border:0;background:transparent;color:#b91c1c;font-size:12px;font-weight:700;cursor:pointer}.profile-form-card{padding:24px}.profile-section-head span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.profile-section-head h3{margin:4px 0 18px;font-size:20px}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-form-grid label{display:grid;gap:8px}.profile-form-grid label>span{font-size:12px;font-weight:700;color:#475569}.profile-form-grid input{height:50px;border:1px solid var(--border);border-radius:13px;padding:0 14px;font:inherit;outline:none;background:#fff}.profile-form-grid input:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.profile-form-grid input:disabled{background:#f8fafc;color:#64748b}.profile-email-field{grid-column:1/-1}.profile-email-field small{color:var(--muted);font-size:11px}.profile-security-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:16px;border-radius:14px;background:#f8fafc;border:1px solid var(--border)}.profile-security-icon{width:30px;height:30px;border-radius:10px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:900}.profile-security-note strong,.profile-security-note p{display:block}.profile-security-note p{margin:3px 0 0;color:var(--muted);font-size:12px}.profile-actions{display:flex;justify-content:flex-end;margin-top:20px}.profile-actions button{border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#111827,#312e81);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #312e812e}.profile-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-photo-card{align-items:flex-start;text-align:left}.profile-photo-preview{width:104px;height:104px;border-radius:24px}.profile-photo-button{width:auto}.profile-form-grid{grid-template-columns:1fr}.profile-email-field{grid-column:auto}}@media (max-width:640px){.profile-heading{align-items:flex-start;flex-direction:column}.profile-form-card,.profile-photo-card{padding:18px}.profile-actions button{width:100%}}.student-weeks{display:grid;gap:22px}.weeks-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.weeks-header h2{font-size:30px;letter-spacing:-.035em;margin:4px 0 6px;color:#141b2f}.weeks-header p{color:var(--muted);max-width:620px}.weeks-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#6d5dfc;font-weight:850}.weeks-summary{text-align:right;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 14px;min-width:128px;box-shadow:var(--shadow-sm)}.weeks-summary strong,.weeks-summary span{display:block}.weeks-summary strong{font-size:28px;letter-spacing:-.04em}.weeks-summary span{font-size:11px;color:var(--muted)}.weeks-progress{height:9px;background:#e9edf5;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0d}.weeks-progress span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#8b5cf6);border-radius:999px;box-shadow:0 0 16px #6366f14d}.weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.week-card{position:relative;text-align:left;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid var(--border);border-radius:17px;padding:16px;min-height:120px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:var(--text);box-shadow:var(--shadow-sm)}.week-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#c9c7ff}.week-card:disabled{cursor:not-allowed;opacity:.56;background:#f8fafc}.week-state-dot{width:9px;height:9px;border-radius:50%;display:block;background:#cbd5e1;margin-bottom:16px;box-shadow:0 0 0 4px #cbd5e129}.week-card.released .week-state-dot{background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.week-card.completed{border-color:#d9d5ff;background:linear-gradient(180deg,#fff,#faf8ff)}.week-card.completed .week-state-dot{background:#6d5dfc;box-shadow:0 0 0 4px #6d5dfc1f}.week-number,.week-label{display:block}.week-number{font-size:14px;font-weight:850;color:#182033}.week-label{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.week-badge{position:absolute;right:10px;top:10px;font-size:9px;background:#f0edff;color:#5b21b6;border:1px solid #e4ddff;border-radius:999px;padding:4px 7px;font-weight:850}.week-details{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow-md)}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.details-header h3{margin:4px 0 0;font-size:21px;letter-spacing:-.02em}.close-btn{border:1px solid var(--border);background:#fff;border-radius:11px;width:38px;height:38px;font-size:20px;cursor:pointer;color:#667085;transition:.18s}.close-btn:hover{background:#f7f8fc;color:#182033}.exercises-list{display:grid;gap:10px}.exercise-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:13px;background:#fcfdff}.exercise-number{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#eef0ff,#f5f1ff);color:#5b21b6;display:grid;place-items:center;font-weight:850;font-size:12px}.exercise-info strong,.exercise-info span{display:block}.exercise-info strong{color:#1f2937}.exercise-info span{font-size:11px;color:var(--muted);margin-top:2px}.exercise-stats{display:flex;gap:8px}.exercise-stats span{font-size:11px;background:#f6f7fb;border:1px solid #edf0f5;border-radius:9px;padding:6px 8px;color:#475467}.student-weeks-error,.no-exercises{background:#fff;border:1px solid var(--border);border-radius:17px;padding:24px;color:var(--muted);box-shadow:var(--shadow-sm)}.student-weeks-error button{margin-top:10px;border:0;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:10px 14px;border-radius:10px;font-weight:750;cursor:pointer}@media (max-width:640px){.weeks-header{align-items:flex-start;flex-direction:column}.weeks-summary{text-align:left;min-width:0}.weeks-summary strong{font-size:24px}.weeks-grid{grid-template-columns:repeat(2,1fr)}.week-card{min-height:112px;padding:14px}.week-details{padding:18px}.exercise-item{grid-template-columns:32px 1fr}.exercise-stats{grid-column:2;flex-wrap:wrap}}.week-locked-notice{margin-top:18px;padding:18px;border:1px solid #ddd6fe;border-radius:14px;background:linear-gradient(135deg,#faf8ff,#f5f7ff);color:#5b21b6}.week-locked-notice strong{display:block;font-size:14px}.week-locked-notice p{margin:6px 0 0;color:#6b7280;font-size:13px;line-height:1.6}.week-calendar{font-size:11px;font-weight:700;color:#475569}.week-calendar-index{font-size:10px;color:#94a3b8}.week-card.locked .week-calendar,.week-card.locked .week-calendar-index{color:#94a3b8}.week-teacher-feedback{margin-top:18px;padding:16px;border-radius:12px;background:#f5f3ff;border:1px solid #ddd6fe}.week-teacher-feedback strong{display:block;margin-bottom:6px;color:#5b21b6}.week-teacher-feedback p{margin:0;color:#475569;line-height:1.6}.details-header p{margin:6px 0 0;color:#64748b;font-size:12px}.week-editor{display:flex;flex-direction:column;gap:18px}.manual-exercises{display:flex;flex-direction:column;gap:12px}.manual-exercises-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.manual-exercises-heading>div{display:flex;flex-direction:column;gap:4px}.manual-exercises-heading strong{font-size:15px;color:#1e293b}.manual-exercises-heading span{font-size:12px;color:#64748b}.manual-exercises-heading button,.week-save,.week-complete{border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.manual-exercises-heading button{background:#f1f5f9;color:#334155}.manual-exercise-row{display:grid;grid-template-columns:34px minmax(150px,1.5fr) minmax(130px,1fr) 110px 110px minmax(160px,1.4fr) 36px;gap:8px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.manual-exercise-index{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f8fafc;color:#64748b;font-size:12px;font-weight:800}.manual-exercise-row input{min-width:0;border:1px solid #dbe2ea;border-radius:9px;padding:10px 11px;font:inherit;font-size:12px;color:#0f172a;background:#fff}.manual-exercise-row input:focus{outline:none;border-color:#a76db5;box-shadow:0 0 0 3px #a76db51f}.manual-exercise-row input:disabled{background:#f8fafc;color:#475569}.manual-remove{border:0;background:#fff1f2;color:#be123c;width:32px;height:32px;border-radius:9px;font-size:18px;cursor:pointer}.week-editor-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.week-save{background:#f1f5f9;color:#334155}.week-complete{background:linear-gradient(135deg,#8b4f9d,#a76db5);color:#fff}.week-save:disabled,.week-complete:disabled{opacity:.55;cursor:not-allowed}.week-action-feedback{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:13px}@media (max-width:900px){.manual-exercise-row{grid-template-columns:34px 1fr 1fr}.manual-exercise-row input:nth-of-type(3),.manual-exercise-row input:nth-of-type(4),.manual-exercise-row input:nth-of-type(5){grid-column:span 1}.manual-remove{grid-column:3}}@media (max-width:640px){.manual-exercises-heading{align-items:stretch;flex-direction:column}.manual-exercise-row{grid-template-columns:32px 1fr}.manual-exercise-row input,.manual-remove{grid-column:2}.week-editor-actions{flex-direction:column}.week-save,.week-complete{width:100%}}.student-tracking{display:grid;gap:22px}.tracking-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#111827,#312e81);color:#fff;box-shadow:var(--shadow-lg)}.tracking-kicker{display:block;color:#7c3aed;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tracking-hero .tracking-kicker{color:#a5b4fc}.tracking-hero h2{margin:7px 0 10px;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em}.tracking-hero p{max-width:680px;color:#d1d5db;line-height:1.65}.tracking-progress-ring{width:116px;height:116px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#a78bfa var(--progress),rgba(255,255,255,.12) 0)}.tracking-progress-ring:before{content:"";grid-area:1/1;width:92px;height:92px;border-radius:50%;background:#1d2355}.tracking-progress-ring div{position:relative;grid-area:1/1;text-align:center}.tracking-progress-ring strong,.tracking-progress-ring span{display:block}.tracking-progress-ring strong{font-size:25px}.tracking-progress-ring span{color:#c7d2fe;font-size:10px}.tracking-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tracking-metrics article{padding:19px 20px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.tracking-metrics span,.tracking-metrics small{display:block;color:var(--muted)}.tracking-metrics span{font-size:12px;font-weight:700}.tracking-metrics strong{display:block;margin:5px 0 2px;font-size:27px}.tracking-metrics small{font-size:11px}.tracking-content-card{padding:22px;border:1px solid var(--border);border-radius:20px;background:#fff}.tracking-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.tracking-card-head h3{margin:4px 0 0;font-size:21px}.tracking-filters{display:flex;flex-wrap:wrap;gap:7px}.tracking-filters button{padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.tracking-filters button:hover,.tracking-filters button.active{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}.tracking-week-list{display:grid;gap:9px}.tracking-week{overflow:hidden;border:1px solid var(--border);border-radius:15px}.tracking-week.is-open{border-color:#c4b5fd;box-shadow:0 12px 30px #4f46e514}.tracking-week-summary{width:100%;display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}.tracking-week-summary:hover{background:#fafbff}.tracking-status-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f3f4f6;color:#64748b}.tracking-status-icon svg,.tracking-rule-note>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tracking-week.completed .tracking-status-icon{background:#ecfdf3;color:#168052}.tracking-week.released .tracking-status-icon{background:#f3efff;color:#6d28d9}.tracking-week-title strong,.tracking-week-title small,.tracking-week-count small{display:block}.tracking-week-title strong{font-size:13px}.tracking-week-title small,.tracking-week-count small{margin-top:2px;color:var(--muted);font-size:10px}.tracking-week-count{text-align:right;font-size:14px;font-weight:800}.tracking-status-label{min-width:82px;padding:6px 9px;border-radius:999px;text-align:center;font-size:10px;font-weight:800}.tracking-status-label.completed{background:#ecfdf3;color:#16794b}.tracking-status-label.released{background:#f3efff;color:#6d28d9}.tracking-status-label.locked{background:#f3f4f6;color:#64748b}.tracking-week-details{padding:4px 16px 16px 66px;border-top:1px solid #f0f2f6}.tracking-exercise{display:grid;grid-template-columns:30px minmax(150px,1fr) minmax(70px,.25fr) minmax(70px,.25fr);align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f0f2f6}.tracking-exercise:last-child{border-bottom:0}.tracking-exercise>span{color:#a0a8b7;font-size:11px;font-weight:800}.tracking-exercise strong,.tracking-exercise small{display:block}.tracking-exercise strong{font-size:12px}.tracking-exercise small{color:var(--muted);font-size:10px}.tracking-teacher-note{margin-top:12px;padding:15px 16px;border:1px solid #dbeafe;border-radius:13px;background:#f5f9ff}.tracking-teacher-note span{color:#1d4ed8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tracking-teacher-note p{margin:6px 0 0;color:#334155;font-size:13px;line-height:1.6}.tracking-empty{padding:30px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center;font-size:13px}.tracking-empty.compact{margin-top:12px;padding:20px}.tracking-rule-note{display:flex;align-items:flex-start;gap:13px;padding:17px 18px;border:1px solid #ddd6fe;border-radius:16px;background:linear-gradient(135deg,#faf8ff,#f5f7ff);color:#5b21b6}.tracking-rule-note>svg{flex:0 0 auto;margin-top:1px}.tracking-rule-note strong{display:block;font-size:13px}.tracking-rule-note p{margin:4px 0 0;color:#6b7280;font-size:12px;line-height:1.55}.tracking-state{min-height:240px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-radius:20px;background:#fff;color:var(--muted)}.tracking-spinner{width:17px;height:17px;border:2px solid #ddd6fe;border-top-color:#7c3aed;border-radius:50%;animation:tracking-spin .7s linear infinite}.tracking-state-error{flex-direction:column;text-align:center}.tracking-state-error p{margin:0}.tracking-state-error button{padding:9px 13px;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:750;cursor:pointer}@keyframes tracking-spin{to{transform:rotate(360deg)}}@media (max-width:980px){.tracking-metrics{grid-template-columns:repeat(2,1fr)}.tracking-card-head{display:grid}.tracking-week-details{padding-left:16px}}@media (max-width:640px){.tracking-hero{align-items:flex-start;padding:24px;flex-direction:column}.tracking-progress-ring{width:96px;height:96px}.tracking-progress-ring:before{width:76px;height:76px}.tracking-progress-ring strong{font-size:21px}.tracking-metrics{gap:9px}.tracking-metrics article{padding:15px}.tracking-metrics strong{font-size:22px}.tracking-content-card{padding:16px}.tracking-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.tracking-week-summary{grid-template-columns:auto 1fr auto;gap:10px;padding:13px 11px}.tracking-week-count{display:none}.tracking-status-label{min-width:70px}.tracking-exercise{grid-template-columns:24px 1fr}.tracking-exercise>div:nth-child(n+3){display:none}.tracking-week-details{padding:2px 12px 13px}}@media (prefers-reduced-motion:reduce){.tracking-spinner{animation-duration:1.4s}}.student-video-classes{display:grid;gap:22px}.video-classes-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.video-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#7c3aed}.video-classes-hero h2{margin:4px 0 6px;font-size:30px}.video-classes-hero p{margin:0;color:#64748b;max-width:720px}.video-library-count{min-width:150px;background:linear-gradient(135deg,#111827,#312e81);color:#fff;padding:16px 18px;border-radius:18px}.video-library-count strong,.video-library-count span{display:block}.video-library-count strong{font-size:30px}.video-library-count span{font-size:11px;color:#cbd5e1}.video-library-controls{display:grid;gap:14px;background:#fff;border:1px solid #e5e7eb;padding:16px;border-radius:18px}.video-library-controls>input{width:min(420px,100%);border:1px solid #dbe2ea;border-radius:12px;padding:12px 14px;font:inherit}.video-category-tabs{display:flex;gap:8px;flex-wrap:wrap}.video-category-tabs button{border:1px solid #dbe2ea;background:#fff;color:#475569;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}.video-category-tabs button.active{background:#111827;color:#fff;border-color:#111827}.video-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.student-video-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #0f172a0d;transition:transform .2s ease,box-shadow .2s ease}.student-video-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #0f172a17}.student-video-cover{position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#111827;cursor:pointer;overflow:hidden}.student-video-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.student-video-card:hover .student-video-cover img{transform:scale(1.03)}.video-generic-cover{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#6d28d9);color:#fff;font-weight:800}.video-play-mark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:#fffffff0;color:#111827;display:grid;place-items:center;box-shadow:0 8px 24px #0f172a40}.video-play-mark svg{width:24px;height:24px;margin-left:3px}.student-video-content{padding:17px;display:grid;gap:10px}.student-video-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.student-video-meta span{background:#ede9fe;color:#6d28d9;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.student-video-meta small{color:#94a3b8}.student-video-content h3{margin:0;font-size:17px;line-height:1.4}.student-video-content p{margin:0;color:#64748b;line-height:1.55;font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.watch-class-button{margin-top:4px;border:0;background:#111827;color:#fff;border-radius:12px;padding:11px 13px;font-weight:800;cursor:pointer}.video-library-state{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:34px;text-align:center;color:#64748b}.video-library-state strong{display:block;color:#111827;margin-bottom:5px}.video-library-state p{margin:5px 0}.video-library-state button{margin-top:10px;border:0;background:#111827;color:#fff;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}.student-video-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab8;display:grid;place-items:center;padding:22px;z-index:100}.student-video-dialog{width:min(900px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px #0f172a66}.student-video-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px}.student-video-dialog-header span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7c3aed;font-weight:800}.student-video-dialog-header h3{margin:4px 0 0;font-size:20px}.student-video-dialog-header button{border:0;background:#f3f4f6;width:36px;height:36px;border-radius:10px;font-size:24px;cursor:pointer}.student-video-player{aspect-ratio:16/9;background:#000}.student-video-player iframe{width:100%;height:100%;border:0}.external-video-player{height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:#fff}.external-video-player a{background:#fff;color:#111827;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800}.student-video-description{padding:18px 20px;margin:0;color:#64748b;line-height:1.6}@media (max-width:700px){.video-classes-hero{flex-direction:column;align-items:stretch}.video-library-count{min-width:0}.video-classes-hero h2{font-size:25px}.video-classes-grid{grid-template-columns:1fr}.student-video-modal{padding:10px}.student-video-dialog{border-radius:16px}}.student-questions{background:#fff;border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm)}.student-questions .questions-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.student-questions .questions-header h2{margin:4px 0 6px;color:#141b2f;font-size:28px;letter-spacing:-.035em}.student-questions .questions-header p{margin:0;color:var(--muted);font-size:13px}.student-questions .questions-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#6d5dfc;font-weight:850}.student-questions .btn-nova-pergunta{padding:11px 16px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:0;border-radius:11px;cursor:pointer;font-weight:750;font-size:12px;box-shadow:0 10px 22px #6366f12b}.student-questions .form-card{background:#fafbfe;border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:24px}.student-questions .form-card h3{margin:0 0 16px;color:#182033;font-size:17px}.student-questions .form-group{margin-bottom:16px}.student-questions .form-group label{display:block;margin-bottom:7px;font-weight:700;color:#344054;font-size:12px}.student-questions .form-group textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:11px;font-size:13px;min-height:120px;font-family:inherit;resize:vertical;outline:none}.student-questions .form-group textarea:focus{border-color:#a5a3ff;box-shadow:0 0 0 4px #6366f117}.student-questions .form-actions{display:flex;gap:10px}.student-questions .btn-enviar,.student-questions .btn-cancelar{flex:1;padding:11px 14px;border:0;border-radius:10px;cursor:pointer;font-weight:750;font-size:12px}.student-questions .btn-enviar{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.student-questions .btn-enviar:disabled{opacity:.6;cursor:not-allowed}.student-questions .btn-cancelar{background:#eef1f6;color:#475467}.student-questions .questions-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid var(--border);flex-wrap:wrap}.student-questions .tab-btn{padding:11px 14px;border:0;background:transparent;color:#667085;font-weight:700;cursor:pointer;border-radius:9px 9px 0 0;font-size:12px}.student-questions .tab-btn:hover{background:#f8f9fd;color:#27324a}.student-questions .tab-btn.active{color:#5b21b6;border-bottom:2px solid #6d5dfc}.student-questions .questions-list{display:flex;flex-direction:column;gap:12px}.student-questions .pergunta-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px;transition:box-shadow .18s,border-color .18s}.student-questions .pergunta-card.pending{background:#fffcf7;border-left:3px solid #f59e0b}.student-questions .pergunta-card.answered{background:#f8fdf9;border-left:3px solid #22c55e}.student-questions .pergunta-card:hover{box-shadow:var(--shadow-sm);border-color:#d8dde7}.student-questions .pergunta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.student-questions .pergunta-status{font-size:10px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.04em}.student-questions .pergunta-data{font-size:11px;color:#98a2b3}.student-questions .pergunta-title{display:block;margin-bottom:6px;color:#182033}.student-questions .pergunta-texto{color:#475467;font-size:13px;line-height:1.6;margin:0}.student-questions .resposta-box{background:#fff;padding:14px;border-radius:11px;border:1px solid #dcefe2;border-left:3px solid #22c55e;margin-top:14px}.student-questions .resposta-label{font-weight:800;color:#166534;font-size:11px;margin-bottom:6px}.student-questions .resposta-texto{color:#475467;font-size:13px;margin:0;line-height:1.6}.student-questions .empty-state{padding:42px 24px;background:#fafbfe;border:1px dashed #d5dbe6;border-radius:14px;text-align:center}.student-questions .empty-state p{margin:0;color:var(--muted);font-size:13px}.student-questions .loading{text-align:center;padding:50px 20px;color:var(--muted);font-size:13px}@media (max-width:768px){.student-questions{padding:18px}.student-questions .questions-header{flex-direction:column;align-items:flex-start}.student-questions .btn-nova-pergunta{width:100%}.student-questions .form-actions{flex-direction:column}.student-questions .btn-enviar,.student-questions .btn-cancelar{width:100%}.student-questions .pergunta-header{align-items:flex-start;flex-direction:column;gap:6px}}.student-ranking{display:grid;gap:22px}.ranking-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.ranking-heading h2{font-size:28px;margin:4px 0 6px}.ranking-heading p{color:var(--muted)}.ranking-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#7c3aed}.own-rank-card{min-width:190px;background:#111827;color:#fff;border-radius:18px;padding:18px 20px;text-align:right}.own-rank-card span,.own-rank-card small{display:block;color:#cbd5e1;font-size:11px}.own-rank-card strong{display:block;font-size:30px;margin:4px 0}.ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.podium-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px 18px;text-align:center;box-shadow:var(--shadow-sm);position:relative}.podium-card.current-user{outline:2px solid #c4b5fd}.podium-1{background:linear-gradient(180deg,#fff8dc,#fff);border-color:#f6d365}.podium-2{background:linear-gradient(180deg,#f8fafc,#fff)}.podium-3{background:linear-gradient(180deg,#fff1e8,#fff);border-color:#fed7aa}.podium-position{position:absolute;top:14px;left:14px;font-weight:900;color:#64748b}.podium-avatar{width:72px;height:72px;border-radius:22px;margin:8px auto 12px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:900;font-size:24px;overflow:hidden}.podium-avatar img{width:100%;height:100%;object-fit:cover}.podium-card>strong{display:block}.podium-points{font-size:22px;font-weight:900;margin:10px 0 2px}.podium-card small{color:var(--muted)}.ranking-list{display:grid;gap:10px}.ranking-row{display:grid;grid-template-columns:58px minmax(0,1fr) 110px 110px;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow-sm)}.ranking-row.current-user{border-color:#c4b5fd;background:#faf8ff}.ranking-position{width:42px;height:42px;border-radius:12px;background:#f3f4f6;display:grid;place-items:center;color:#475569}.ranking-person{display:flex;align-items:center;gap:12px;min-width:0}.ranking-avatar{width:42px;height:42px;border-radius:13px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:800;overflow:hidden}.ranking-avatar img{width:100%;height:100%;object-fit:cover}.ranking-person>div:last-child{display:flex;align-items:center;gap:8px;min-width:0}.ranking-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-current{font-size:10px;padding:3px 7px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-weight:800}.ranking-stat span,.ranking-stat strong{display:block;text-align:right}.ranking-stat span{font-size:11px;color:var(--muted)}.ranking-stat strong{font-size:16px;margin-top:2px}.ranking-empty,.ranking-error,.ranking-loading{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;color:var(--muted);text-align:center}.retry-btn{margin-top:12px;border:0;border-radius:10px;padding:10px 14px;background:#111827;color:#fff;font-weight:700;cursor:pointer}@media (max-width:800px){.ranking-podium{grid-template-columns:1fr}.ranking-heading{align-items:flex-start;flex-direction:column}.own-rank-card{width:100%;text-align:left}}@media (max-width:700px){.ranking-row{grid-template-columns:44px minmax(0,1fr) 72px;padding:12px}.ranking-stat:last-child{grid-column:3;grid-row:1}.ranking-stat:nth-last-child(2){display:none}.ranking-person>div:last-child{display:block}.badge-current{display:inline-block;margin-top:3px}.ranking-heading h2{font-size:24px}}.student-pending-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f8fafc,#eef2ff)}.student-pending-card{width:min(100%,520px);background:#fff;border:1px solid var(--border);border-radius:24px;padding:36px;box-shadow:var(--shadow-lg);text-align:center}.student-pending-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 18px;background:linear-gradient(135deg,#ec4899,#7c3aed);color:#fff;font-weight:800}.student-pending-card>span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.student-pending-card h1{font-size:30px;margin:8px 0 12px}.student-pending-card p{color:var(--muted);line-height:1.65}.student-pending-card button{margin-top:22px;padding:12px 18px;border:0;border-radius:12px;background:#111827;color:#fff;font-weight:800;cursor:pointer}.student-profile-page{display:grid;gap:18px}.student-profile-card,.student-profile-details{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm)}.student-profile-card{padding:26px;display:flex;align-items:center;gap:18px}.student-profile-avatar{width:76px;height:76px;border-radius:22px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-size:28px;font-weight:800;overflow:hidden}.student-profile-avatar img{width:100%;height:100%;object-fit:cover}.student-profile-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.student-profile-card h2{font-size:26px;margin:5px 0 3px}.student-profile-card p{color:var(--muted)}.student-profile-details{display:grid;grid-template-columns:repeat(3,1fr);padding:20px}.student-profile-details div{padding:10px 18px;border-right:1px solid var(--border)}.student-profile-details div:last-child{border-right:0}.student-profile-details span,.student-profile-details strong{display:block}.student-profile-details span{font-size:12px;color:var(--muted);margin-bottom:5px}.student-profile-details strong{font-size:14px;word-break:break-word}@media (max-width:700px){.student-profile-card{align-items:flex-start}.student-profile-details{grid-template-columns:1fr}.student-profile-details div{border-right:0;border-bottom:1px solid var(--border)}.student-profile-details div:last-child{border-bottom:0}.student-pending-card{padding:28px 22px}}.admin-shell{min-height:100vh;background:var(--color-bg,#f5f7fb);color:var(--text);display:flex}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,#0b1020,#111a31);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:40;border-right:1px solid rgba(255,255,255,.05);box-shadow:18px 0 50px #090f1f14}.admin-brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-brand-mark{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#8b5cf6,#4f46e5);display:grid;place-items:center;font-weight:850;letter-spacing:-.03em;box-shadow:0 10px 26px #6366f14d,inset 0 1px #fff3}.admin-brand strong,.admin-brand span{display:block}.admin-brand strong{font-size:14px;letter-spacing:-.01em}.admin-brand span{font-size:11px;color:#9fa8bd;margin-top:2px;letter-spacing:.03em}.admin-nav{display:grid;gap:6px;margin-top:22px}.admin-nav a,.admin-logout{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;color:#b8c1d5;text-decoration:none;border:1px solid transparent;background:transparent;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.admin-nav a:hover,.admin-logout:hover{background:#fff1;color:#fff}.admin-nav a.active{background:linear-gradient(135deg,#8b5cf62e,#4f46e524);border-color:#a78bfa29;color:#fff}.admin-nav a.active:before{content:"";position:absolute;left:-6px;width:3px;height:24px;border-radius:999px;background:linear-gradient(#a78bfa,#6366f1);box-shadow:0 0 12px #8b5cf6a6}.admin-nav svg,.admin-logout svg,.admin-menu-btn svg{width:20px;height:20px;flex:0 0 auto}.admin-logout{margin-top:auto;width:100%}.admin-main{margin-left:270px;min-width:0;flex:1}.admin-topbar{min-height:82px;background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,233,241,.9);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.admin-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:800}.admin-topbar h1{font-size:21px;letter-spacing:-.025em;margin:3px 0 0}.admin-user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border:1px solid var(--border);background:#ffffffb8;border-radius:14px}.admin-user-chip strong,.admin-user-chip span{display:block}.admin-user-chip strong{font-size:12px}.admin-user-chip span{font-size:11px;color:var(--muted)}.admin-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ede9fe,#eef2ff);color:#5b21b6;display:grid;place-items:center;font-weight:800;overflow:hidden;border:1px solid rgba(139,92,246,.12)}.admin-avatar img{width:100%;height:100%;object-fit:cover}.admin-page{padding:32px;max-width:1500px;margin:0 auto}.admin-menu-btn,.admin-backdrop{display:none}@media (max-width:980px){.admin-sidebar{transform:translate(-100%);transition:transform .22s ease}.admin-sidebar.is-open{transform:translate(0)}.admin-main{margin-left:0}.admin-menu-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);background:#fff;border-radius:12px;margin-right:12px;color:#27324a}.admin-topbar{justify-content:flex-start;padding:0 24px}.admin-user-chip{margin-left:auto}.admin-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#090f1f80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30}.admin-page{padding:24px}}@media (max-width:640px){.admin-topbar{min-height:68px;padding:0 14px}.admin-eyebrow{display:none}.admin-topbar h1{font-size:17px;margin:0}.admin-user-chip{padding:4px;border:0;background:transparent}.admin-user-chip>div:last-child{display:none}.admin-page{padding:18px 14px}.admin-sidebar{width:84%;max-width:300px}}.admin-brand-mark{overflow:hidden}.admin-brand-mark img{width:100%;height:100%;object-fit:cover}.admin-brand-signature{min-height:88px;margin-top:auto;padding:14px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff09}.admin-brand-signature img{display:block;width:100%;max-width:170px;max-height:62px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.admin-brand-signature+.admin-logout{margin-top:8px}@media (max-width:640px){.admin-brand-signature{min-height:74px}}.admin-home{display:grid;gap:22px}.admin-home-hero{background:linear-gradient(135deg,#111827,#1e293b);color:#fff;border-radius:22px;padding:28px 30px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.admin-home-hero span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#c4b5fd;font-weight:800}.admin-home-hero h2{font-size:32px;margin:7px 0 8px}.admin-home-hero p{color:#cbd5e1;max-width:720px}.admin-home-hero>a{background:#fff;color:#111827!important;text-decoration:none!important;padding:12px 16px;border-radius:12px;font-weight:800}.admin-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-metrics-grid a{background:#fff;border:1px solid var(--border);border-radius:17px;padding:20px;text-decoration:none!important;color:var(--text)!important;box-shadow:var(--shadow-sm)}.admin-metrics-grid span,.admin-metrics-grid small{display:block}.admin-metrics-grid span{font-size:12px;color:var(--muted);font-weight:700}.admin-metrics-grid strong{display:block;font-size:30px;margin:8px 0 4px}.admin-metrics-grid small{font-size:11px;color:#7c3aed;font-weight:700}.admin-home-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px}.admin-panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow-sm)}.admin-panel-head span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:800}.admin-panel-head h3{font-size:20px;margin:4px 0 16px}.admin-queue-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-top:1px solid var(--border);text-decoration:none!important;color:var(--text)!important}.admin-queue-item:first-of-type{border-top:0}.admin-queue-item strong,.admin-queue-item span{display:block}.admin-queue-item span{font-size:12px;color:var(--muted);margin-top:3px}.admin-queue-item b{font-size:24px}.admin-activity-list{display:grid}.admin-activity-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border);text-decoration:none!important;color:var(--text)!important}.admin-activity-item:first-child{border-top:0}.admin-activity-avatar{width:42px;height:42px;border-radius:13px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:800;overflow:hidden}.admin-activity-avatar img{width:100%;height:100%;object-fit:cover}.admin-activity-item strong,.admin-activity-item span{display:block}.admin-activity-item span{font-size:12px;color:var(--muted);margin-top:2px}.admin-activity-item time{font-size:11px;color:var(--muted)}.admin-dashboard-empty{padding:18px 0;color:var(--muted);font-size:13px}.admin-recent-students{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.admin-recent-students>a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;text-decoration:none!important;color:var(--text)!important}.admin-recent-students>a>small{grid-column:2;font-size:10px;color:#7c3aed;font-weight:800}.admin-recent-students strong,.admin-recent-students span{display:block}.admin-recent-students span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-home-state{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;color:var(--muted)}.admin-home-state button{margin-top:10px;border:0;background:#111827;color:#fff;padding:10px 14px;border-radius:10px;font-weight:700}@media (max-width:1000px){.admin-metrics-grid{grid-template-columns:repeat(2,1fr)}.admin-home-grid{grid-template-columns:1fr}}@media (max-width:640px){.admin-home-hero{align-items:flex-start;flex-direction:column}.admin-home-hero h2{font-size:26px}.admin-home-hero>a{width:100%;text-align:center}.admin-metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-metrics-grid a{padding:16px}.admin-metrics-grid strong{font-size:24px}.admin-activity-item{grid-template-columns:40px minmax(0,1fr)}.admin-activity-item time{grid-column:2}.admin-recent-students{grid-template-columns:1fr}}.admin-student-detail{display:grid;gap:24px}.detail-back{justify-self:start;border:0;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.detail-hero{display:flex;align-items:center;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:22px}.detail-avatar{width:88px;height:88px;border-radius:24px;background:var(--surface-muted);display:grid;place-items:center;font-size:30px;font-weight:800;overflow:hidden}.detail-avatar img{width:100%;height:100%;object-fit:cover}.detail-hero-copy h1{margin:8px 0 4px;font-size:30px}.detail-hero-copy p,.detail-hero-copy small{margin:0;color:var(--muted)}.detail-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.detail-metric{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.detail-metric span{display:block;color:var(--muted);font-size:12px}.detail-metric strong{display:block;margin-top:8px;font-size:24px}.detail-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-card{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:20px}.detail-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.detail-card-heading h2{margin:0;font-size:18px}.detail-card-heading span{color:var(--muted);font-size:12px}.detail-week-list,.detail-question-list,.detail-workout-list{display:grid;gap:10px}.detail-week-row,.detail-question-row,.detail-workout-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;background:var(--surface-muted);border-radius:14px}.detail-week-row small,.detail-workout-row small{display:block;color:var(--muted);margin-top:4px}.detail-question-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.week-state,.question-state{font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px}.week-state.done,.question-state.answered{background:#ecfdf3;color:#027a48}.week-state.open,.question-state.pending{background:#fff7ed;color:#c2410c}.detail-empty{color:var(--muted);margin:0}.admin-detail-state{padding:32px;background:var(--surface);border-radius:20px;border:1px solid var(--border)}.admin-detail-state.error{color:#b42318}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.approved{background:#ecfdf3;color:#027a48}.status-pill.pending{background:#fff7ed;color:#c2410c}.status-pill.rejected,.status-pill.inactive{background:#fef3f2;color:#b42318}@media (max-width:1100px){.detail-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.detail-hero{align-items:flex-start}.detail-metrics-grid,.detail-grid-two{grid-template-columns:1fr 1fr}.detail-week-row,.detail-question-row,.detail-workout-row{align-items:flex-start;flex-direction:column}}@media (max-width:520px){.detail-hero{flex-direction:column}.detail-metrics-grid,.detail-grid-two{grid-template-columns:1fr}}.admin-video-classes{display:grid;gap:22px}.video-admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.video-admin-heading h2{margin:4px 0 6px;font-size:30px}.video-admin-heading p{margin:0;color:#64748b;max-width:760px}.video-count{background:#111827;color:#fff;border-radius:18px;padding:16px 20px;min-width:160px}.video-count strong,.video-count span{display:block}.video-count strong{font-size:30px}.video-count span{font-size:11px;color:#cbd5e1}.video-feedback{padding:12px 14px;border-radius:12px;font-weight:700}.video-feedback.success{background:#ecfdf5;color:#047857}.video-feedback.error{background:#fef2f2;color:#b91c1c}.video-admin-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:22px;align-items:start}.video-editor-card,.video-library-admin{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;box-shadow:0 8px 24px #0f172a0d}.video-editor-card{display:grid;gap:16px;position:sticky;top:104px}.video-editor-title,.video-library-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.video-editor-title span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7c3aed;font-weight:800}.video-editor-title h3,.video-library-toolbar h3{margin:4px 0 0}.video-editor-title button{border:0;background:#f3f4f6;padding:8px 10px;border-radius:10px;cursor:pointer}.video-editor-card label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#374151}.video-editor-card input,.video-editor-card textarea,.video-library-toolbar input{width:100%;border:1px solid #dbe2ea;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}.video-editor-card textarea{resize:vertical}.video-form-preview{display:flex;gap:12px;align-items:center;border:1px solid #ede9fe;background:#faf8ff;border-radius:14px;padding:10px}.video-form-preview img{width:110px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.video-form-preview span,.video-form-preview strong{display:block}.video-form-preview span{font-size:10px;color:#7c3aed;text-transform:uppercase;font-weight:800}.video-primary-action{border:0;border-radius:12px;padding:13px 16px;background:#111827;color:#fff;font-weight:800;cursor:pointer}.video-primary-action:disabled{opacity:.6}.video-library-toolbar p{margin:4px 0 0;color:#64748b;font-size:12px}.video-library-toolbar input{max-width:240px}.video-admin-list{display:grid;gap:12px;margin-top:18px}.video-admin-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #eef0f3;border-radius:16px;padding:12px}.video-admin-thumb{aspect-ratio:16/9;border-radius:12px;background:#111827;overflow:hidden;display:grid;place-items:center;color:#fff}.video-admin-thumb img{width:100%;height:100%;object-fit:cover}.video-admin-info>div{display:flex;gap:8px;align-items:center}.video-admin-info h4{margin:7px 0 4px}.video-admin-info p{margin:0;color:#64748b;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-admin-info small{color:#94a3b8}.video-category-pill{background:#ede9fe;color:#6d28d9;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.video-admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.video-admin-actions a,.video-admin-actions button{border:1px solid #dbe2ea;background:#fff;color:#334155;border-radius:10px;padding:8px 10px;font-weight:700;text-decoration:none;cursor:pointer}.video-admin-actions .danger,.video-confirm-dialog .danger{color:#fff;background:#b91c1c;border-color:#b91c1c}.video-admin-state{padding:36px;text-align:center;color:#64748b}.video-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;display:grid;place-items:center;z-index:100;padding:20px}.video-confirm-dialog{width:min(420px,100%);background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 70px #0f172a47}.video-confirm-dialog>span{font-size:11px;color:#b91c1c;font-weight:800;text-transform:uppercase}.video-confirm-dialog h3{margin:5px 0}.video-confirm-dialog p{color:#64748b;line-height:1.5}.video-confirm-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.video-confirm-dialog button{border:1px solid #dbe2ea;background:#fff;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}@media (max-width:1100px){.video-admin-grid{grid-template-columns:1fr}.video-editor-card{position:static}.video-admin-row{grid-template-columns:130px 1fr}.video-admin-actions{grid-column:2}}@media (max-width:700px){.video-admin-heading,.video-library-toolbar{flex-direction:column;align-items:stretch}.video-count{min-width:0}.video-library-toolbar input{max-width:none}.video-admin-row{grid-template-columns:1fr}.video-admin-thumb{width:100%}.video-admin-actions{grid-column:1;justify-content:flex-start}.video-admin-heading h2{font-size:25px}}.admin-students-v2{display:flex;flex-direction:column;gap:22px}.admin-students-v2 .admin-students-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.admin-students-v2 .admin-students-heading .admin-eyebrow{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.16em;color:#6d5dfc;margin-bottom:6px}.admin-students-v2 .admin-students-heading h2{margin:0;color:#141b2f;font-size:30px;letter-spacing:-.035em}.admin-students-v2 .admin-students-heading p{margin:7px 0 0;color:var(--muted)}.admin-students-v2 .students-count-card{min-width:124px;padding:13px 15px;border-radius:16px;background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-end;box-shadow:var(--shadow-sm)}.admin-students-v2 .students-count-card strong{font-size:24px;color:#141b2f;letter-spacing:-.04em}.admin-students-v2 .students-count-card span{font-size:11px;color:var(--muted)}.admin-students-v2 .admin-inline-feedback{padding:12px 14px;border-radius:12px;font-size:13px}.admin-students-v2 .admin-inline-feedback.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.admin-students-v2 .admin-inline-feedback.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.admin-students-v2 .students-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px}.admin-students-v2 .students-toolbar input,.admin-students-v2 .students-toolbar select{width:100%;height:46px;border:1px solid var(--border);border-radius:12px;padding:0 13px;background:#fff;font:inherit;color:#334155;outline:none;transition:border-color .18s,box-shadow .18s}.admin-students-v2 .students-toolbar input:focus,.admin-students-v2 .students-toolbar select:focus{border-color:#a5a3ff;box-shadow:0 0 0 4px #6366f117}.admin-students-v2 .students-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.admin-students-v2 .students-table-v2{width:100%;border-collapse:collapse;min-width:880px}.admin-students-v2 .students-table-v2 th{padding:13px 16px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7b8494;background:#fafbfe;border-bottom:1px solid var(--border);font-weight:850}.admin-students-v2 .students-table-v2 td{padding:15px 16px;border-bottom:1px solid #eef1f6;color:#526074;font-size:13px}.admin-students-v2 .students-table-v2 tbody tr:last-child td{border-bottom:0}.admin-students-v2 .student-row-clickable{transition:background .16s ease}.admin-students-v2 .student-row-clickable:hover{background:#faf9ff}.admin-students-v2 .student-identity{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.admin-students-v2 .student-avatar{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#8b5cf6,#4f46e5);color:#fff;font-weight:850;flex:0 0 44px;box-shadow:0 8px 18px #6366f129}.admin-students-v2 .student-avatar img{width:100%;height:100%;object-fit:cover}.admin-students-v2 .student-identity>span:last-child{display:flex;flex-direction:column;gap:3px}.admin-students-v2 .student-identity strong{color:#182033}.admin-students-v2 .student-identity small{color:var(--muted)}.admin-students-v2 .status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.01em;border:1px solid transparent}.admin-students-v2 .status-pill.approved{background:#ecfdf5;color:#166534;border-color:#d1fae5}.admin-students-v2 .status-pill.pending{background:#fffbeb;color:#92400e;border-color:#fef3c7}.admin-students-v2 .status-pill.rejected,.admin-students-v2 .status-pill.inactive{background:#fff1f2;color:#be123c;border-color:#ffe4e6}.admin-students-v2 .student-row-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-students-v2 .student-row-actions button{border:1px solid var(--border);background:#fff;color:#475467;border-radius:9px;padding:7px 10px;font:inherit;font-size:11px;font-weight:750;cursor:pointer;transition:.16s}.admin-students-v2 .student-row-actions button:hover{border-color:#bbb7ff;color:#5b21b6;background:#faf9ff}.admin-students-v2 .student-row-actions button.danger{color:#be123c;border-color:#fecdd3}.admin-students-v2 .student-row-actions button.danger:hover{background:#fff5f6;border-color:#fda4af}.admin-students-v2 .student-row-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-students-v2 .admin-students-state{padding:40px;border:1px dashed #ccd3df;border-radius:16px;text-align:center;color:var(--muted);background:#fff;box-shadow:var(--shadow-sm)}@media (max-width:760px){.admin-students-v2 .admin-students-heading{align-items:flex-start;flex-direction:column}.admin-students-v2 .students-count-card{align-items:flex-start}.admin-students-v2 .students-toolbar{grid-template-columns:1fr}.admin-students-v2 .students-table-wrap{border-radius:15px}}.admin-videos{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 12px #0000000f}.videos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.videos-header h2{margin:0 0 8px;color:#333;font-size:24px}.videos-header p{margin:0;color:#999;font-size:14px}.btn-novo-video{padding:12px 24px;background:linear-gradient(135deg,#a76db5,#c98bb8);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .3s;white-space:nowrap}.btn-novo-video:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a76db54d}.form-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:30px}.form-card h3{margin:0 0 20px;color:#333;font-size:18px;font-weight:700}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:all .3s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#a76db5;box-shadow:0 0 0 3px #a76db51a}.form-group small{display:block;margin-top:6px;color:#999;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row .form-group{margin-bottom:0}.form-actions{display:flex;gap:15px;margin-top:25px}.btn-salvar,.btn-cancelar{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .3s;flex:1}.btn-salvar{background:linear-gradient(135deg,#a76db5,#c98bb8);color:#fff}.btn-salvar:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a76db54d}.btn-cancelar{background:#e0e0e0;color:#333}.btn-cancelar:hover{background:#d0d0d0}.videos-table{overflow-x:auto;margin-top:30px}.videos-table table{width:100%;border-collapse:collapse}.videos-table table th{background:#f5f5f5;padding:16px;text-align:left;font-size:12px;font-weight:700;color:#666;border-bottom:2px solid #e0e0e0}.videos-table table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:13px;color:#666}.videos-table table tr:hover{background:#f9f9f9}.video-icon{margin-right:8px}.video-title{font-weight:600;color:#333}.video-description{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-badge{background:#e0f2f1;color:#00695c;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.action-buttons{display:flex;gap:8px;justify-content:center}.btn-edit,.btn-delete{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s;background:transparent}.btn-edit{color:#2196f3}.btn-edit:hover{background:#e3f2fd;transform:translateY(-2px)}.btn-delete{color:#ff6b6b}.btn-delete:hover{background:#ffebee;transform:translateY(-2px)}.empty-state{text-align:center;padding:80px 40px;background:#fafafa;border-radius:12px;border:1px dashed #e0e0e0}.empty-state p{margin:0 0 20px;color:#999;font-size:16px}.empty-state .btn-novo-video{margin:0 auto;display:inline-flex}@media (max-width: 768px){.admin-videos{padding:20px}.videos-header{flex-direction:column;align-items:flex-start;gap:15px}.btn-novo-video{width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-salvar,.btn-cancelar{flex:none;width:100%}.videos-table{overflow-x:auto}.videos-table table{font-size:12px}.videos-table table th,.videos-table table td{padding:12px 8px}.video-description{max-width:150px}.action-buttons{flex-direction:column}}.admin-questions{background:#fff;border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm)}.admin-questions .questions-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-questions .questions-header h2{margin:0 0 6px;color:#141b2f;font-size:28px;letter-spacing:-.035em}.admin-questions .questions-header p{margin:0;color:var(--muted);font-size:13px}.admin-questions .questions-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid var(--border);flex-wrap:wrap}.admin-questions .tab-btn{padding:11px 14px;border:0;background:transparent;color:#667085;font-weight:700;cursor:pointer;border-radius:9px 9px 0 0;font-size:12px}.admin-questions .tab-btn:hover{background:#f8f9fd;color:#27324a}.admin-questions .tab-btn.active{color:#5b21b6;border-bottom:2px solid #6d5dfc}.admin-questions .questions-list{display:flex;flex-direction:column;gap:12px}.admin-questions .pergunta-card{background:#fff;border:1px solid var(--border);border-left:3px solid #f59e0b;padding:17px;border-radius:14px;transition:box-shadow .18s,border-color .18s}.admin-questions .pergunta-card:hover{box-shadow:var(--shadow-sm);border-color:#d8dde7}.admin-questions .pergunta-autor{font-weight:800;color:#182033;margin-bottom:8px;font-size:13px}.admin-questions .pergunta-texto{color:#475467;margin-bottom:10px;line-height:1.6;font-size:13px}.admin-questions .pergunta-status{font-size:10px;color:#8a94a6;margin-bottom:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.admin-questions .resposta-box{background:#f8fdf9;padding:14px;border-radius:11px;border:1px solid #dcefe2;border-left:3px solid #22c55e;margin-top:12px}.admin-questions .resposta-box strong{color:#166534;display:block;margin-bottom:6px;font-size:11px}.admin-questions .resposta-box p{color:#475467;font-size:13px;margin:0;line-height:1.6}.admin-questions .responder-box{background:#fafbfe;padding:14px;border-radius:12px;border:1px solid var(--border);margin-top:12px}.admin-questions .responder-box textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:13px;min-height:120px;font-family:inherit;margin-bottom:10px;resize:vertical;outline:none}.admin-questions .responder-box textarea:focus{border-color:#a5a3ff;box-shadow:0 0 0 4px #6366f117}.admin-questions .responder-box>div{display:flex;gap:9px}.admin-questions .btn-responder,.admin-questions .btn-salvar,.admin-questions .btn-cancelar{padding:10px 14px;border:0;border-radius:10px;cursor:pointer;font-weight:750;font-size:12px}.admin-questions .btn-responder,.admin-questions .btn-salvar{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 8px 18px #6366f124}.admin-questions .btn-responder{width:100%}.admin-questions .btn-salvar,.admin-questions .btn-cancelar{flex:1}.admin-questions .btn-cancelar{background:#eef1f6;color:#475467}.admin-questions .empty-state{padding:42px 24px;background:#fafbfe;border:1px dashed #d5dbe6;border-radius:14px;text-align:center}.admin-questions .empty-state p{margin:0;color:var(--muted);font-size:13px}.admin-questions .empty-text{color:#98a2b3;font-size:12px;margin-top:7px}.admin-questions .loading{text-align:center;padding:50px 20px;color:var(--muted);font-size:13px}@media (max-width:768px){.admin-questions{padding:18px}.admin-questions .responder-box>div{flex-direction:column}.admin-questions .btn-salvar,.admin-questions .btn-cancelar{width:100%}}.platform-settings{display:grid;gap:22px}.settings-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.settings-kicker{display:block;color:#7c3aed;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.settings-hero h2{margin:5px 0 7px;font-size:31px;letter-spacing:-.035em}.settings-hero p{max-width:720px;margin:0;color:#64748b;line-height:1.6}.settings-status{min-width:170px;padding:15px 18px;border-radius:16px;background:linear-gradient(135deg,#111827,#312e81);color:#fff}.settings-status span,.settings-status strong{display:block}.settings-status span{color:#c7d2fe;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.settings-status strong{margin-top:4px;font-size:15px}.settings-feedback{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:13px;font-size:13px;font-weight:700}.settings-feedback svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.settings-feedback.success{border:1px solid #bbf7d0;background:#ecfdf5;color:#047857}.settings-feedback.error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.settings-main-column{display:grid;gap:18px}.settings-card{padding:24px;border:1px solid #e5e9f1;border-radius:20px;background:#fff;box-shadow:0 8px 26px #0f172a0b}.settings-card-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.settings-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#f3efff;color:#6d28d9}.settings-icon svg,.asset-upload svg,.phrase-live-preview svg,.settings-save-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-card-heading h3{margin:0 0 4px;font-size:18px}.settings-card-heading p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.brand-assets-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.asset-editor{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:15px;border:1px solid #e8ebf1;border-radius:16px;background:#fbfcfe}.asset-preview{overflow:hidden;display:grid;place-items:center;border:1px solid #e5e7eb;background:#fff;color:#6d28d9;font-weight:850}.asset-preview.teacher{width:72px;height:72px;border-radius:20px}.asset-preview.logo{width:116px;height:72px;border-radius:14px;padding:8px;text-align:center;font-size:12px}.asset-preview img{width:100%;height:100%;object-fit:cover}.asset-preview.logo img{object-fit:contain}.asset-editor strong,.asset-editor p{display:block}.asset-editor strong{font-size:13px}.asset-editor p{margin:3px 0 0;color:#64748b;font-size:10px;line-height:1.45}.asset-upload{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px dashed #c4b5fd;border-radius:11px;background:#faf8ff;color:#6d28d9;font-size:11px;font-weight:800;cursor:pointer}.asset-upload:hover{background:#f3efff}.asset-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.settings-field{display:grid;gap:7px;color:#374151;font-size:12px;font-weight:800}.settings-field input,.settings-field textarea{width:100%;padding:12px 13px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.settings-field textarea{min-height:110px;resize:vertical;line-height:1.6}.settings-field input:focus,.settings-field textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.settings-field small{color:#94a3b8;font-size:10px;font-weight:500;text-align:right}.phrase-card{background:linear-gradient(135deg,#fff 50%,#faf8ff)}.phrase-live-preview{position:relative;margin-top:16px;padding:20px 22px 18px 52px;border:1px solid #ddd6fe;border-radius:16px;background:linear-gradient(135deg,#1e1b4b,#312e81);color:#fff}.phrase-live-preview svg{position:absolute;left:20px;top:21px;color:#a78bfa}.phrase-live-preview>span{display:block;color:#c7d2fe;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.phrase-live-preview blockquote{margin:8px 0;font-size:16px;font-weight:650;line-height:1.55}.phrase-live-preview small{color:#a5b4fc}.settings-fields-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:14px}.settings-preview-column{position:sticky;top:104px;display:grid;gap:12px}.portal-preview{overflow:hidden;border:1px solid #e5e9f1;border-radius:20px;background:#fff;box-shadow:0 16px 40px #0f172a14}.portal-preview-top{padding:17px 18px;background:linear-gradient(135deg,#111827,#312e81);color:#fff}.portal-preview-top span,.portal-preview-top strong{display:block}.portal-preview-top span{color:#a5b4fc;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.portal-preview-top strong{margin-top:3px;font-size:15px}.portal-brand-preview{display:flex;align-items:center;gap:11px;padding:18px;border-bottom:1px solid #eef0f4}.portal-teacher-photo{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border-radius:15px;background:#ede9fe;color:#6d28d9;font-weight:850}.portal-teacher-photo img{width:100%;height:100%;object-fit:cover}.portal-brand-preview>div:last-child{min-width:0}.portal-brand-preview strong,.portal-brand-preview span{display:block}.portal-brand-preview strong{font-size:14px}.portal-brand-preview span{margin-top:2px;color:#64748b;font-size:10px}.portal-logo-preview{display:block;max-width:150px;max-height:38px;object-fit:contain;object-position:left center}.portal-message-preview{position:relative;margin:16px;padding:17px 17px 17px 43px;border-radius:14px;background:#f5f3ff;color:#4c1d95}.portal-message-preview svg{position:absolute;left:15px;top:17px;width:17px;height:17px;fill:none;stroke:#7c3aed;stroke-width:1.8}.portal-message-preview p{margin:0;font-size:12px;font-weight:650;line-height:1.55}.portal-contact-preview{margin:0 16px 16px;padding:13px 14px;border:1px solid #eef0f4;border-radius:12px}.portal-contact-preview span,.portal-contact-preview strong{display:block}.portal-contact-preview span{color:#64748b;font-size:9px;text-transform:uppercase}.portal-contact-preview strong{margin-top:3px;font-size:12px}.settings-save-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:14px 16px;border:0;border-radius:13px;background:linear-gradient(115deg,#172554,#4f46e5 55%,#7c3aed);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 14px 30px #4f46e533}.settings-save-button:disabled{opacity:.62;cursor:wait}.settings-save-note{margin:0;color:#94a3b8;font-size:10px;text-align:center}.settings-state{min-height:260px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e5e9f1;border-radius:20px;background:#fff;color:#64748b}.settings-spinner{width:17px;height:17px;border:2px solid #ddd6fe;border-top-color:#7c3aed;border-radius:50%;animation:settings-spin .7s linear infinite}@keyframes settings-spin{to{transform:rotate(360deg)}}@media (max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-preview-column{position:static;grid-template-columns:1fr 1fr}.portal-preview{grid-column:1/-1}}@media (max-width:720px){.settings-hero{align-items:flex-start;flex-direction:column}.settings-status{width:100%}.brand-assets-grid,.settings-fields-grid{grid-template-columns:1fr}.asset-editor{grid-template-columns:auto 1fr}.settings-card{padding:18px}.settings-preview-column{grid-template-columns:1fr}.phrase-live-preview{padding-left:45px}.portal-logo-preview{max-width:130px}}@media (max-width:440px){.asset-editor{grid-template-columns:1fr}.asset-preview.teacher,.asset-preview.logo{width:100%;height:110px}.asset-preview.teacher{border-radius:16px}.asset-upload{grid-column:1}.settings-hero h2{font-size:27px}}@media (prefers-reduced-motion:reduce){.settings-field input,.settings-field textarea{transition:none}.settings-spinner{animation-duration:1.4s}}.admin-tracking{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 12px #0000000f}.tracking-header{margin-bottom:30px}.tracking-header h2{margin:0 0 8px;color:#333;font-size:24px;font-weight:700}.tracking-header p{margin:0;color:#999;font-size:14px}.tracking-container{display:grid;grid-template-columns:300px 1fr;gap:30px}.students-list-section h3{margin:0 0 16px;color:#333;font-size:16px;font-weight:700}.students-list{display:flex;flex-direction:column;gap:10px;max-height:600px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:10px}.student-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fafafa;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .3s;text-align:left}.student-item:hover{background:linear-gradient(135deg,#a76db51a,#c98bb81a);border-color:#a76db5}.student-item.active{background:linear-gradient(135deg,#a76db5,#c98bb8);border-color:#a76db5;color:#fff}.student-avatar{font-size:24px;flex-shrink:0}.student-info{flex:1;min-width:0}.student-name{font-weight:700;font-size:13px;margin-bottom:4px}.student-email{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-item.active .student-email{opacity:.9}.tracking-content{min-height:400px}.empty-placeholder{text-align:center;padding:60px 40px;background:#fafafa;border-radius:8px;color:#999}.weeks-section h3{margin:0 0 20px;color:#333;font-size:18px;font-weight:700}.weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.week-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px 15px;text-align:center;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:10px}.week-card:hover{border-color:#a76db5;transform:translateY(-5px);box-shadow:0 8px 25px #a76db526}.week-card.completed{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745}.week-icon{font-size:28px}.week-label{font-weight:700;color:#333;font-size:13px}.week-badge{background:#28a745;color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700}.empty-state{text-align:center;padding:60px 40px;background:#fafafa;border-radius:8px;color:#999}.empty-state p{margin:0}.week-details-section h3{margin:0 0 20px;color:#333;font-size:18px;font-weight:700}.btn-voltar-semanas{padding:10px 16px;background:#e0e0e0;color:#333;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:12px;margin-bottom:20px;transition:all .3s}.btn-voltar-semanas:hover{background:#d0d0d0}.week-exercises-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.week-exercises-card h4{margin:0 0 16px;color:#333;font-size:14px;font-weight:700}.empty-exercises{text-align:center;padding:40px 20px;background:#fff;border-radius:6px;color:#999}.empty-exercises p{margin:0;font-size:13px}.exercises-table{display:flex;flex-direction:column;gap:0;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;background:#fff}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:0;background:#f5f5f5;padding:12px;font-weight:700;font-size:12px;color:#666;border-bottom:2px solid #e0e0e0}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:0;padding:12px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#666}.table-row:hover{background:#f9f9f9}.col-exercise strong{color:#333;display:block;margin-bottom:4px}.col-type,.col-weight,.col-reps,.col-notes{word-break:break-word}.student-observation-card{background:linear-gradient(135deg,#ff98001a,#ffc1071a);border-left:4px solid #ff9800;border-radius:8px;padding:16px;margin-bottom:20px}.student-observation-card h4{margin:0 0 12px;color:#333;font-size:14px;font-weight:700}.observation-text{color:#666;font-size:13px;line-height:1.6;margin:0}.admin-observation-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.admin-observation-card h4{margin:0 0 12px;color:#333;font-size:14px;font-weight:700}.admin-note-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;transition:all .3s;margin-bottom:8px}.admin-note-textarea:focus{outline:none;border-color:#a76db5;box-shadow:0 0 0 3px #a76db51a}.char-count{font-size:11px;color:#999;margin-bottom:12px;text-align:right}.btn-salvar-nota{padding:10px 20px;background:linear-gradient(135deg,#a76db5,#c98bb8);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:all .3s}.btn-salvar-nota:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #a76db54d}.btn-salvar-nota:disabled{opacity:.6;cursor:not-allowed}.admin-note-preview{background:#fff;border-left:3px solid #4caf50;border-radius:4px;padding:12px;margin-top:12px}.preview-label{font-size:11px;color:#999;font-weight:600;margin-bottom:6px}.preview-text{color:#333;font-size:12px;line-height:1.5}.loading{text-align:center;padding:60px 20px;color:#999;font-size:16px}@media (max-width: 1024px){.tracking-container{grid-template-columns:250px 1fr;gap:20px}.students-list{max-height:500px}}@media (max-width: 768px){.tracking-container{grid-template-columns:1fr}.students-list-section{max-height:250px}.weeks-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.table-header,.table-row{grid-template-columns:1fr 1fr;gap:10px}.col-type,.col-reps,.col-notes{display:none}}.tracking-feedback{margin:0 0 20px;padding:12px 14px;border-radius:10px;background:#f5f3ff;color:#5b21b6;font-size:13px}.student-avatar{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:#ede9fe;font-weight:800}.student-avatar img{width:100%;height:100%;object-fit:cover}.week-card.released{border-color:#a78bfa;background:#faf8ff}.week-card.locked{background:#f8fafc;color:#64748b}.week-card small{font-size:10px;line-height:1.35;color:#64748b}.admin-week-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.admin-week-heading h3{margin-bottom:6px}.admin-week-heading p{margin:0;color:#64748b;font-size:13px}.admin-week-status{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}.admin-week-status.released{background:#dcfce7;color:#166534}.admin-week-status.locked{background:#f1f5f9;color:#475569}.manual-release-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;margin-bottom:20px;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed}.manual-release-card strong{display:block;margin-bottom:4px;color:#9a3412}.manual-release-card p{margin:0;color:#7c2d12;font-size:12px;line-height:1.5}.manual-release-card button{border:0;border-radius:9px;padding:10px 14px;background:#ea580c;color:#fff;font-weight:750;white-space:nowrap;cursor:pointer}.manual-release-card button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:768px){.admin-week-heading,.manual-release-card{flex-direction:column}.manual-release-card button{width:100%}}.admin-ranking{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}.ranking-header{margin-bottom:22px}.ranking-header h2{margin:4px 0 8px;color:#111827;font-size:26px}.ranking-header p{margin:0;color:var(--muted);font-size:14px}.admin-ranking-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.admin-ranking-summary>div{background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:16px}.admin-ranking-summary strong,.admin-ranking-summary span{display:block}.admin-ranking-summary strong{font-size:24px;color:#111827}.admin-ranking-summary span{font-size:11px;color:var(--muted);margin-top:4px}.admin-ranking-table-wrap{overflow:auto}.ranking-table{width:100%;border-collapse:collapse}.ranking-table th{background:#f8fafc;padding:14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;border-bottom:1px solid var(--border)}.ranking-table td{padding:14px;border-bottom:1px solid #eef2f7;font-size:13px;color:#475569;vertical-align:middle}.ranking-table tr.rank-1{background:#fffaf0}.ranking-table tr.rank-2{background:#fbfcfe}.ranking-table tr.rank-3{background:#fff8f3}.admin-rank-position{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#f1f5f9;font-weight:900;color:#475569}.rank-1 .admin-rank-position{background:#fef3c7;color:#92400e}.rank-2 .admin-rank-position{background:#e2e8f0}.rank-3 .admin-rank-position{background:#ffedd5;color:#9a3412}.admin-rank-person{display:flex;align-items:center;gap:10px}.admin-rank-avatar{width:42px;height:42px;border-radius:13px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:800;overflow:hidden}.admin-rank-avatar img{width:100%;height:100%;object-fit:cover}.admin-rank-person strong,.admin-rank-person small{display:block}.admin-rank-person strong{color:#111827}.admin-rank-person small{color:#94a3b8;margin-top:2px}.admin-ranking-empty,.admin-ranking-state{text-align:center;padding:36px;color:var(--muted)}@media (max-width:760px){.admin-ranking{padding:18px}.admin-ranking-summary{grid-template-columns:1fr}.ranking-table{min-width:620px}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;color:#1f2937}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top:4px solid #1e40af;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen p{font-size:16px;color:#6b7280;font-weight:500}.approval-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1f2937,#111827);padding:20px}.approval-card{background:#fff;border-radius:12px;padding:48px 32px;max-width:400px;text-align:center;box-shadow:0 20px 50px #0003}.approval-card h2{margin:0 0 16px;font-size:24px;font-weight:700;color:#1e40af}.approval-card p{margin:0 0 24px;font-size:14px;color:#6b7280;line-height:1.6}.logout-btn{background:linear-gradient(135deg,#1e40af,#7c3aed);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #1e40af33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}input,textarea,select,button{font-family:inherit}a{color:#1e40af;text-decoration:none;transition:color .3s ease}a:hover{color:#1e3a8a}::selection{background:#1e40af;color:#fff}::-moz-selection{background:#1e40af;color:#fff}:root{color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-brand-950: #090f1f;--color-brand-900: #101a33;--color-brand-800: #172548;--color-brand-700: #273b6b;--color-brand-600: #4f46e5;--color-brand-500: #6366f1;--color-brand-100: #eef0ff;--color-accent: #8b5cf6;--color-accent-soft: #f3efff;--color-text: #182033;--color-text-muted: #70798b;--color-bg: #f5f7fb;--color-surface: #ffffff;--color-surface-soft: #fafbfe;--color-border: #e5e9f1;--color-success: #16794b;--color-warning: #9a6700;--color-danger: #b42318;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 10px 28px rgba(24, 32, 51, .07);--shadow-lg: 0 22px 60px rgba(24, 32, 51, .12);--shadow-glow: 0 16px 42px rgba(99, 102, 241, .16);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--primary: var(--color-brand-700);--secondary: var(--color-brand-600);--accent: var(--color-accent);--dark: var(--color-text);--light: var(--color-surface);--bg-light: var(--color-bg);--text: var(--color-text);--muted: var(--color-text-muted);--border: var(--color-border)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%;width:100%}html{background:var(--color-bg)}body{min-width:320px;margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5;font-family:inherit;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%}a{color:var(--color-brand-600);text-decoration:none}a:hover{color:var(--color-brand-800)}:focus-visible{outline:3px solid rgba(99,102,241,.25);outline-offset:2px}::selection{background:#6366f12e}
