:root{--app-bg:#f5f7f3;--app-ink:#142f27;--app-muted:#142f27a3;--app-line:#142f271a;--app-green:#2a7a5b;--app-gold:#c98528;--app-red:#c24135;--app-radius:18px}html{background:#f5f7f3;background:var(--app-bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#142f27;color:var(--app-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{letter-spacing:0}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.route-state{background:radial-gradient(820px 420px at 12% 8%,#2a7a5b24,#0000 60%),radial-gradient(760px 420px at 88% 0,#c985281f,#0000 62%),#f5f7f3;background:radial-gradient(820px 420px at 12% 8%,#2a7a5b24,#0000 60%),radial-gradient(760px 420px at 88% 0,#c985281f,#0000 62%),var(--app-bg);display:grid;min-height:100vh;padding:24px;place-items:center}.route-state-card{background:#ffffffdb;border:1px solid #142f271a;border:1px solid var(--app-line);border-radius:28px;box-shadow:0 24px 64px #142f271f;padding:28px;text-align:center;width:min(420px,100%)}.route-state-card h1{font-size:44px;letter-spacing:0;line-height:1;margin:0 0 8px}.route-state-card p{color:#142f27a3;color:var(--app-muted);font-weight:800;margin:0}.route-spinner{animation:routeSpin .8s linear infinite;border:3px solid #2a7a5b24;border-radius:999px;border-top:3px solid var(--app-green);height:38px;margin:0 auto 14px;width:38px}@keyframes routeSpin{to{transform:rotate(1turn)}}.floating-whatsapp{align-items:center;background:linear-gradient(135deg,#25d366,#128c7e);border:1px solid #ffffff5c;border-radius:999px;bottom:22px;box-shadow:0 18px 38px #128c7e47;color:#fff;display:inline-flex;font-size:13px;font-weight:900;gap:9px;height:56px;justify-content:center;min-width:132px;padding:0 17px 0 14px;position:fixed;right:22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;z-index:120}.floating-whatsapp:hover{box-shadow:0 22px 46px #128c7e57;transform:translateY(-3px)}.floating-whatsapp svg{fill:currentColor;flex-shrink:0;height:29px;width:29px}.floating-whatsapp span{line-height:1;white-space:nowrap}@media (max-width:900px){.floating-whatsapp{border-radius:999px;bottom:92px;height:54px;min-width:54px;padding:0;right:16px}.floating-whatsapp svg{height:30px;width:30px}.floating-whatsapp span{display:none}}:root{--login-bg:#eef4ee;--login-surface:#ffffffe6;--login-card:#fff;--login-line:#13231b14;--login-text:#16211a;--login-muted:#6d776f;--login-green:#1f6a46;--login-green-2:#2f8a5b;--login-green-soft:#edf7f0;--login-shadow:0 24px 60px #14251b1f;--login-shadow-soft:0 14px 30px #14251b14;--login-radius:32px;--login-radius-md:20px;--login-radius-sm:16px;--login-transition:all 0.24s ease}.login-shell{background:radial-gradient(circle at 13% 16%,#468e672b,#0000 30%),radial-gradient(circle at 88% 12%,#cf902a2b,#0000 26%),linear-gradient(180deg,#fbfcf8,#eef4ef);font-family:Poppins,Segoe UI,sans-serif;min-height:100vh;overflow:hidden;position:relative}.login-backdrop{background:linear-gradient(#ffffff38 1px,#0000 0),linear-gradient(90deg,#ffffff38 1px,#0000 0);background-size:72px 72px;inset:0;-webkit-mask-image:radial-gradient(circle at center,#000 34%,#0000 78%);mask-image:radial-gradient(circle at center,#000 34%,#0000 78%);opacity:.42;position:absolute}.auth-home-link{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffad;border:1px solid #142f271a;border-radius:999px;box-shadow:0 14px 28px #14251b14;color:#1f6a46;cursor:pointer;display:grid;height:44px;left:28px;place-items:center;position:absolute;top:24px;transition:all .24s ease;transition:var(--login-transition);width:44px;z-index:4}.auth-home-link span,.auth-home-link span:after,.auth-home-link span:before{box-sizing:border-box;content:"";display:block;position:absolute}.auth-home-link span{height:20px;position:relative;width:20px}.auth-home-link span:before{border:2px solid;border-radius:3px;border-top:0;height:13px;left:3px;top:9px;width:15px}.auth-home-link span:after{border-left:2px solid;border-radius:2px 0 0 0;border-top:2px solid;height:14px;left:3px;top:3px;transform:rotate(45deg);width:14px}.auth-home-link:hover{border-color:#1f6a4640;transform:translateY(-1px)}.login-page{grid-gap:38px;align-items:center;display:grid;gap:38px;grid-template-columns:minmax(0,1fr) minmax(380px,490px);margin:0 auto;max-width:1220px;min-height:100vh;padding:72px 28px 28px;position:relative;z-index:1}.login-promo{min-width:0}.promo-panel{max-width:650px;padding:8px 8px 8px 0}.promo-eyebrow{align-items:center;background:#ffffffa8;border:1px solid #1f6a4614;border-radius:999px;color:#1f6a46;color:var(--login-green);display:inline-flex;font-size:11px;font-weight:800;gap:8px;letter-spacing:.16em;padding:8px 12px;text-transform:uppercase}.promo-title{color:#16211a;color:var(--login-text);font-size:clamp(3rem,5.8vw,5.2rem);font-weight:950;letter-spacing:0;line-height:.9;margin-top:18px;max-width:12ch}.promo-copy{color:#6d776f;color:var(--login-muted);font-size:16px;font-weight:500;line-height:1.8;margin-top:18px;max-width:520px}.promo-points{grid-gap:12px;display:grid;gap:12px;margin-top:28px}.promo-point{align-items:center;background:#ffffffb8;border:1px solid #13231b12;border-radius:18px;box-shadow:0 12px 26px #14251b0f;color:#16211a;color:var(--login-text);display:flex;font-size:14px;font-weight:750;gap:12px;max-width:480px;padding:14px 16px}.promo-point-icon{background:#1f6a4614;border-radius:12px;color:#1f6a46;color:var(--login-green);display:inline-grid;flex-shrink:0;height:38px;place-items:center;position:relative;width:38px}.promo-point-icon span,.promo-point-icon span:after,.promo-point-icon span:before{box-sizing:border-box;content:"";display:block;position:absolute}.promo-point-icon span{inset:0}.promo-point-qr span{border:2px solid;border-radius:5px;height:18px;left:10px;top:10px;width:18px}.promo-point-qr span:before{background:currentColor;box-shadow:8px 0 0 currentColor,0 8px 0 currentColor,8px 8px 0 currentColor;height:4px;left:3px;top:3px;width:4px}.promo-point-calendar span:before{border:2px solid;border-radius:6px;height:21px;left:9px;top:9px;width:20px}.promo-point-calendar span:after{background:currentColor;box-shadow:0 6px 0 currentColor;height:2px;left:13px;top:18px;width:12px}.promo-point-roles span:before{border:2px solid;border-radius:999px;box-shadow:12px 0 0 -2px currentColor;height:10px;left:9px;top:10px;width:10px}.promo-point-roles span:after{border:2px solid;border-radius:0 0 10px 10px;border-top:none;height:8px;left:8px;top:23px;width:22px}.login-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffffe0;border:1px solid #13231b14;border-radius:32px;box-shadow:0 30px 80px #122a2229;padding:22px;width:100%}.brand-row{gap:14px}.brand-mark,.brand-row{align-items:center;display:flex}.brand-mark{background:linear-gradient(135deg,#1f6a46,#2f8a5b);background:linear-gradient(135deg,var(--login-green),var(--login-green-2));border:1px solid #1f6a461a;border-radius:16px;box-shadow:0 14px 28px #1f6a4633;height:58px;justify-content:center;overflow:hidden;width:58px}.brand-mark img{display:block;height:100%;object-fit:cover;width:100%}.brand-copy{min-width:0}.brand-name{color:#16211a;color:var(--login-text);font-size:28px;font-weight:900;letter-spacing:-.05em;line-height:1}.brand-subtitle{color:#6d776f;color:var(--login-muted);font-size:11px;font-weight:800;letter-spacing:.14em;margin-top:6px;text-transform:uppercase}.welcome-block{background:linear-gradient(135deg,#12352af5,#2f8a5beb),linear-gradient(180deg,#ffffff24,#0000);border-radius:24px;box-shadow:0 14px 30px #14251b14;box-shadow:var(--login-shadow-soft);margin-top:16px;padding:20px}.welcome-block h2{color:#fff;font-size:24px;font-weight:900;letter-spacing:-.04em;line-height:1.04}.welcome-block p{color:#ffffffc7;font-size:13px;font-weight:500;line-height:1.65;margin-top:8px}.role-section{background:#ffffffc7;border:1px solid #13231b14;border:1px solid var(--login-line);border-radius:24px;margin-top:16px;padding:16px}.section-label{color:#16211a;color:var(--login-text);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:12px;text-transform:uppercase}.role-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.role-chip{align-items:center;background:#fbfdfb;border:1px solid #16211a14;border-radius:18px;color:#16211a;color:var(--login-text);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:800;gap:10px;min-height:58px;padding:0 14px;transition:all .24s ease;transition:var(--login-transition)}.role-chip:hover{border-color:var(--role-color);box-shadow:0 10px 18px #18211c14;transform:translateY(-1px)}.role-chip.active{background:linear-gradient(180deg,#fff,#f7fcf8f5);border-color:color-mix(in srgb,var(--role-color) 62%,#fff);box-shadow:inset 0 0 0 1px #fff9,0 12px 24px #18211c17}.role-chip-icon{background:color-mix(in srgb,var(--role-color) 12%,#fff);border-radius:12px;color:var(--role-color);display:inline-grid;flex-shrink:0;height:32px;place-items:center;position:relative;width:32px}.role-chip-icon span,.role-chip-icon span:after,.role-chip-icon span:before{box-sizing:border-box;content:"";display:block;position:absolute}.role-chip-icon span{inset:0}.role-chip-icon-student span:before{border:2px solid;border-radius:4px;height:18px;left:50%;top:50%;transform:translate(-50%,-50%);width:15px}.role-chip-icon-student span:after{background:currentColor;box-shadow:0 5px 0 currentColor;height:2px;left:50%;top:50%;transform:translate(-50%,-2px);width:7px}.role-chip-icon-teacher span:before{border:2px solid;border-radius:4px;height:12px;left:50%;top:50%;transform:translate(-50%,-50%);width:18px}.role-chip-icon-teacher span:after{background:currentColor;height:2px;left:50%;top:25px;transform:translateX(-50%);width:12px}.role-chip-icon-coach span:before{border:2px solid;border-radius:999px;height:16px;left:50%;top:50%;transform:translate(-50%,-50%);width:16px}.role-chip-icon-coach span:after{background:currentColor;height:2px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);width:10px}.role-chip-icon-admin span:before{border:2px solid;border-radius:6px;height:18px;left:50%;top:50%;transform:translate(-50%,-50%);width:18px}.role-chip-icon-admin span:after{border:2px solid;border-radius:999px;height:8px;left:50%;top:50%;transform:translate(-50%,-50%);width:8px}.role-chip-text{white-space:nowrap}.role-current{align-items:center;background:#edf7f0;background:var(--login-green-soft);border-radius:999px;color:#1f6a46;color:var(--login-green);display:inline-flex;font-size:12px;font-weight:700;gap:8px;margin-top:12px;padding:8px 12px}.role-current-dot{background:var(--role-color);border-radius:999px;height:9px;width:9px}.login-form{grid-gap:14px;background:#ffffffc7;border:1px solid #13231b14;border:1px solid var(--login-line);border-radius:24px;display:grid;gap:14px;margin-top:16px;padding:16px}.field-group{grid-gap:7px;display:grid;gap:7px}.field-group label{color:#16211a;color:var(--login-text);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.password-row{gap:12px;justify-content:space-between}.input-shell,.password-row{align-items:center;display:flex}.input-shell{background:#fbfdfb;border:1px solid #18211c14;border-radius:18px;gap:10px;min-height:54px;padding:0 14px;transition:all .24s ease;transition:var(--login-transition)}.input-shell:hover{border-color:#18211c29}.input-shell:focus-within{border-color:#1f6a46;border-color:var(--login-green);box-shadow:0 0 0 4px #1f6a4614}.input-icon{color:#1f6a46;color:var(--login-green);display:inline-grid;font-size:11px;font-weight:950;height:24px;letter-spacing:.03em;opacity:.82;place-items:center;position:relative;text-align:center;width:24px}.input-icon-lock:after,.input-icon-lock:before{box-sizing:border-box;content:"";display:block;position:absolute}.input-icon-lock:before{border:2px solid;border-radius:4px;height:12px;left:5px;top:10px;width:15px}.input-icon-lock:after{border:2px solid;border-bottom:none;border-radius:8px 8px 0 0;height:9px;left:8px;top:4px;width:9px}.input-shell input{background:#0000;border:none;color:#16211a;color:var(--login-text);flex:1 1;font:inherit;font-size:14px;font-weight:600;min-width:0;outline:none}.input-shell input::placeholder{color:#96a096;font-weight:500}.text-link,.toggle-button{background:none;border:none;color:#1f6a46;color:var(--login-green);cursor:pointer;font:inherit;font-size:12px;font-weight:800;padding:0}.toggle-button{padding:8px 0 8px 8px}.inline-link{white-space:nowrap}.feedback{align-items:flex-start;border-radius:16px;display:flex;font-size:13px;font-weight:700;gap:10px;line-height:1.5;padding:12px 14px}.feedback.error{background:#ffefef;border:1px solid #f5caca;color:#b33}.feedback.success{background:#ebf8ef;border:1px solid #cce6d2;color:#216540}.feedback-icon{flex-shrink:0}.feedback-icon-check{background:#216540;border-radius:999px;height:18px;position:relative;width:18px}.feedback-icon-check:after{border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";height:4px;left:5px;position:absolute;top:4px;transform:rotate(-45deg);width:7px}.submit-button{align-items:center;background:linear-gradient(135deg,#1f6a46,#2f8a5b);background:linear-gradient(135deg,var(--login-green),var(--login-green-2));border:none;border-radius:18px;box-shadow:0 16px 30px #1f6a4638;color:#fff;cursor:pointer;display:flex;font:inherit;font-size:15px;font-weight:900;gap:10px;justify-content:center;letter-spacing:.01em;min-height:56px;transition:all .24s ease;transition:var(--login-transition)}.submit-button:hover:not(:disabled){box-shadow:0 18px 34px #1f6a4647;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.65}.submit-arrow{font-size:18px}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff57}.login-footer{align-items:center;color:#6d776f;color:var(--login-muted);display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:14px 18px 2px}.promo-dashboard-preview{background:#ffffffb8;border:1px solid #142f2714;border-radius:26px;box-shadow:0 24px 58px #122a221f;margin-top:26px;max-width:430px;overflow:hidden;padding:18px;position:relative}.promo-dashboard-preview:after{background:#e8ad4a33;border-radius:999px;bottom:-62px;content:"";height:150px;position:absolute;right:-48px;width:150px}.preview-head,.preview-row{align-items:center;display:flex;gap:14px;justify-content:space-between;position:relative;z-index:1}.preview-head span,.preview-row span{color:#142f278f;font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.preview-head strong{color:#12352a;font-size:36px;font-weight:950;line-height:1}.preview-bars{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);height:108px;margin:18px 0;position:relative;z-index:1}.preview-bars i{animation:loginBarFloat 3.2s ease-in-out infinite;background:linear-gradient(180deg,#e8ad4a,#2f8a5b);border-radius:999px 999px 10px 10px;height:var(--height)}.preview-bars i:nth-child(2){animation-delay:.15s}.preview-bars i:nth-child(3){animation-delay:.3s}.preview-bars i:nth-child(4){animation-delay:.45s}.preview-row strong{color:#12352a;font-size:13px;font-weight:950}@keyframes loginBarFloat{0%,to{transform:scaleY(.94)}50%{transform:scaleY(1)}}@media (max-width:980px){.login-page{gap:20px;grid-template-columns:1fr;padding:78px 18px 18px}.login-promo{order:2}.login-card{margin:0 auto;max-width:560px;order:1}.promo-title{font-size:clamp(2.4rem,8vw,4rem);max-width:12ch}}@media (max-width:640px){.login-shell{min-height:100svh;overflow-y:auto}.login-backdrop{background-size:48px 48px;opacity:.26}.login-page{align-items:start;gap:0;min-height:auto;padding:58px 10px 16px}.login-promo{display:none}.login-card{border-radius:22px;box-shadow:0 18px 44px #122a221f;display:flex;flex-direction:column;justify-content:flex-start;max-width:none;min-height:auto;padding:12px}.auth-home-link{background:#ffffffdb;box-shadow:0 10px 22px #14251b14;height:38px;left:10px;top:10px;width:38px}.brand-row{gap:10px;padding:2px 4px 0}.brand-mark{border-radius:14px;height:44px;width:44px}.brand-name{font-size:21px}.brand-subtitle{font-size:9px;letter-spacing:.11em;margin-top:4px}.login-form,.role-section,.welcome-block{border-radius:18px;margin-top:10px;padding:12px}.welcome-block h2{font-size:19px}.welcome-block p{font-size:12px;line-height:1.45;margin-top:5px}.section-label{font-size:10px;margin-bottom:8px}.role-grid{gap:7px}.role-chip{border-radius:14px;gap:7px;min-height:44px;padding:0 9px}.role-chip-icon{border-radius:9px;height:26px;width:26px}.role-chip-text{font-size:12px}.role-current{display:none}.login-form{gap:10px}.field-group label{font-size:10px}.password-row{align-items:baseline;gap:8px}.input-shell{border-radius:14px;gap:8px;min-height:46px;padding:0 10px}.input-shell input{font-size:13px}.text-link,.toggle-button{font-size:11px}.toggle-button{padding-left:4px}.feedback{border-radius:14px;font-size:12px;padding:10px 11px}.submit-button{border-radius:14px;box-shadow:0 12px 24px #1f6a462e;font-size:14px;min-height:48px}.login-footer{flex-wrap:wrap;font-size:12px;gap:6px;margin-top:10px;padding:6px 6px 0}}@media (max-width:390px){.login-page{padding-inline:8px}.login-card{padding:10px}.brand-name{font-size:19px}.brand-mark{height:40px;width:40px}.login-form,.role-section,.welcome-block{padding:10px}.role-chip{gap:6px;min-height:42px;padding:0 7px}.role-chip-icon{height:24px;width:24px}.role-chip-text{font-size:10.5px}.welcome-block p{display:none}.password-row{align-items:flex-start;flex-direction:column;gap:4px}}:root{--signup-primary:#24563e;--signup-light:#4f8f66;--signup-dark:#163527;--signup-gold:#dfa64b;--signup-text:#1b221d;--signup-muted:#637066;--signup-surface:#fffcf6e6;--signup-line:#2331291a;--signup-shadow-soft:0 30px 70px #14231c26;--signup-shadow-strong:0 18px 44px #0e191438;--signup-r14:14px;--signup-r20:20px;--signup-r32:32px;--signup-r42:42px;--signup-rfull:9999px;--signup-transition:all 0.28s cubic-bezier(0.4,0,0.2,1)}.signup-container{background:radial-gradient(circle at 12% 18%,#468e6729,#0000 30%),radial-gradient(circle at 92% 12%,#cf902a2e,#0000 26%),linear-gradient(180deg,#fbfcf8,#eef4ef);font-family:Poppins,Segoe UI,sans-serif;min-height:100vh;overflow:hidden;position:relative}.signup-background{inset:0;overflow:hidden;position:absolute;z-index:0}.signup-bg-pattern{animation:signupDrift 22s linear infinite;background-image:linear-gradient(#ffffff26 1px,#0000 0),linear-gradient(90deg,#ffffff26 1px,#0000 0);background-size:90px 90px;inset:-14%;-webkit-mask-image:radial-gradient(circle at center,#000 35%,#0000 78%);mask-image:radial-gradient(circle at center,#000 35%,#0000 78%);opacity:.45;position:absolute}.signup-home-link{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffad;border:1px solid #142f271a;border-radius:999px;box-shadow:0 14px 28px #14251b14;color:#24563e;color:var(--signup-primary);cursor:pointer;display:grid;height:44px;left:28px;place-items:center;position:absolute;top:24px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition);width:44px;z-index:4}.signup-home-link span,.signup-home-link span:after,.signup-home-link span:before{box-sizing:border-box;content:"";display:block;position:absolute}.signup-home-link span{height:20px;position:relative;width:20px}.signup-home-link span:before{border:2px solid;border-radius:3px;border-top:0;height:13px;left:3px;top:9px;width:15px}.signup-home-link span:after{border-left:2px solid;border-radius:2px 0 0 0;border-top:2px solid;height:14px;left:3px;top:3px;transform:rotate(45deg);width:14px}.signup-home-link:hover{border-color:#24563e3d;transform:translateY(-1px)}@keyframes signupDrift{0%{transform:translateZ(0) rotate(0deg)}to{transform:translate3d(-30px,-20px,0) rotate(1deg)}}.signup-content{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:minmax(0,1.02fr) minmax(420px,620px);margin:0 auto;max-width:1360px;min-height:100vh;padding:76px 36px 36px;position:relative;z-index:1}.signup-hero{grid-gap:26px;display:grid;gap:26px}.signup-hero-copy{animation:signupRise .7s ease-out both;max-width:620px}.signup-eyebrow{align-items:center;background:#ffffffb8;border:1px solid #24563e1a;border-radius:9999px;border-radius:var(--signup-rfull);color:#163527;color:var(--signup-dark);display:inline-flex;font-size:12px;font-weight:800;letter-spacing:.18em;margin-bottom:18px;padding:8px 14px}.signup-hero-title{color:#1b221d;color:var(--signup-text);font-size:clamp(3.4rem,6.2vw,5.6rem);font-weight:950;letter-spacing:0;line-height:.9;max-width:11ch}.signup-hero-description{color:#637066;color:var(--signup-muted);font-size:16px;font-weight:500;line-height:1.8;margin-top:18px;max-width:520px}.signup-hero-visual{grid-gap:18px;animation:signupRise .9s ease-out both;display:grid;gap:18px}.signup-photo{background:radial-gradient(circle at 18% 16%,#e8ad4a42,#0000 28%),radial-gradient(circle at 82% 18%,#2f8a5b33,#0000 26%),linear-gradient(135deg,#fffffff0,#edf6efe6);border:1px solid #24563e14;border-radius:42px;border-radius:var(--signup-r42);box-shadow:0 30px 70px #14231c26;box-shadow:var(--signup-shadow-soft);min-height:500px;overflow:hidden;position:relative}.signup-photo-overlay{background:linear-gradient(#24563e0a 1px,#0000 0),linear-gradient(90deg,#24563e0a 1px,#0000 0);background-size:42px 42px;inset:0;opacity:.72;position:absolute}.signup-float-card{grid-gap:4px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #24563e1a;border-radius:20px;box-shadow:0 18px 28px #0a110e2e;color:#163527;color:var(--signup-dark);display:grid;gap:4px;padding:16px 18px;position:absolute;z-index:1}.signup-float-top{left:22px;top:22px}.signup-float-bottom{align-items:center;bottom:22px;display:flex;flex-wrap:wrap;gap:10px;left:22px}.signup-product-preview{animation:signupPreviewFloat 5s ease-in-out infinite;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #24563e1a;border-radius:28px;box-shadow:0 28px 70px #122a2229;left:50%;padding:22px;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-2deg);width:min(78%,430px);z-index:2}.signup-preview-top{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.signup-preview-card span,.signup-preview-top span{color:#142f278f;display:block;font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.signup-preview-top strong{color:#163527;color:var(--signup-dark);font-size:26px;font-weight:950;line-height:1}.signup-preview-steps{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.signup-preview-steps span{align-items:center;background:#24563e12;border-radius:16px;color:#142f2794;display:flex;font-size:12px;font-weight:900;justify-content:center;min-height:46px}.signup-preview-steps span.done{background:#2f8a5b24;color:#1f6a46}.signup-preview-steps span.active{background:linear-gradient(135deg,#24563e,#4f8f66);background:linear-gradient(135deg,var(--signup-primary),var(--signup-light));box-shadow:0 14px 26px #24563e2e;color:#fff}.signup-preview-card{background:#f6f9f5e6;border:1px solid #24563e14;border-radius:20px;margin-top:14px;padding:18px}.signup-preview-card strong{color:#163527;color:var(--signup-dark);display:block;font-size:20px;font-weight:950;line-height:1.1;margin-top:8px}.signup-preview-card p{color:#637066;color:var(--signup-muted);font-size:13px;font-weight:650;line-height:1.5;margin:8px 0 0}@keyframes signupPreviewFloat{0%,to{transform:translate(-50%,-50%) rotate(-2deg)}50%{transform:translate(-50%,calc(-50% - 12px)) rotate(1deg)}}.float-kicker{font-size:12px;letter-spacing:.16em;opacity:.82;text-transform:uppercase}.float-pill{background:#24563e14;border:1px solid #24563e14;border-radius:9999px;border-radius:var(--signup-rfull);color:#163527;color:var(--signup-dark);font-size:12px;font-weight:700;padding:8px 12px}.signup-hero-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.signup-metric{grid-gap:6px;background:#ffffffad;border:1px solid #24563e14;border-radius:24px;box-shadow:0 12px 24px #18271f0f;display:grid;gap:6px;padding:18px 18px 20px}.metric-number{color:#163527;color:var(--signup-dark);font-size:22px;font-weight:800;letter-spacing:-.04em}.metric-copy{color:#637066;color:var(--signup-muted);font-size:13px;font-weight:600;line-height:1.5}.signup-card{animation:signupRise .75s ease-out both;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffffe0;border:1px solid #24563e14;border-radius:32px;border-radius:var(--signup-r32);box-shadow:0 30px 80px #122a2229;padding:34px 30px;width:100%}@keyframes signupRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.signup-header{border-bottom:1px solid #2331291a;border-bottom:1px solid var(--signup-line);gap:16px;margin-bottom:22px;padding-bottom:18px}.logo-small,.signup-header{align-items:center;display:flex}.logo-small{background:linear-gradient(135deg,#24563e,#4f8f66);background:linear-gradient(135deg,var(--signup-primary),var(--signup-light));border:1px solid #24563e1f;border-radius:18px;box-shadow:0 12px 28px #24563e38;height:64px;justify-content:center;overflow:hidden;width:64px}.logo-small img{display:block;height:100%;object-fit:cover;width:100%}.signup-header h1{color:#163527;color:var(--signup-dark);font-size:24px;font-weight:900;letter-spacing:-.04em;margin:0}.signup-header p{color:#637066;color:var(--signup-muted);font-size:13px;font-weight:600;margin-top:4px}.progress-steps{gap:12px;justify-content:center;margin:18px 0 28px}.progress-steps,.step{align-items:center;display:flex}.step{flex-direction:column;gap:8px}.step-circle{align-items:center;background:#0000000f;border:2px solid #0000000f;border-radius:999px;color:#00000073;display:flex;font-weight:900;height:40px;justify-content:center;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition);width:40px}.step.active .step-circle{background:#24563e;background:var(--signup-primary);border-color:#24563e;border-color:var(--signup-primary);box-shadow:0 10px 18px #24563e38;color:#fff}.step.completed .step-circle{background:#4f8f66;background:var(--signup-light);border-color:#4f8f66;border-color:var(--signup-light);color:#fff}.step span{color:#00000073;font-size:12px;font-weight:800}.step.active span,.step.completed span{color:#163527;color:var(--signup-dark)}.step-line{background:#0000001a;border-radius:999px;height:3px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition);width:72px}.step-line.filled{background:linear-gradient(90deg,#24563e,#4f8f66);background:linear-gradient(90deg,var(--signup-primary),var(--signup-light))}.form-step h2{color:#1b221d;color:var(--signup-text);font-size:22px;font-weight:900;margin-bottom:6px}.step-description{color:#637066;color:var(--signup-muted);font-size:14px;font-weight:600;line-height:1.65;margin-bottom:18px}.role-selection-large{display:flex;flex-direction:column;gap:14px;margin-top:8px}.role-card-large{align-items:center;background:#ffffffd6;border:1.8px solid #24563e14;border-radius:20px;border-radius:var(--signup-r20);cursor:pointer;display:flex;gap:16px;padding:18px;position:relative;text-align:left;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition)}.role-card-large:hover{border-color:var(--role-color);box-shadow:0 14px 26px #14231c1a;transform:translateY(-2px)}.role-card-large.active{background:#fff;border-color:var(--role-color);box-shadow:0 16px 28px #14231c1f}.role-icon-large{background:color-mix(in srgb,var(--role-color) 12%,#fff);border-radius:16px;color:var(--role-color);display:inline-grid;flex-shrink:0;height:52px;place-items:center;position:relative;width:52px}.role-icon-large span,.role-icon-large span:after,.role-icon-large span:before{box-sizing:border-box;content:"";display:block;position:absolute}.role-icon-large span{inset:0}.role-icon-large-student span:before{border:2px solid;border-radius:6px;height:26px;left:50%;top:50%;transform:translate(-50%,-50%);width:21px}.role-icon-large-student span:after{background:currentColor;box-shadow:0 7px 0 currentColor;height:2px;left:50%;top:50%;transform:translate(-50%,-3px);width:11px}.role-icon-large-teacher span:before{border:2px solid;border-radius:5px;height:17px;left:50%;top:50%;transform:translate(-50%,-50%);width:28px}.role-icon-large-teacher span:after{background:currentColor;height:2px;left:50%;top:39px;transform:translateX(-50%);width:18px}.role-icon-large-coach span:before{border:2px solid;border-radius:999px;height:25px;left:50%;top:50%;transform:translate(-50%,-50%);width:25px}.role-icon-large-coach span:after{background:currentColor;height:2px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);width:14px}.role-info h3{color:#1b221d;color:var(--signup-text);font-size:17px;font-weight:900;margin:0 0 4px}.role-info p{color:#637066;color:var(--signup-muted);font-size:13px;line-height:1.5;margin:0}.role-check-large{background:var(--role-color);border-radius:999px;color:#fff;display:grid;height:26px;place-items:center;position:absolute;right:14px;top:14px;width:26px}.role-check-large:after{border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";height:5px;transform:rotate(-45deg);width:9px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-top:10px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group.full-width{grid-column:1/-1}.input-group label{color:#1b221d;color:var(--signup-text);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.signup-card input,.signup-card select{background:#fff;border:1.8px solid #0000001a;border-radius:16px;color:#1b221d;color:var(--signup-text);font-size:14px;font-weight:650;min-height:52px;padding:0 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition);width:100%}.signup-card input:hover,.signup-card select:hover{border-color:#00000029}.signup-card input:focus,.signup-card select:focus{border-color:#24563e;border-color:var(--signup-primary);box-shadow:0 0 0 4px #24563e14;outline:none}.signup-card input::placeholder{color:#9e9e9e;font-weight:550}.auto-filled-info{background:#4f8f661a;border:1px solid #4f8f6659;border-radius:18px;display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;padding:14px}.info-item{align-items:center;background:#fff;border:1px solid #0000000f;border-radius:14px;display:flex;gap:10px;padding:10px 12px}.info-label{color:#163527;color:var(--signup-dark)}.info-label,.info-value{font-size:12px;font-weight:900}.info-value{color:#1b221d;color:var(--signup-text)}.human-check-card{background:#ffffffe0;border:1.8px solid #24563e24;border-radius:18px;box-shadow:inset 0 1px 0 #ffffffd9;margin-top:4px;padding:14px}.human-check-label{align-items:center;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.human-check-label input{opacity:0;pointer-events:none;position:absolute}.human-check-control{background:#fff;border:2px solid #24563e40;border-radius:8px;flex-shrink:0;height:28px;position:relative;transition:.18s ease;width:28px}.human-check-label input:focus-visible+.human-check-control{outline:3px solid #4f8f6638;outline-offset:2px}.human-check-label input:checked+.human-check-control{background:linear-gradient(135deg,#24563e,#4f8f66);background:linear-gradient(135deg,var(--signup-primary),var(--signup-light));border-color:#24563e;border-color:var(--signup-primary)}.human-check-label input:checked+.human-check-control:after{border:solid #fff;border-width:0 3px 3px 0;content:"";height:14px;left:8px;position:absolute;top:4px;transform:rotate(45deg);width:8px}.human-check-copy small,.human-check-copy strong{display:block}.human-check-copy strong{color:#1b221d;color:var(--signup-text);font-size:14px;font-weight:950;line-height:1.2}.human-check-copy small{color:#637066;color:var(--signup-muted);font-size:12px;font-weight:700;line-height:1.45;margin-top:3px}.checkbox-group{margin-top:4px}.checkbox-label{align-items:flex-start;color:#1b221d;color:var(--signup-text);cursor:pointer;display:flex;font-size:13px;font-weight:650;gap:12px;line-height:1.6;-webkit-user-select:none;user-select:none}.checkbox-label input{accent-color:#24563e;accent-color:var(--signup-primary);height:20px;margin-top:2px;width:20px}.checkbox-label a{color:#24563e;color:var(--signup-primary);font-weight:900;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.loading-text{align-items:center;background:#ffffffb3;border:1.8px dashed #0000001f;border-radius:16px;color:#637066;color:var(--signup-muted);display:flex;font-size:13px;font-weight:800;justify-content:center;min-height:52px}.error-message{align-items:flex-start;background:#ffebee;border:1px solid #ffcdd2;border-radius:14px;color:#c62828;display:flex;font-weight:800;gap:10px;margin-top:14px;padding:12px 14px}.error-icon{font-size:18px}.form-navigation{display:flex;gap:12px;margin-top:24px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:900;gap:10px;justify-content:center;min-height:52px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--signup-transition)}.btn-primary{background:linear-gradient(135deg,#24563e,#4f8f66);background:linear-gradient(135deg,var(--signup-primary),var(--signup-light));box-shadow:0 14px 26px #24563e38;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 18px 34px #24563e47;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.65}.btn-secondary{background:#fff;border:2px solid #24563e59;color:#163527;color:var(--signup-dark)}.btn-secondary:hover{background:#24563e0f;transform:translateY(-1px)}.spinner{animation:signupSpin .6s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes signupSpin{to{transform:rotate(1turn)}}.signup-footer{border-top:1px solid #2331291a;border-top:1px solid var(--signup-line);color:#637066;color:var(--signup-muted);font-size:13px;font-weight:750;margin-top:22px;padding-top:18px;text-align:center}.link-button{background:none;border:none;color:#24563e;color:var(--signup-primary);cursor:pointer;font-weight:900}.link-button:hover{text-decoration:underline}.success-screen{background:#ffffffeb;border:1px solid #0000000f;border-radius:32px;border-radius:var(--signup-r32);box-shadow:0 30px 70px #14231c26;box-shadow:var(--signup-shadow-soft);margin:0 auto;max-width:520px;padding:54px 40px;position:relative;text-align:center;z-index:1}.success-icon-large{background:linear-gradient(135deg,#24563e,#4f8f66);background:linear-gradient(135deg,var(--signup-primary),var(--signup-light));border-radius:24px;color:#fff;display:inline-grid;height:76px;margin:0 auto 16px;place-items:center;position:relative;width:76px}.success-icon-large span:after{border-bottom:4px solid #fff;border-left:4px solid #fff;content:"";height:12px;left:27px;position:absolute;top:30px;transform:rotate(-45deg);width:22px}.success-screen h1{color:#163527;color:var(--signup-dark);font-size:26px;font-weight:950;margin-bottom:10px}.success-screen p{color:#1b221d;color:var(--signup-text);font-size:14px;font-weight:650;margin-bottom:8px}.success-note{color:#637066;color:var(--signup-muted)}.success-timer{background:#24563e14;border-radius:14px;color:#163527;color:var(--signup-dark);font-size:13px;font-weight:900;margin-top:18px;padding:12px 14px}.pw-field{align-items:center;display:flex;position:relative}.pw-field input{padding-right:48px;width:100%}.pw-toggle{background:none;border:none;border-radius:10px;color:#24563e;color:var(--signup-primary);cursor:pointer;font-size:12px;font-weight:900;opacity:.85;padding:6px;position:absolute;right:10px;transition:all .2s ease}.pw-toggle:hover{background:#0000000a;opacity:1;transform:scale(1.06)}.pw-meter{background:#eee;border:1px solid #e0e0e0;border-radius:999px;height:10px;margin-top:10px;overflow:hidden}.pw-meter-bar{height:100%;transition:width .25s ease;width:0}.pw-meter.weak .pw-meter-bar{background:#f44336}.pw-meter.medium .pw-meter-bar{background:#ff9800}.pw-meter.strong .pw-meter-bar{background:#4caf50}.pw-meter-label{color:#616161;font-size:13px;margin-top:8px}.pw-meter-label.weak strong{color:#c62828}.pw-meter-label.medium strong{color:#e65100}.pw-meter-label.strong strong{color:#1b5e20}.pw-checklist{background:#fafafa;border:1px solid #eaeaea;border-radius:14px;margin-top:12px;padding:12px 14px}.pw-check-title{color:#24563e;color:var(--signup-primary);font-size:13px;font-weight:800;margin-bottom:8px}.pw-checklist ul{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:0}.pw-checklist li{align-items:center;color:#757575;display:flex;font-size:13px;font-weight:650;gap:10px}.pw-checklist li .dot{align-items:center;background:#e0e0e0;border-radius:999px;color:#616161;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;position:relative;width:18px}.pw-checklist li.ok{color:#1b5e20}.pw-checklist li.ok .dot{background:#4caf50;color:#fff}.pw-checklist li.ok .dot:after{border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";height:4px;left:5px;position:absolute;top:5px;transform:rotate(-45deg);width:7px}.pw-match{border:1px solid #0000;border-radius:12px;font-size:13px;font-weight:800;margin-top:10px;padding:10px 12px}.pw-match.ok{background:#e8f5e9;border-color:#c8e6c9;color:#1b5e20}.pw-match.bad{background:#ffebee;border-color:#ffcdd2;color:#c62828}@media (max-width:1160px){.signup-content{gap:28px;grid-template-columns:1fr;padding:78px 24px 24px}.signup-hero{order:2}.signup-card{margin:0 auto;max-width:760px;order:1}.signup-hero-title{font-size:clamp(2.5rem,7vw,4.2rem);max-width:14ch}.signup-photo{min-height:360px}}@media (max-width:768px){.signup-container{overflow-y:auto}.signup-content{gap:18px;min-height:auto;padding:74px 16px 16px}.signup-hero{gap:18px}.signup-hero-title{font-size:clamp(2.1rem,11vw,3.2rem);max-width:none}.signup-hero-description{font-size:14px;line-height:1.7}.signup-hero-strip{grid-template-columns:1fr}.signup-photo{min-height:240px}.signup-product-preview{padding:18px;width:min(86%,420px)}.signup-float-bottom,.signup-float-top{left:16px}.signup-float-card{border-radius:16px;padding:12px 14px}.signup-card{border-radius:24px;padding:24px 18px}.form-grid{grid-template-columns:1fr}.progress-steps{gap:10px}.step-line{width:44px}.form-navigation{flex-direction:column}}@media (max-width:560px){.signup-container{min-height:100svh}.signup-bg-pattern{background-size:54px 54px;opacity:.24}.signup-content{gap:10px;padding:58px 10px 12px}.signup-home-link{background:#ffffffdb;box-shadow:0 10px 22px #14251b14;height:38px;left:10px;top:10px;width:38px}.signup-hero,.signup-hero-strip,.signup-hero-visual{display:none}.signup-card{border-radius:20px;box-shadow:0 18px 44px #122a221f;padding:12px}.signup-header{gap:10px;margin-bottom:12px;padding-bottom:10px}.logo-small{border-radius:14px;height:42px;width:42px}.signup-header h1{font-size:18px}.signup-header p{font-size:11px;line-height:1.35}.progress-steps{gap:4px;margin:10px 0 14px}.step{flex:1 1;min-width:0}.step-circle{font-size:12px;height:30px;width:30px}.step span{font-size:10px;line-height:1.2;text-align:center}.step-line{flex:0 0 18px;width:18px}.form-step h2{font-size:18px}.step-description{font-size:12px;line-height:1.45;margin-bottom:10px}.role-selection-large{gap:8px}.role-card-large{border-radius:14px;gap:9px;padding:10px}.role-icon-large{border-radius:12px;height:38px;width:38px}.role-info h3{font-size:14px}.role-info p{font-size:11px;line-height:1.35}.role-check-large{font-size:11px;height:22px;right:10px;top:10px;width:22px}.form-grid{gap:10px}.input-group label{font-size:11px;letter-spacing:.06em}.signup-card input,.signup-card select{border-radius:14px;font-size:13px;min-height:44px;padding:0 10px}.auto-filled-info{gap:8px;padding:10px}.info-item{justify-content:space-between;width:100%}.loading-text{font-size:12px;min-height:44px}.pw-checklist{padding:10px 12px}.checkbox-label,.pw-check-title,.pw-checklist li,.pw-match{font-size:12px}.human-check-card{border-radius:14px;padding:10px}.human-check-control{border-radius:7px;height:24px;width:24px}.human-check-label input:checked+.human-check-control:after{height:12px;left:7px;top:3px;width:7px}.human-check-copy strong{font-size:13px}.human-check-copy small{font-size:11px}.form-navigation{gap:8px;margin-top:12px}.btn-primary,.btn-secondary{border-radius:14px;font-size:14px;min-height:46px}.signup-footer{font-size:12px;margin-top:12px;padding-top:10px}}@media (max-width:390px){.signup-content{padding-inline:8px}.signup-hero-description{display:none}.signup-card{padding:10px}.role-info p,.signup-header p,.step span{display:none}.progress-steps{margin-bottom:12px}.role-card-large{min-height:48px}.pw-checklist{display:none}}.landing-shell{background:radial-gradient(circle at 12% 18%,#468e6729,#0000 30%),radial-gradient(circle at 92% 12%,#cf902a2e,#0000 26%),linear-gradient(180deg,#fbfcf8,#eef4ef);color:#142f27;min-height:100vh;overflow:hidden}.landing-nav{align-items:center;display:flex;gap:18px;justify-content:space-between;margin:0 auto;padding:22px 0 10px;position:relative;width:min(1180px,calc(100% - 36px));z-index:3}.landing-brand{background:#0000;border:0;color:inherit;cursor:pointer;gap:12px;padding:0;text-align:left}.landing-brand,.landing-brand-mark{align-items:center;display:inline-flex}.landing-brand-mark{background:linear-gradient(135deg,#1f6a46,#38a06a);border-radius:15px;box-shadow:0 14px 30px #1f6a4633;height:46px;justify-content:center;overflow:hidden;width:46px}.landing-brand-mark img,.product-logo img{display:block;height:100%;object-fit:cover;width:100%}.landing-brand small,.landing-brand strong{display:block}.landing-brand strong{font-size:16px;font-weight:900;line-height:1.1}.landing-brand small{color:#142f2799;font-size:10px;font-weight:850;letter-spacing:.12em;margin-top:4px;text-transform:uppercase}.landing-actions,.landing-cta-row{align-items:center;display:flex;gap:12px}.landing-link,.landing-primary,.landing-secondary{border:0;border-radius:999px;cursor:pointer;font-weight:900;min-height:44px;padding:0 18px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.landing-link{background:#0000;color:#142f27b8}.landing-primary{background:linear-gradient(135deg,#1f6a46,#2f8a5b);box-shadow:0 16px 30px #1f6a4638;color:#fff}.landing-primary-large{min-height:54px;padding:0 24px}.landing-secondary{background:#ffffffb8;border:1px solid #142f271f;color:#1d4b39;min-height:54px}.landing-link:hover,.landing-primary:hover,.landing-secondary:hover{transform:translateY(-1px)}.landing-primary:hover,.landing-secondary:hover{box-shadow:0 18px 34px #18271f1f}.landing-hero{grid-gap:42px;align-items:center;display:grid;gap:42px;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);margin:0 auto;min-height:calc(100vh - 118px);padding:52px 0 34px;width:min(1180px,calc(100% - 36px))}.landing-copy{min-width:0}.landing-copy h1{color:#12352a;font-size:clamp(4.2rem,8.2vw,7.8rem);font-weight:950;letter-spacing:0;line-height:.86;margin:0;max-width:9ch}.landing-copy p{color:#142f27ad;font-size:18px;font-weight:600;line-height:1.75;margin:26px 0 0;max-width:560px}.landing-cta-row,.landing-proof{flex-wrap:wrap;margin-top:30px}.landing-proof{display:flex;gap:10px;max-width:540px}.landing-proof span{background:#ffffffa8;border:1px solid #142f2714;border-radius:999px;color:#142f27ad;font-size:12px;font-weight:850;padding:10px 13px}.product-stage{align-items:center;display:flex;justify-content:center;min-height:560px;perspective:1200px;position:relative}.product-browser{animation:productFloat 5s ease-in-out infinite;background:#ffffffd1;border:1px solid #142f271a;border-radius:28px;box-shadow:0 34px 90px #122a2233;overflow:hidden;transform:rotateY(-7deg) rotateX(4deg);width:min(100%,710px)}.product-browser-bar{align-items:center;background:#ffffffc7;border-bottom:1px solid #142f2714;display:flex;gap:8px;height:42px;padding:0 18px}.product-browser-bar span{background:#142f272e;border-radius:999px;height:10px;width:10px}.product-dashboard{background:linear-gradient(135deg,#f7faf5f0,#eff6eff5);display:grid;grid-template-columns:150px 1fr;min-height:420px}.product-sidebar{background:#ffffff7a;border-right:1px solid #142f2714;padding:18px 14px}.product-logo{background:#fff;border:1px solid #142f271a;border-radius:14px;height:42px;justify-content:center;margin-bottom:22px;overflow:hidden;width:42px}.product-logo,.product-menu{align-items:center;display:flex}.product-menu{border-radius:12px;color:#142f278c;font-size:11px;font-weight:900;height:34px;margin-bottom:10px;padding:0 12px}.product-menu.active{background:#1f6a461a;color:#1f6a46}.product-main{padding:22px}.product-topline{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.chart-head span,.floating-card span,.product-session span,.product-stat span,.product-topline span{color:#142f278a;display:block;font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.product-topline strong{color:#12352a;display:block;font-size:24px;font-weight:950;line-height:1;margin-top:6px}.product-topline button{background:#12352a;border:0;border-radius:999px;color:#fff;font-size:11px;font-weight:900;min-height:36px;padding:0 14px}.product-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.product-stat{background:#ffffffc2;border:1px solid #142f2714;border-radius:18px;padding:16px}.product-stat strong{color:#12352a;display:block;font-size:30px;font-weight:950;line-height:1;margin-top:10px}.product-stat.green{box-shadow:inset 0 -4px 0 #2f8a5b2e}.product-stat.gold{box-shadow:inset 0 -4px 0 #c9852833}.product-stat.blue{box-shadow:inset 0 -4px 0 #4b7cc42e}.product-content-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.25fr .75fr;margin-top:14px}.product-chart,.product-session{background:#ffffffb8;border:1px solid #142f2714;border-radius:20px;min-height:174px;padding:16px}.chart-head{display:flex;gap:12px;justify-content:space-between}.chart-head strong{color:#2f8a5b;font-size:11px;font-weight:950}.chart-bars{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:repeat(5,1fr);height:108px;margin-top:20px}.chart-bars i{animation:barPulse 3.2s ease-in-out infinite;background:linear-gradient(180deg,#e8ad4a,#2f8a5b);border-radius:999px 999px 8px 8px;height:var(--bar);transform-origin:bottom}.chart-bars i:nth-child(2){animation-delay:.2s}.chart-bars i:nth-child(3){animation-delay:.4s}.chart-bars i:nth-child(4){animation-delay:.6s}.chart-bars i:nth-child(5){animation-delay:.8s}.product-session strong{color:#12352a;display:block;font-size:20px;font-weight:950;line-height:1.1;margin-top:22px}.product-session p{color:#142f279e;font-size:12px;font-weight:750;line-height:1.5;margin:8px 0 0}.session-progress{background:#142f271a;border-radius:999px;height:10px;margin-top:22px;overflow:hidden}.session-progress span{animation:progressShift 4s ease-in-out infinite;background:linear-gradient(90deg,#2f8a5b,#e8ad4a);border-radius:inherit;display:block;height:100%;width:68%}.floating-card{animation:cardDrift 4.8s ease-in-out infinite;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #142f271a;border-radius:20px;box-shadow:0 22px 52px #122a2229;min-width:190px;padding:16px 18px;position:absolute;z-index:2}.floating-card strong{color:#12352a;display:block;font-size:15px;font-weight:950;margin-top:8px}.floating-card-a{right:4px;top:66px}.floating-card-b{animation-delay:.6s;bottom:78px;left:8px}.landing-strip{grid-gap:12px;background:#ffffffad;border:1px solid #142f2714;border-radius:28px;box-shadow:0 18px 44px #122a2214;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto 34px;padding:18px;position:relative;width:min(1180px,calc(100% - 36px));z-index:2}.landing-strip div{background:#f7faf5c2;border-radius:20px;padding:18px}.landing-strip span{color:#2f8a5b;display:block;font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.landing-strip strong{color:#142f27d1;display:block;font-size:15px;font-weight:850;line-height:1.45;margin-top:8px}@keyframes productFloat{0%,to{transform:rotateY(-7deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(-4deg) rotateX(2deg) translateY(-12px)}}@keyframes cardDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes barPulse{0%,to{transform:scaleY(.94)}50%{transform:scaleY(1)}}@keyframes progressShift{0%,to{width:62%}50%{width:78%}}@media (max-width:980px){.landing-hero{gap:28px;grid-template-columns:1fr;padding-top:34px}.landing-copy h1{max-width:10ch}.product-stage{min-height:500px}.product-browser{transform:none}.landing-strip{grid-template-columns:1fr}}@media (max-width:680px){.landing-shell{min-height:100svh;overflow-y:auto}.landing-nav{gap:10px;padding:12px 0 4px;width:min(100% - 24px,1180px)}.floating-card,.landing-brand small,.landing-link{display:none}.landing-brand-mark{border-radius:13px;height:38px;width:38px}.landing-brand strong{font-size:14px}.landing-actions{gap:8px}.landing-primary{font-size:12px;min-height:38px;padding:0 12px}.landing-hero{gap:18px;min-height:auto;padding:22px 0 16px;width:min(100% - 24px,1180px)}.landing-copy h1{font-size:clamp(2.75rem,17vw,4.3rem);line-height:.92;max-width:9ch}.landing-copy p{font-size:13px;line-height:1.55;margin-top:12px}.landing-cta-row{grid-gap:9px;display:grid;gap:9px;grid-template-columns:1fr;margin-top:16px}.landing-primary-large,.landing-secondary{font-size:13px;min-height:46px;width:100%}.landing-proof{gap:7px;margin-top:14px}.landing-proof span{font-size:10px;padding:8px 10px}.product-stage{display:block;min-height:auto}.product-browser{border-radius:18px;box-shadow:0 18px 44px #122a2221}.product-browser-bar{height:32px;padding:0 12px}.product-browser-bar span{height:8px;width:8px}.product-dashboard{grid-template-columns:1fr}.product-sidebar{display:none}.product-main{padding:12px}.product-topline{align-items:center}.product-topline strong{font-size:17px}.product-topline button{display:none}.product-content-grid,.product-stat-grid{gap:9px;grid-template-columns:1fr;margin-top:10px}.product-stat{border-radius:15px;padding:12px}.product-stat strong{font-size:24px;margin-top:6px}.product-chart,.product-session{border-radius:16px;min-height:122px;padding:12px}.chart-bars{height:76px;margin-top:14px}.product-session strong{font-size:17px;margin-top:14px}.session-progress{margin-top:14px}.landing-strip{border-radius:18px;gap:8px;margin-bottom:18px;padding:10px;width:min(100% - 24px,1180px)}.landing-strip div{border-radius:15px;padding:12px}.landing-strip strong{font-size:12px;line-height:1.35;margin-top:5px}}@media (max-width:390px){.landing-nav{width:min(100% - 18px,1180px)}.landing-brand-mark{height:34px;width:34px}.landing-brand strong{font-size:13px}.landing-primary{min-height:36px;padding:0 10px}.landing-hero,.landing-strip{width:min(100% - 18px,1180px)}.landing-copy h1{font-size:clamp(2.45rem,16vw,3.6rem)}.landing-proof span:nth-child(n+3),.landing-strip{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--shell-sidebar:224px;--shell-ink:#15362d;--shell-muted:#15362d9e;--shell-line:#15362d1a;--shell-card:#ffffffbd;--shell-green:#2b7a5b;--shell-blue:#2563eb;--shell-gold:#b7791f;--shell-shadow:0 22px 48px #15362d1a}.app-shell{color:#15362d;color:var(--shell-ink);display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-columns:var(--shell-sidebar) minmax(0,1fr);min-height:100vh}.app-sidebar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:linear-gradient(180deg,#ffffffdb,#f6faf7c2),radial-gradient(360px 220px at 8% 0,#2b7a5b1f,#0000 62%);border-right:1px solid #15362d1a;border-right:1px solid var(--shell-line);box-shadow:8px 0 26px rgba(21,54,45,.035);display:flex;flex-direction:column;gap:12px;height:100vh;padding:14px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:80}.app-sidebar-brand{align-items:center;background:#ffffffad;border:1px solid #15362d1a;border:1px solid var(--shell-line);border-radius:18px;box-shadow:0 10px 22px #15362d0d;display:flex;gap:10px;padding:9px}.app-sidebar-mark{background:linear-gradient(135deg,#245b46,#4f9b79);border:1px solid #15362d1a;border-radius:14px;box-shadow:0 16px 30px #2b7a5b38;display:grid;height:40px;overflow:hidden;place-items:center;width:40px}.app-shell-blue .app-sidebar-mark{box-shadow:0 16px 30px #2563eb38}.app-shell-gold .app-sidebar-mark{box-shadow:0 16px 30px #b7791f38}.app-sidebar-mark img{display:block;height:100%;object-fit:cover;width:100%}.app-mobile-head p,.app-sidebar-brand p{color:#15362d9e;color:var(--shell-muted);font-size:11px;font-weight:900;letter-spacing:.12em;margin:0 0 3px;text-transform:uppercase}.app-mobile-head strong,.app-sidebar-brand strong{font-size:16px;letter-spacing:-.02em}.app-sidebar-nav{grid-gap:6px;display:grid;gap:6px;padding-top:6px}.app-nav-item{align-items:center;background:#0000;border:0;border-radius:13px;color:#15362db8;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:850;gap:10px;min-height:40px;padding:8px 9px;text-align:left;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;width:100%}.app-nav-item:hover{background:#15362d0f;transform:translateX(2px)}.app-nav-item.active{background:linear-gradient(135deg,#2b7a5b24,#2b7a5b12);box-shadow:inset 3px 0 0 #2b7a5b85,inset 0 0 0 1px #2b7a5b17;color:#1d5a45}.app-nav-item.active .app-nav-icon{background:#2b7a5b21}.app-shell-blue .app-nav-item.active{background:#2563eb1f;box-shadow:inset 0 0 0 1px #2563eb1f;color:#1d4ed8}.app-shell-blue .app-nav-item.active .app-nav-icon{background:#2563eb1f}.app-shell-gold .app-nav-item.active{background:#b7791f24;box-shadow:inset 0 0 0 1px #b7791f1f;color:#8a4f0d}.app-shell-gold .app-nav-item.active .app-nav-icon{background:#b7791f24}.app-nav-icon{background:#15362d0f;border-radius:10px;display:inline-grid;flex:0 0 auto;height:28px;overflow:hidden;place-items:center;position:relative;width:28px}.app-nav-symbol,.app-nav-symbol:after,.app-nav-symbol:before{box-sizing:border-box;content:"";display:block;position:absolute}.app-nav-symbol{inset:0}.app-nav-icon-home .app-nav-symbol:before,.app-nav-icon-overview .app-nav-symbol:before{border:2px solid;border-radius:2px;border-top:0;height:13px;left:8px;top:12px;width:15px}.app-nav-icon-home .app-nav-symbol:after,.app-nav-icon-overview .app-nav-symbol:after{border-left:2px solid;border-radius:2px 0 0 0;border-top:2px solid;height:14px;left:8px;top:6px;transform:rotate(45deg);width:14px}.app-nav-icon-schedule .app-nav-symbol:before,.app-nav-icon-schedules .app-nav-symbol:before{border:2px solid;border-radius:4px;height:17px;left:7px;top:7px;width:17px}.app-nav-icon-schedule .app-nav-symbol:after,.app-nav-icon-schedules .app-nav-symbol:after{background:currentColor;box-shadow:0 5px 0 currentColor;height:2px;left:10px;opacity:.85;top:13px;width:11px}.app-nav-icon-performance .app-nav-symbol:before{background:currentColor;border-radius:2px;bottom:7px;box-shadow:6px -5px 0 currentColor,12px -2px 0 currentColor;height:9px;left:8px;width:4px}.app-nav-icon-performance .app-nav-symbol:after{background:currentColor;bottom:7px;height:2px;left:7px;opacity:.35;width:17px}.app-nav-icon-mood .app-nav-symbol:before{border:2px solid;border-radius:999px;height:18px;left:6px;top:6px;width:18px}.app-nav-icon-mood .app-nav-symbol:after{border-bottom:2px solid;border-radius:0 0 10px 10px;box-shadow:-4px -5px 0 -3px currentColor,4px -5px 0 -3px currentColor;height:5px;left:10px;top:16px;width:10px}.app-nav-icon-profile .app-nav-symbol:before{border:2px solid;border-radius:999px;height:8px;left:11px;top:7px;width:8px}.app-nav-icon-profile .app-nav-symbol:after{border:2px solid;border-bottom:0;border-radius:999px 999px 4px 4px;height:9px;left:7px;top:18px;width:17px}.app-nav-icon-agenda .app-nav-symbol:before{border:2px solid;border-radius:4px;height:17px;left:7px;top:7px;width:16px}.app-nav-icon-agenda .app-nav-symbol:after{background:currentColor;box-shadow:0 5px 0 currentColor;height:2px;left:11px;top:12px;width:8px}.app-nav-icon-feedback .app-nav-symbol:before{border:2px solid;border-radius:999px;height:15px;left:10px;top:6px;width:10px}.app-nav-icon-feedback .app-nav-symbol:after{border-bottom:2px solid;border-radius:0 0 999px 999px;box-shadow:7px 7px 0 -6px currentColor;height:9px;left:7px;top:16px;width:16px}.app-nav-icon-default .app-nav-symbol:before,.app-nav-icon-students .app-nav-symbol:before{border:2px solid;border-radius:6px;height:18px;left:6px;top:6px;width:18px}.app-nav-icon-notes .app-nav-symbol:before,.app-nav-icon-reports .app-nav-symbol:before{border:2px solid;border-radius:3px;height:20px;left:7px;top:5px;width:16px}.app-nav-icon-notes .app-nav-symbol:after,.app-nav-icon-reports .app-nav-symbol:after{background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor;height:2px;left:11px;top:11px;width:8px}.app-nav-icon-classes .app-nav-symbol:before{border:2px solid;border-radius:5px;height:14px;left:6px;top:8px;width:18px}.app-nav-icon-classes .app-nav-symbol:after{background:currentColor;border-radius:999px;height:2px;left:10px;top:23px;width:10px}.app-sidebar-user{align-items:center;background:#ffffffbd;background:var(--shell-card);border:1px solid #15362d1a;border:1px solid var(--shell-line);border-radius:16px;box-shadow:0 10px 22px rgba(21,54,45,.055);display:flex;gap:10px;margin-top:auto;padding:9px}.app-mobile-avatar,.app-sidebar-avatar{background:#15362d14;border-radius:999px;display:grid;font-weight:900;height:36px;place-items:center;width:36px}.app-mobile-actions{align-items:center;display:flex;gap:8px}.app-mobile-logout{background:#15362d14;border:0;border-radius:999px;color:#15362d;color:var(--shell-ink);cursor:pointer;display:grid;height:38px;place-items:center;width:38px}.app-mobile-logout span,.app-mobile-logout span:after,.app-mobile-logout span:before{box-sizing:border-box;content:"";display:block;position:absolute}.app-mobile-logout span{height:18px;position:relative;width:18px}.app-mobile-logout span:before{border:2px solid;border-radius:4px 0 0 4px;border-right:0;height:13px;left:1px;top:3px;width:11px}.app-mobile-logout span:after{background:currentColor;box-shadow:4px -3px 0 -2px currentColor,4px 3px 0 -2px currentColor;height:2px;right:0;top:8px;width:11px}.app-sidebar-user span,.app-sidebar-user strong{display:block}.app-sidebar-user strong{font-size:13px;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-user span{color:#15362d9e;color:var(--shell-muted);font-size:12px;font-weight:700;margin-top:2px}.app-sidebar-logout{background:#15362d12;border:0;border-radius:14px;color:#15362d;color:var(--shell-ink);cursor:pointer;font-weight:900;padding:10px 12px;transition:transform .2s ease,background .2s ease}.app-sidebar-logout:hover{background:#15362d1f;transform:translateY(-1px)}.app-shell-main{min-width:0}.app-mobile-head,.app-mobile-nav{display:none}@media (max-width:900px){.app-shell{display:block;padding-bottom:76px}.app-sidebar{display:none}.app-mobile-head{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffdb;border-bottom:1px solid #15362d14;display:flex;justify-content:space-between;min-height:64px;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:70}.app-mobile-head strong{font-size:18px;letter-spacing:-.04em}.app-mobile-nav{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #15362d1a;border-radius:24px;bottom:12px;box-shadow:0 18px 42px #15362d21;display:flex;gap:4px;left:14px;margin:0 auto;max-width:440px;overflow:hidden;padding:6px;position:fixed;right:14px;z-index:90}.app-mobile-nav-item{grid-gap:2px;background:#0000;border:0;border-radius:18px;color:#15362da3;cursor:pointer;display:grid;flex:1 1;font-family:inherit;font-weight:900;gap:2px;min-height:52px;min-width:0;padding:6px 3px;place-items:center}.app-mobile-nav-icon{border-radius:10px;color:currentColor;display:inline-grid;height:28px;place-items:center;position:relative;width:28px}.app-mobile-nav-item small{font-size:9.5px;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-mobile-nav-item.active{background:linear-gradient(180deg,#2b7a5b29,#2b7a5b14);box-shadow:inset 0 0 0 1px #2b7a5b1a;color:#1d5a45}.app-mobile-nav-item.active .app-mobile-nav-icon{background:#2b7a5b1f}.app-shell-blue .app-mobile-nav-item.active{background:#2563eb1f;color:#1d4ed8}.app-shell-blue .app-mobile-nav-item.active .app-mobile-nav-icon{background:#2563eb1f}.app-shell-gold .app-mobile-nav-item.active{background:#b7791f24;color:#8a4f0d}.app-shell-gold .app-mobile-nav-item.active .app-mobile-nav-icon{background:#b7791f24}}:root{--blue2:#60a5fa}.ios-screen{background:radial-gradient(1200px 600px at 12% 10%,#3b82f61f,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#22c55e1a,#0000 55%),linear-gradient(180deg,#f3f6ff,#f3f9f5);background:radial-gradient(1200px 600px at 12% 10%,#3b82f61f,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#22c55e1a,#0000 55%),linear-gradient(180deg,var(--bg1),var(--bg2));color:#111827;color:var(--ink);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.app-shell .ios-screen{background:#0000;min-height:100%}.app-shell .ios-tabbar,.app-shell .ios-topbar{display:none}.app-shell .ios-content{padding-bottom:24px}.app-shell .ios-safe-bottom{height:14px}.ios-content{margin:0 auto;max-width:1040px;padding:18px 16px 120px}.ios-safe-bottom{height:60px}.ios-topbar{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffff8c;border-bottom:1px solid #ffffff73;justify-content:space-between;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.ios-topbar,.ios-topbar-left{align-items:center;display:flex}.ios-topbar-left{gap:12px}.ios-appicon{align-items:center;background:linear-gradient(135deg,#22c55e38,#3b82f633);border:1px solid #0000000f;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;height:44px;justify-content:center;overflow:hidden;width:44px}.ios-appicon img{display:block;height:100%;object-fit:cover;width:100%}.ios-title{font-size:14px;font-weight:1100;letter-spacing:.2px}.ios-subtitle{color:#11182799;color:var(--muted);font-size:12px;font-weight:850;margin-top:2px}.ios-topbar-right{align-items:center;display:flex;gap:10px}.ios-iconbtn{background:#ffffffb3;border:1px solid #0000000f;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);color:#1d4ed8;cursor:pointer;display:grid;font-size:11px;font-weight:1100;height:40px;letter-spacing:.04em;place-items:center;position:relative;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:40px}.ios-iconbtn:hover{transform:translateY(-2px)}.ios-icon{display:block;height:18px;position:relative;width:18px}.ios-icon-bell:after,.ios-icon-bell:before{box-sizing:border-box;content:"";display:block;position:absolute}.ios-icon-bell:before{border:2px solid;border-bottom:none;border-radius:8px 8px 4px 4px;height:11px;left:4px;top:3px;width:10px}.ios-icon-bell:after{background:currentColor;border-radius:999px;box-shadow:5px 3px 0 -1px currentColor;height:2px;left:2px;top:13px;width:14px}.ios-badge{align-items:center;background:#ef4444;background:var(--red);border:2px solid #ffffffe6;border-radius:999px;color:#fff;display:flex;font-size:10px;font-weight:1000;height:18px;justify-content:center;position:absolute;right:-6px;top:-6px;width:18px}.ios-avatar{background:#ffffffb8;border:1px solid #0000000f;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);cursor:pointer;font-weight:1100;height:40px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:40px}.ios-avatar:hover{transform:translateY(-2px)}.ios-logout{background:#11182714;border:none;border-radius:14px;color:#111827d9;cursor:pointer;font-weight:1000;padding:10px 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-logout:hover{background:#1118271f;transform:translateY(-2px)}.ios-loader{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:calc(100vh - 80px)}.ios-spinner{animation:spin .8s linear infinite;border:4px solid #3b82f626;border-radius:999px;border-top-color:#3b82f6d9;height:44px;width:44px}.ios-spinner.small{border-width:3px;height:28px;width:28px}.ios-toast{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffd9;border:1px solid #0000000f;border:1px solid var(--line);box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);font-weight:950}.ios-hero{margin-top:16px;position:relative}.ios-hero-bg{background:radial-gradient(520px 220px at 20% 10%,#3b82f62e,#0000 55%),radial-gradient(520px 220px at 70% 40%,#22c55e26,#0000 55%),linear-gradient(135deg,#ffffff80,#fff3);border-radius:32px;filter:blur(0);inset:-6px;position:absolute}.ios-hero-card{align-items:stretch;backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffb3;border:1px solid #ffffff73;border-radius:28px;box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);display:flex;gap:12px;justify-content:space-between;overflow:hidden;padding:18px;position:relative}.ios-hero-kicker{color:#1118279e;font-size:12px;font-weight:950}.ios-hero-title{font-size:26px;font-weight:1200;letter-spacing:-.2px;margin-top:6px}.wave{animation:wave 1.8s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%,to{transform:rotate(0deg)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(10deg)}80%{transform:rotate(-6deg)}}.ios-hero-desc{color:#11182794;font-size:13px;font-weight:850;margin-top:6px}.ios-pillrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ios-pill{background:#1118270f;border:1px solid #0000000a;border-radius:999px;color:#111827c7;font-size:12px;font-weight:950;padding:8px 10px}.ios-hero-mini{align-items:stretch;display:flex;gap:10px}.ios-mini-card{background:#1118270d;border:1px solid #0000000a;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;min-width:130px;padding:12px}.ios-mini-label{color:#1118278c;font-size:11px;font-weight:1000}.ios-mini-value{font-size:20px;font-weight:1200;margin-top:10px}.ios-section{margin-top:18px}.ios-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ios-section-head h3{font-size:18px;font-weight:1200;letter-spacing:-.2px}.ios-subpill{background:#3b82f61f;border:1px solid #3b82f62e;border-radius:999px;color:#1d4ed8d9;font-size:12px;font-weight:950;padding:8px 10px}.ios-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.ios-action{align-items:center;backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);cursor:pointer;display:flex;gap:12px;padding:14px;text-align:left;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:100%}.ios-action:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-4px)}.ios-action-icon{align-items:center;background:#1118270f;border-radius:18px;display:flex;flex:0 0 auto;height:46px;justify-content:center;width:46px}.ios-action-scan .ios-action-icon{background:#ef44441f}.ios-action-mood .ios-action-icon{background:#f59e0b24}.ios-action-progress .ios-action-icon{background:#8b5cf61f}.ios-action-icon span,.ios-action-icon span:after,.ios-action-icon span:before,.ios-stat-icon span,.ios-stat-icon span:after,.ios-stat-icon span:before{box-sizing:border-box;content:"";display:block;position:absolute}.ios-action-icon span,.ios-stat-icon span{inset:0}.ios-action-icon-schedule span:before,.ios-stat-icon-schedule span:before{border:2px solid;border-radius:5px;height:20px;left:50%;top:50%;transform:translate(-50%,-50%);width:20px}.ios-action-icon-schedule span:after,.ios-stat-icon-schedule span:after{background:currentColor;box-shadow:0 6px 0 currentColor;height:2px;left:50%;top:50%;transform:translate(-50%,-2px);width:12px}.ios-action-icon-mood span:before,.ios-stat-icon-mood span:before{border:2px solid;border-radius:999px;height:22px;left:50%;top:50%;transform:translate(-50%,-50%);width:22px}.ios-action-icon-mood span:after,.ios-stat-icon-mood span:after{border-bottom:2px solid;border-radius:0 0 999px 999px;box-shadow:-5px -7px 0 -4px currentColor,5px -7px 0 -4px currentColor;height:6px;left:50%;top:50%;transform:translate(-50%,2px);width:12px}.ios-action-icon-progress span:before{background:currentColor;border-radius:3px;bottom:13px;box-shadow:8px -8px 0 currentColor,16px -3px 0 currentColor;height:12px;left:14px;width:5px}.ios-action-icon-progress span:after,.ios-stat-icon-streak span:after{background:currentColor;bottom:13px;height:2px;left:13px;opacity:.35;width:22px}.ios-stat-icon{color:#111827b8;height:24px;position:relative;width:24px}.ios-stat-icon-attendance span:before{border:2px solid;border-radius:999px;height:19px;left:50%;top:50%;transform:translate(-50%,-50%);width:19px}.ios-stat-icon-attendance span:after{border-bottom:2px solid;border-left:2px solid;height:5px;left:50%;top:50%;transform:translate(-45%,-45%) rotate(-45deg);width:8px}.ios-stat-icon-streak span:before{background:currentColor;border-radius:3px;bottom:5px;box-shadow:6px -6px 0 currentColor,12px -2px 0 currentColor;height:9px;left:7px;width:5px}.ios-action-text{flex:1 1}.ios-action-title{font-size:14px;font-weight:1150}.ios-action-sub{color:#11182799;color:var(--muted);font-size:12px;font-weight:850;margin-top:2px}.ios-action-arrow{color:#11182759;font-size:22px;font-weight:1100}.ios-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.ios-stat{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-stat:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-4px)}.ios-stat-top{align-items:center;display:flex;font-size:12px;font-weight:1100;justify-content:space-between;letter-spacing:.04em}.ios-stat-chip{background:#1118270f;border-radius:999px;color:#1118279e;font-size:11px;font-weight:1000;padding:6px 10px}.ios-stat-value{font-size:26px;font-weight:1300;margin-top:10px}.ios-stat-label{color:#111827a6;font-size:12px;font-weight:1050;margin-top:4px}.ios-stat-sub{color:#1118278c;font-size:12px;font-weight:900;margin-top:6px}.ios-stat-blue .ios-stat-chip{background:#3b82f61f;color:#1d4ed8d9}.ios-stat-yellow .ios-stat-chip{background:#f59e0b29;color:#b45309e6}.ios-stat-purple .ios-stat-chip{background:#8b5cf629;color:#5b21b6d9}.ios-stat-green .ios-stat-chip{background:#22c55e29;color:#15803de6}.ios-mini-card.attendance-good,.ios-stat.attendance-good{border-color:#22c55e42}.ios-mini-card.attendance-good .ios-mini-value,.ios-stat.attendance-good .ios-stat-value{color:#15803d}.ios-mini-card.attendance-warn,.ios-stat.attendance-warn{border-color:#f59e0b47}.ios-mini-card.attendance-warn .ios-mini-value,.ios-stat.attendance-warn .ios-stat-value{color:#b45309}.ios-mini-card.attendance-bad,.ios-stat.attendance-bad{border-color:#ef44443d}.ios-mini-card.attendance-bad .ios-mini-value,.ios-stat.attendance-bad .ios-stat-value{color:#b91c1c}.ios-mini-card.attendance-pending .ios-mini-value,.ios-stat.attendance-pending .ios-stat-value{color:#1118278f}.ios-attendance-legend{align-items:center;background:#ffffffa3;border:1px solid #0000000f;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px}.ios-attendance-legend span{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:1000;gap:7px;padding:7px 10px}.ios-attendance-legend span:before{background:currentColor;border-radius:999px;content:"";height:8px;width:8px}.ios-attendance-legend .good{background:#22c55e24;color:#15803d}.ios-attendance-legend .warn{background:#f59e0b29;color:#b45309}.ios-attendance-legend .bad{background:#ef444421;color:#b91c1c}.ios-attendance-legend small{color:#11182799;color:var(--muted);font-size:12px;font-weight:900;margin-left:auto}.ios-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px}.ios-center{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;text-align:center}.ios-empty{padding:26px 18px;text-align:center}.ios-empty-emoji{background:#3b82f61f;border-radius:20px;color:#1d4ed8;display:grid;height:58px;margin:0 auto;place-items:center;position:relative;width:58px}.ios-empty h4{font-size:16px;font-weight:1200;margin-top:8px}.ios-empty p{color:#11182799;color:var(--muted);font-size:13px;font-weight:850;margin-top:6px}.ios-empty-calendar span,.ios-empty-calendar span:after,.ios-empty-calendar span:before{box-sizing:border-box;content:"";display:block;position:absolute}.ios-empty-calendar span{inset:0}.ios-empty-calendar span:before{border:2px solid;border-radius:6px;height:24px;left:17px;top:17px;width:24px}.ios-empty-calendar span:after{background:currentColor;box-shadow:0 7px 0 currentColor;height:2px;left:22px;top:27px;width:14px}.ios-cta{background:#3b82f6e6;border:none;border-radius:16px;color:#fff;cursor:pointer;font-weight:1100;margin-top:12px;padding:12px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-cta:hover{opacity:.95;transform:translateY(-2px)}.ios-list{display:flex;flex-direction:column;gap:12px}.ios-schedule{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;gap:12px;padding:14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-schedule:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-3px)}.ios-schedule.past{opacity:.86}.ios-schedule-left{background:#1118270d;border:1px solid #0000000a;border-radius:20px;min-width:92px;padding:10px;text-align:center}.ios-time{font-size:14px;font-weight:1200}.ios-time-sub{color:#11182799;color:var(--muted);font-size:12px;font-weight:900;margin-top:4px}.ios-schedule-mid{flex:1 1}.ios-schedule-topline{align-items:center;display:flex;gap:10px;justify-content:space-between}.ios-subject{font-size:14px;font-weight:1200}.ios-status{border-radius:999px;font-size:11px;font-weight:1000;padding:6px 10px}.ios-status.soon{background:#3b82f61f;color:#1d4ed8d9}.ios-status.done{color:#15803de6}.ios-meta{color:#1118279e;font-size:12px;font-weight:850;margin-top:6px}.ios-tag{background:#1118270f;border-radius:999px;color:#111827b3;display:inline-block;font-size:12px;font-weight:1000;margin-top:8px;padding:7px 10px}.ios-smallbtn{align-items:center;background:#3b82f6eb;border:none;border-radius:16px;color:#fff;cursor:pointer;display:flex;font-weight:1100;gap:8px;justify-content:center;margin-top:10px;padding:10px 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-smallbtn:hover{opacity:.95;transform:translateY(-2px)}.ios-list-more{background:#11182714;border:none;border-radius:22px;color:#111827d9;cursor:pointer;font-weight:1100;padding:14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:100%}.ios-list-more:hover{background:#1118271f;transform:translateY(-2px)}.mood-card{padding:18px}.mood-title{font-size:14px;font-weight:1200;margin-bottom:12px}.mood-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.mood-chip{align-items:center;background:#1118270f;border:1px solid #0000000a;border-radius:20px;cursor:pointer;display:flex;gap:10px;justify-content:flex-start;padding:12px;text-align:left;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.mood-chip:hover{background:#11182714;transform:translateY(-2px)}.mood-chip.active{background:#3b82f61f;border-color:#3b82f62e}.m-emo{background:#1118270f;border-radius:14px;color:#216647;display:grid;height:34px;place-items:center;position:relative;width:34px}.m-emo:after,.m-emo:before{box-sizing:border-box;content:"";display:block;position:absolute}.m-emo:before{border:2px solid;border-radius:999px;height:18px;width:18px}.m-emo:after{border-bottom:2px solid;border-radius:0 0 999px 999px;height:4px;left:13px;top:19px;width:8px}.m-emo-happy{background:#22c55e24;color:#15803d}.m-emo-okay{background:#3b82f61f;color:#2563eb}.m-emo-tired{background:#f59e0b29;color:#b45309}.m-emo-tired:after{background:currentColor;border-bottom:none;border-radius:999px;height:2px;left:12px;top:21px;width:10px}.m-emo-sad{background:#8b5cf61f;color:#7c3aed}.m-emo-sad:after{border-bottom:none;border-radius:999px 999px 0 0;border-top:2px solid;top:21px}.m-emo-stressed{background:#ef44441f;color:#dc2626}.m-emo-stressed:before{border-radius:7px}.m-emo-stressed:after{background:currentColor;border-bottom:none;border-radius:999px;height:2px;left:12px;top:21px;width:10px}.m-label{font-size:13px;font-weight:1100}.mood-note{margin-top:14px}.mood-note label{color:#111827a6;display:block;font-size:12px;font-weight:1000;margin-bottom:8px}.mood-note textarea{background:#fffc;border:1px solid #00000014;border-radius:18px;font-family:inherit;font-size:13px;font-weight:850;outline:none;padding:12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:100%}.mood-note textarea:focus{border-color:#3b82f659;box-shadow:0 0 0 4px #3b82f61a}.mood-actions{display:flex;gap:10px;margin-top:14px}.ios-btn{border:none;border-radius:18px;cursor:pointer;flex:1 1;font-weight:1100;padding:12px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-btn.ghost{background:#11182714;color:#111827d9}.ios-btn.ghost:hover{background:#1118271f;transform:translateY(-2px)}.ios-btn.solid{background:#22c55eeb;color:#fff}.ios-btn.solid:hover{opacity:.96;transform:translateY(-2px)}.ios-btn:disabled{cursor:not-allowed;opacity:.65;transform:none!important}.mood-hint{color:#111827a6;font-size:12px;font-weight:950;margin-top:12px}.mood-hint small{color:#11182785;display:block;font-size:11px;font-weight:850;margin-top:6px}.ios-profile-hero{margin-top:14px}.ios-profile-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;border:1px solid #0000000f;border-radius:26px;box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);padding:18px}.ios-profile-top{align-items:center;display:flex;gap:12px}.ios-profile-avatar{align-items:center;background:linear-gradient(135deg,#3b82f633,#8b5cf62e);border:1px solid #0000000f;border-radius:999px;display:flex;font-size:18px;font-weight:1100;height:54px;justify-content:center;width:54px}.ios-profile-nameblock{flex:1 1}.ios-profile-nameblock .name{font-size:16px;font-weight:1100}.ios-profile-nameblock .meta{color:#11182799;font-size:12px;font-weight:850;margin-top:2px}.ios-editbtn{background:#3b82f61f;border:1px solid #3b82f62e;border-radius:16px;color:#1d4ed8d9;cursor:pointer;font-weight:1100;padding:10px 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-editbtn:hover{transform:translateY(-2px)}.ios-profile-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ios-profile-pills .pill{background:#1118270f;border-radius:999px;color:#111827c7;font-size:12px;font-weight:900;padding:8px 10px}.ios-profile-minirow{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:14px}.ios-profile-minirow .mini{background:#1118270d;border:1px solid #0000000a;border-radius:18px;padding:12px}.ios-profile-minirow .k{color:#1118278c;font-size:11px;font-weight:1000}.ios-profile-minirow .v{color:#111827d9;font-size:13px;font-weight:1100;margin-top:4px}.ios-profile-edit{grid-gap:12px;border-top:1px solid #0000000f;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:14px;padding-top:14px}.ios-profile-edit .field{display:flex;flex-direction:column;gap:8px}.ios-profile-edit label{color:#111827a6;font-size:12px;font-weight:1000}.ios-profile-edit input,.ios-profile-edit select{background:#fffc;border:1px solid #00000014;border-radius:16px;font-family:inherit;font-weight:900;height:46px;outline:none;padding:0 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-profile-edit input:focus,.ios-profile-edit select:focus{border-color:#3b82f659;box-shadow:0 0 0 4px #3b82f61a}.edit-actions{display:flex;gap:10px;grid-column:1/-1;margin-top:4px}.ios-settings{display:flex;flex-direction:column;gap:10px}.ios-setting-item{align-items:center;backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;border:1px solid #0000000f;border-radius:22px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);cursor:pointer;display:flex;justify-content:space-between;padding:14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:100%}.ios-setting-item:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-4px)}.ios-setting-item .l{align-items:center;display:flex;gap:12px;text-align:left}.ios-setting-item .ico{background:#1118270f;border-radius:16px;display:grid;height:44px;place-items:center;position:relative;width:44px}.logout-ico:after,.logout-ico:before{box-sizing:border-box;color:#ef4444f2;content:"";display:block;position:absolute}.logout-ico:before{border:2px solid;border-radius:7px 0 0 7px;border-right:none;height:18px;left:11px;top:13px;width:17px}.logout-ico:after{background:currentColor;border-radius:999px;box-shadow:5px -4px 0 -3px currentColor,5px 4px 0 -3px currentColor;height:2px;left:19px;top:21px;width:15px}.ios-setting-item .t{font-size:14px;font-weight:1100}.ios-setting-item .s{color:#11182799;font-size:12px;font-weight:850;margin-top:2px}.ios-setting-item .r{color:#11182759;font-size:22px;font-weight:900}.ios-settings.danger .ios-setting-item{border-color:#ef444429}.ios-setting-item.danger .ico{background:#ef44441a}.ios-setting-item.danger .t{color:#ef4444f2}.performance-hero{align-items:center;background:radial-gradient(520px 220px at 0 0,#8b5cf624,#0000 55%),#ffffffc7;display:flex;gap:16px;justify-content:space-between}.performance-hero p{color:#1118278f;font-size:12px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.performance-hero h2{font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.06em;margin-top:8px}.performance-hero span{color:#11182799;color:var(--muted);display:block;font-size:13px;font-weight:850;line-height:1.6;margin-top:8px;max-width:560px}.performance-ring{align-content:center;background:linear-gradient(135deg,#8b5cf629,#3b82f629);border:1px solid #8b5cf62e;border-radius:999px;display:grid;flex-shrink:0;height:116px;place-items:center;width:116px}.performance-ring span,.performance-ring strong{display:block;margin:0;text-align:center}.performance-ring strong{color:#6d28d9;font-size:26px;font-weight:1300}.performance-ring span{color:#1118278a;font-size:11px;font-weight:950}.performance-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.performance-card{background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px}.performance-card.achieved{border-color:#22c55e38}.performance-card-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.grade-row span,.performance-card-head span{color:#11182785;display:block;font-size:11px;font-weight:1000}.performance-card-head h4{font-size:22px;font-weight:1300;margin-top:4px}.performance-card-head>strong{border-radius:999px;font-size:11px;font-weight:1000;padding:7px 10px;white-space:nowrap}.performance-card-head>strong.ok{background:#22c55e26;color:#15803d}.performance-card-head>strong.pending{background:#f59e0b29;color:#b45309}.grade-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.grade-row div{background:#1118270d;border-radius:18px;padding:12px}.grade-row strong{display:block;font-size:24px;font-weight:1300;margin-top:5px}.grade-row small{color:#11182799;color:var(--muted);display:block;font-size:11px;font-weight:850;margin-top:3px}.mark-bar{background:#11182712;border-radius:999px;height:12px;margin-top:14px;overflow:hidden}.mark-bar div{background:linear-gradient(90deg,#60a5fa,#8b5cf6);border-radius:inherit;height:100%}.performance-foot{color:#11182799;color:var(--muted);display:flex;font-size:12px;font-weight:900;gap:10px;justify-content:space-between;margin-top:12px}.performance-foot strong.up{color:#15803d}.performance-foot strong.down{color:#b91c1c}.ios-tabbar{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffa8;border-top:1px solid #0000000f;bottom:0;display:flex;gap:10px;justify-content:space-between;left:0;padding:12px 16px 18px;position:fixed;right:0;z-index:60}.ios-tab{align-items:center;background:#0000;border:none;border-radius:18px;color:#111827a6;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:10px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.ios-tab:hover{background:#1118270f;transform:translateY(-2px)}.ios-tab.active{background:#3b82f61a;color:#1d4ed8eb}.ios-tab-ico{color:currentColor;height:22px;position:relative;width:22px}.ios-tab-ico span,.ios-tab-ico span:after,.ios-tab-ico span:before{box-sizing:border-box;content:"";display:block;position:absolute}.ios-tab-ico span{inset:0}.ios-tab-ico-home span:before{border:2px solid;border-radius:2px;border-top:0;height:11px;left:5px;top:10px;width:13px}.ios-tab-ico-home span:after{border-left:2px solid;border-top:2px solid;height:12px;left:5px;top:5px;transform:rotate(45deg);width:12px}.ios-tab-ico-schedule span:before{border:2px solid;border-radius:4px;height:15px;left:4px;top:4px;width:15px}.ios-tab-ico-schedule span:after{background:currentColor;box-shadow:0 5px 0 currentColor;height:2px;left:7px;top:10px;width:9px}.ios-tab-ico-profile span:before{border:2px solid;border-radius:999px;height:8px;left:7px;top:4px;width:8px}.ios-tab-ico-profile span:after{border:2px solid;border-bottom:0;border-radius:999px 999px 4px 4px;height:8px;left:4px;top:15px;width:15px}.ios-tab-label{font-size:11px;font-weight:1000}.ios-tab.scan{background:#0000;flex:0.9 1}.ios-tab-scan{align-items:center;background:#3b82f6eb;border-radius:999px;box-shadow:0 12px 26px #3b82f647;color:#fff;display:flex;font-size:22px;height:52px;justify-content:center;transform:translateY(-18px);width:52px}@media (max-width:820px){.ios-actions{grid-template-columns:1fr}.ios-hero-card{flex-direction:column}.ios-hero-mini{width:100%}.ios-mini-card{flex:1 1;min-width:0}.ios-profile-edit,.performance-grid{grid-template-columns:1fr}.performance-hero{align-items:flex-start;flex-direction:column}}.app-shell .ios-screen{background:radial-gradient(900px 480px at 10% -8%,#60a5fa33,#0000 58%),radial-gradient(820px 520px at 95% 4%,#22c55e24,#0000 58%),radial-gradient(680px 420px at 52% 92%,#f59e0b1a,#0000 60%),linear-gradient(145deg,#f8fbff,#f4faf2 48%,#fff9f0);overflow:hidden;position:relative}.app-shell .ios-screen:before{background-image:linear-gradient(rgba(15,23,42,.035) 1px,#0000 0),linear-gradient(90deg,rgba(15,23,42,.035) 1px,#0000 0);background-size:44px 44px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#00000094,#0000 72%);mask-image:linear-gradient(180deg,#00000094,#0000 72%);pointer-events:none;position:absolute}.app-shell .ios-content{max-width:1180px;padding:28px 22px 110px;position:relative;z-index:1}.ios-hero{margin-top:4px}.ios-hero-bg{background:radial-gradient(420px 240px at 16% 4%,#bfdbfee0,#0000 64%),radial-gradient(460px 260px at 92% 10%,#bbf7d0ad,#0000 66%),linear-gradient(135deg,#ffffffb3,#ffffff3d);border-radius:42px;filter:blur(2px);inset:-16px}.ios-hero-card{background:radial-gradient(560px 280px at 12% 0,#60a5fa9e,#0000 58%),radial-gradient(500px 260px at 88% 18%,#34d3997a,#0000 60%),linear-gradient(135deg,#102a43,#155e75 48%,#2f855a);border:1px solid #ffffff5c;border-radius:36px;box-shadow:0 26px 70px #155e7542;color:#f8fafc;min-height:236px;padding:28px}.ios-hero-card:after,.ios-hero-card:before{border-radius:999px;content:"";pointer-events:none;position:absolute}.ios-hero-card:before{background:#ffffff24;height:280px;right:-92px;top:-100px;width:280px}.ios-hero-card:after{background:#facc1529;bottom:-86px;height:160px;right:210px;width:160px}.ios-hero-mini,.ios-hero-text{position:relative;z-index:1}.ios-hero-kicker{align-items:center;background:#ffffff21;border:1px solid #ffffff2e;border-radius:999px;color:#fffc;display:inline-flex;padding:8px 12px}.ios-hero-title{font-size:clamp(2.6rem,7vw,4.8rem);letter-spacing:-.08em;line-height:.94;margin-top:14px;text-transform:capitalize}.ios-hero-desc{color:#f8fafcc7;font-size:16px;line-height:1.6;margin-top:16px;max-width:560px}.ios-pillrow{margin-top:20px}.ios-pill{background:#ffffff24;border-color:#ffffff29;box-shadow:inset 0 1px 0 #ffffff1f;color:#ffffffe6}.ios-hero-mini{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;min-width:320px}.ios-mini-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:28px;box-shadow:inset 0 1px 0 #ffffff29;color:#f8fafc;min-width:0;padding:18px}.ios-mini-label{color:#f8fafcad;letter-spacing:.08em;text-transform:uppercase}.ios-mini-value{font-size:34px;letter-spacing:-.05em}.ios-section-head h3{font-size:24px;letter-spacing:-.05em}.ios-actions{align-items:stretch;grid-template-columns:1.1fr 1fr 1fr}.ios-action{background:#ffffffd1;border-color:rgba(15,23,42,.055);border-radius:30px;box-shadow:0 18px 44px #0f172a14;min-height:106px;overflow:hidden;padding:18px;position:relative}.ios-action:after{background:rgba(15,23,42,.045);border-radius:999px;bottom:-64px;content:"";height:130px;position:absolute;right:-58px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:130px}.ios-action:hover:after{transform:scale(1.18)}.ios-action-schedule{background:radial-gradient(260px 160px at 90% 12%,#22c55e1f,#0000 62%),#ffffffd1;border-color:rgba(15,23,42,.055);color:#111827;color:var(--ink)}.ios-action-schedule .ios-action-sub{color:#11182799;color:var(--muted)}.ios-action-schedule .ios-action-arrow{color:#11182759}.ios-action-icon{background:#ffffff8f;border-radius:22px;box-shadow:inset 0 1px 0 #ffffff38;color:#111827bd;height:58px;position:relative;width:58px;z-index:1}.ios-action-schedule .ios-action-icon{background:#22c55e1f}.ios-action-arrow,.ios-action-text{position:relative;z-index:1}.ios-action-title{font-size:17px;letter-spacing:-.02em}.ios-action-sub{margin-top:4px}.ios-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ios-stat{background:#ffffffd1;border-color:rgba(15,23,42,.055);border-radius:30px;box-shadow:0 18px 44px #0f172a14;min-height:178px;overflow:hidden;padding:18px;position:relative}.ios-stat:before{background:linear-gradient(90deg,#60a5fa,#22c55e);content:"";height:5px;inset:0 0 auto 0;position:absolute}.ios-stat-yellow:before{background:linear-gradient(90deg,#fbbf24,#fb7185)}.ios-stat-purple:before{background:linear-gradient(90deg,#a78bfa,#60a5fa)}.ios-stat-green:before{background:linear-gradient(90deg,#34d399,#84cc16)}.ios-stat-value{font-size:36px;letter-spacing:-.07em;margin-top:28px}.ios-stat-label{font-size:13px}.ios-card,.ios-schedule{background:#ffffffd1;border-color:rgba(15,23,42,.055);box-shadow:0 18px 44px #0f172a14}.ios-schedule{overflow:hidden;position:relative}.ios-schedule:before{background:linear-gradient(180deg,#2563eb,#22c55e);border-radius:999px;bottom:18px;content:"";left:0;position:absolute;top:18px;width:5px}.ios-schedule-left{background:linear-gradient(180deg,#dbeafec7,#dcfce7a3)}.ios-subject{font-size:16px;letter-spacing:-.02em}.ios-status.soon{background:#2563eb1f}.ios-status.done{background:#22c55e29}.ios-empty{background:radial-gradient(380px 180px at 50% 0,#60a5fa1f,#0000 68%),#ffffffc2;border-radius:30px}@media (max-width:1120px){.ios-actions,.ios-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.app-shell .ios-content{padding:14px 14px 104px}.ios-hero-card{border-radius:30px;min-height:auto;padding:22px}.ios-hero-title{font-size:clamp(2.55rem,13vw,4rem)}.ios-hero-desc{font-size:14px}.ios-hero-mini{min-width:0;width:100%}.ios-mini-card{border-radius:22px;padding:14px}.ios-mini-value{font-size:26px}.ios-actions,.ios-stats{grid-template-columns:1fr}.ios-action{min-height:88px}.ios-stat{min-height:142px}.ios-stat-value{margin-top:18px}}@media (max-width:520px){.ios-attendance-legend small,.ios-attendance-legend span{margin-left:0;width:100%}.app-shell .ios-screen:before{background-size:34px 34px}.ios-pillrow{gap:7px}.ios-pill{max-width:100%}.ios-hero-mini{grid-template-columns:1fr}.ios-schedule{flex-direction:column}.ios-schedule-left{align-items:center;display:flex;justify-content:space-between;min-width:0;text-align:left}}@media (max-width:560px){.app-shell .ios-content{padding:10px 10px 92px}.app-shell .ios-screen{background:#f7faf7}.app-shell .ios-screen:before,.ios-action:after,.ios-hero-bg,.ios-hero-card:after,.ios-hero-card:before{display:none}.ios-section{margin-top:12px}.ios-section-head{margin-bottom:8px}.ios-section-head h3{font-size:18px}.ios-subpill{font-size:10px;padding:7px 9px}.ios-hero-card{background:#ffffffe6;border-color:#0f172a14;border-radius:22px;box-shadow:0 12px 28px #0f172a12;color:#111827;color:var(--ink);display:block;padding:18px}.ios-hero-kicker{background:#0000;border:0;color:#11182799;color:var(--muted);font-size:11px;padding:0}.ios-hero-title{font-size:36px;letter-spacing:-.05em;line-height:1;margin-top:8px}.ios-hero-desc{color:#11182799;color:var(--muted);font-size:13px;margin-top:8px}.ios-pillrow{margin-top:12px}.ios-pill{background:#1118270d;border-color:#1118270a;box-shadow:none;color:#11182799;color:var(--muted);font-size:11px}.ios-hero-mini{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.ios-action,.ios-card,.ios-mini-card,.ios-schedule,.ios-stat,.performance-card{border-radius:18px;box-shadow:0 10px 22px #0f172a0f;padding:14px}.ios-mini-card{background:#1118270a;border-color:#1118270a;color:#111827;color:var(--ink)}.ios-mini-label{color:#11182799;color:var(--muted);font-size:10px}.ios-mini-value{color:#111827;color:var(--ink);font-size:22px}.ios-actions,.ios-stats,.performance-grid{gap:10px}.ios-action{gap:12px;min-height:auto}.ios-action-icon{border-radius:16px;height:46px;width:46px}.ios-action-title{font-size:15px}.ios-stat{min-height:auto}.ios-stat:before{height:4px}.ios-stat-value{font-size:30px;margin-top:14px}.ios-schedule:before{display:none}.performance-hero{border-radius:18px;padding:16px}.performance-ring{height:92px;width:92px}.ios-mini-card.attendance-good{background:#22c55e1f;border-color:#22c55e42}.ios-mini-card.attendance-warn{background:#f59e0b24;border-color:#f59e0b47}.ios-mini-card.attendance-bad{background:#ef44441f;border-color:#ef44443d}.ios-mini-card.attendance-good .ios-mini-value,.ios-stat.attendance-good .ios-stat-value{color:#15803d}.ios-mini-card.attendance-warn .ios-mini-value,.ios-stat.attendance-warn .ios-stat-value{color:#b45309}.ios-mini-card.attendance-bad .ios-mini-value,.ios-stat.attendance-bad .ios-stat-value{color:#b91c1c}.ios-stat-blue:before{background:linear-gradient(90deg,#60a5fa,#2563eb)}.ios-stat-yellow:before{background:linear-gradient(90deg,#fbbf24,#f97316)}.ios-stat-purple:before{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.ios-stat-green:before{background:linear-gradient(90deg,#34d399,#16a34a)}.ios-action-schedule .ios-action-icon{background:#22c55e24;color:#15803d}.ios-action-mood .ios-action-icon{background:#f59e0b29;color:#b45309}.ios-action-progress .ios-action-icon{background:#8b5cf624;color:#6d28d9}.ios-status.soon{background:#3b82f61f;color:#1d4ed8}.ios-status.done{background:#22c55e29;color:#15803d}}.app-shell .ios-content{max-width:1140px}.ios-hero-card{border-radius:30px;min-height:218px;padding:24px}.ios-hero-title{font-size:clamp(2.25rem,5.7vw,4rem);letter-spacing:-.06em}.ios-hero-desc{font-size:14px;max-width:520px}.ios-action,.ios-card,.ios-mini-card,.ios-schedule,.ios-stat,.performance-card{border-radius:22px;box-shadow:0 14px 34px #0f172a12}@media (max-width:560px){.app-shell .ios-content{padding:10px 10px 86px}.ios-hero-card{border-radius:20px;min-height:auto;padding:16px}.ios-hero-title{font-size:31px;line-height:1.02}.ios-hero-mini{gap:8px;margin-top:14px}.ios-action,.ios-card,.ios-mini-card,.ios-schedule,.ios-stat,.performance-card{border-radius:17px;box-shadow:0 8px 18px rgba(15,23,42,.055);padding:13px}.ios-section-head h3{font-size:17px}}:root{--cal-bg:#eef4f7;--cal-ink:#172331;--cal-muted:#1723319e;--cal-line:#1723311a;--cal-card:#ffffffd1;--cal-blue:#2f80ed;--cal-green:#2f8f68;--cal-orange:#d8892c;--cal-red:#d95c4a;--cal-shadow:0 22px 48px #1723311a}.full-schedule-container{background:radial-gradient(900px 480px at 8% 0,#2f80ed24,#0000 58%),radial-gradient(900px 480px at 95% 12%,#2f8f681f,#0000 56%),linear-gradient(180deg,#f7fbfd,#eef4f7);background:radial-gradient(900px 480px at 8% 0,#2f80ed24,#0000 58%),radial-gradient(900px 480px at 95% 12%,#2f8f681f,#0000 56%),linear-gradient(180deg,#f7fbfd 0,var(--cal-bg) 100%);color:#172331;color:var(--cal-ink);min-height:100vh;padding:18px}.full-schedule-loading{align-items:center;background:#eef4f7;background:var(--cal-bg);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.spinner-large{animation:spin .8s linear infinite;border:4px solid #2f80ed24;border-radius:50%;border-top:4px solid var(--cal-blue);height:48px;width:48px}.calendar-topbar{grid-gap:14px;align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffb8;border:1px solid #1723311a;border:1px solid var(--cal-line);border-radius:28px;box-shadow:0 22px 48px #1723311a;box-shadow:var(--cal-shadow);display:grid;gap:14px;grid-template-columns:auto 1fr auto;margin:0 auto 16px;max-width:1480px;padding:14px}.back-btn{background:#2f80ed1a;border:none;border-radius:999px;color:#1d5fbf;cursor:pointer;display:grid;height:44px;place-items:center;transition:transform .2s ease,background .2s ease;width:44px}.back-btn span,.back-btn span:after,.back-btn span:before{box-sizing:border-box;content:"";display:block;position:absolute}.back-btn span{height:18px;position:relative;width:18px}.back-btn span:before{border-bottom:2px solid;border-left:2px solid;height:10px;left:3px;top:4px;transform:rotate(45deg);width:10px}.back-btn span:after{background:currentColor;border-radius:999px;height:2px;left:4px;top:9px;width:15px}.back-btn:hover{background:#2f80ed2e;transform:translateX(-2px)}.calendar-title span{color:#1723319e;color:var(--cal-muted);display:block;font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:3px;text-transform:uppercase}.calendar-title h1{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.06em;margin:0}.calendar-title p{color:#1723319e;color:var(--cal-muted);font-size:13px;font-weight:750;margin:4px 0 0}.calendar-top-actions{display:flex;gap:8px}.calendar-top-actions button{background:#17233114;border:none;border-radius:16px;color:#172331;color:var(--cal-ink);cursor:pointer;font-weight:900;height:44px;min-width:44px;padding:0 14px;transition:transform .2s ease,background .2s ease}.calendar-top-actions button:hover{background:#1723311f;transform:translateY(-1px)}.calendar-shell{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:260px minmax(0,1fr) 340px;margin:0 auto;max-width:1480px}.calendar-main,.calendar-side,.event-panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffd1;background:var(--cal-card);border:1px solid #1723311a;border:1px solid var(--cal-line);box-shadow:0 22px 48px #1723311a;box-shadow:var(--cal-shadow)}.calendar-side,.event-panel{border-radius:28px;padding:16px;position:-webkit-sticky;position:sticky;top:16px}.calendar-main{border-radius:30px;overflow:hidden}.mini-month-card{background:linear-gradient(145deg,#172331,#2f80ed);border-radius:24px;color:#f8fbff;padding:16px}.mini-month-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.mini-month-head strong{font-size:16px}.mini-month-head span{background:#ffffff24;border-radius:999px;font-size:11px;font-weight:850;padding:6px 9px}.mini-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:14px}.mini-stats div{background:#ffffff1f;border-radius:18px;padding:12px}.mini-stats span,.mini-stats strong{display:block}.mini-stats strong{font-size:22px}.mini-stats span{color:#f8fbffb8;font-size:11px;margin-top:3px}.calendar-filters{grid-gap:10px;display:grid;gap:10px;margin-top:16px}.calendar-filters label{color:#1723319e;color:var(--cal-muted);font-size:12px;font-weight:900;margin-top:6px}.calendar-filters input,.calendar-filters select{background:#ffffffdb;border:1px solid #1723311a;border:1px solid var(--cal-line);border-radius:16px;color:#172331;color:var(--cal-ink);font:inherit;font-weight:750;height:46px;outline:none;padding:0 12px;width:100%}.calendar-filters input:focus,.calendar-filters select:focus{border-color:#2f80ed6b;box-shadow:0 0 0 4px #2f80ed1a}.calendar-legend{grid-gap:8px;border-top:1px solid #1723311a;border-top:1px solid var(--cal-line);display:grid;gap:8px;margin-top:16px;padding-top:16px}.calendar-legend span{align-items:center;color:#1723319e;color:var(--cal-muted);display:flex;font-size:12px;font-weight:850;gap:8px}.dot{background:#2f80ed;background:var(--cal-blue);border-radius:999px;height:10px;width:10px}.dot.play{background:#2f8f68;background:var(--cal-green)}.dot.workshop{background:#d8892c;background:var(--cal-orange)}.calendar-weekdays{background:#172331eb;color:#f8fbff;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays div{font-size:12px;font-weight:900;letter-spacing:.08em;padding:14px 10px;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:1px;background:#1723311a;display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{background:#ffffffdb;border:none;color:#172331;color:var(--cal-ink);cursor:pointer;display:flex;flex-direction:column;gap:8px;min-height:136px;padding:10px;text-align:left;transition:background .2s ease,box-shadow .2s ease}.calendar-day:hover{background:#f7fbff}.calendar-day.muted{background:#f8fafc94;color:#17233157}.calendar-day.today .day-number{background:#95c1ff;color:#0d326e}.calendar-day.selected{box-shadow:inset 0 0 0 3px #2f80ed57}.day-number{border-radius:999px;display:grid;font-size:13px;font-weight:950;height:30px;place-items:center;width:30px}.day-events{grid-gap:5px;display:grid;gap:5px;min-width:0}.event-chip,.event-more{border-radius:9px;display:block;font-size:11px;font-weight:850;overflow:hidden;padding:5px 7px;text-overflow:ellipsis;white-space:nowrap;width:100%}.event-chip.ivc{background:#2f80ed24;color:#1d5fbf}.event-chip.play{background:#2f8f6829;color:#1d6d4f}.event-chip.workshop{background:#d8892c2e;color:#925b18}.event-chip.quiz{background:#8e5cf629;color:#5b33b8}.event-chip.seminar{background:#d95c4a29;color:#a43c2c}.event-more{background:#1723310f}.event-more,.event-panel-head span{color:#1723319e;color:var(--cal-muted)}.event-panel-head span{display:block;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.event-panel-head h2{font-size:22px;letter-spacing:-.04em;line-height:1.15;margin:7px 0 6px}.event-panel-head p{color:#1723319e;color:var(--cal-muted);font-size:13px;font-weight:800;margin:0}.empty-event{background:#1723310d;border-radius:22px;margin-top:16px;padding:18px}.empty-event p,.empty-event strong{display:block}.empty-event p{color:#1723319e;color:var(--cal-muted);line-height:1.55;margin:7px 0 0}.event-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.event-card{grid-gap:12px;background:#ffffffc2;border:1px solid #1723311a;border:1px solid var(--cal-line);border-radius:22px;display:grid;gap:12px;grid-template-columns:84px minmax(0,1fr);padding:14px}.event-card.past{opacity:.72}.event-time{background:#1723310f;border-radius:16px;padding:10px;text-align:center}.event-time span,.event-time strong{display:block}.event-time strong{font-size:13px}.event-time span{color:#1723319e;color:var(--cal-muted);font-size:11px;font-weight:800;margin-top:4px}.event-title-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.event-title-row h3{font-size:15px;line-height:1.35;margin:0}.event-type{border-radius:999px;flex-shrink:0;font-size:10px;font-weight:900;padding:6px 8px}.event-type.ivc{background:#2f80ed24;color:#1d5fbf}.event-type.play{background:#2f8f6829;color:#1d6d4f}.event-type.workshop{background:#d8892c2e;color:#925b18}.event-type.quiz{background:#8e5cf629;color:#5b33b8}.event-type.seminar{background:#d95c4a29;color:#a43c2c}.event-body p{font-size:13px;font-weight:750;margin:7px 0 0}.event-body p,.event-complete{color:#1723319e;color:var(--cal-muted)}.event-complete{background:#17233114;border-radius:999px;display:inline-block;font-size:11px;font-weight:900;margin-top:9px;padding:5px 9px}@media (max-width:1180px){.calendar-shell{grid-template-columns:220px minmax(0,1fr)}.event-panel{grid-column:1/-1;position:static}}@media (max-width:820px){.full-schedule-container{padding:12px}.calendar-topbar{align-items:start;grid-template-columns:auto 1fr}.calendar-top-actions{grid-column:1/-1;justify-content:space-between}.calendar-top-actions button{flex:1 1}.back-btn{height:42px;width:42px}.calendar-shell{grid-template-columns:1fr}.calendar-side,.event-panel{position:static}.calendar-day{min-height:104px;padding:8px}.event-chip,.event-more{font-size:10px;padding:4px 6px}}@media (max-width:560px){.calendar-shell{border-radius:24px;gap:12px;padding:10px}.calendar-main{border-radius:20px;overflow:hidden}.calendar-weekdays div{font-size:9px;letter-spacing:0;padding:9px 0}.calendar-grid,.calendar-weekdays{min-width:0;width:100%}.calendar-day{align-items:center;aspect-ratio:1;gap:3px;min-height:0;padding:5px 3px}.day-number{font-size:11px;height:24px;width:24px}.calendar-day.selected{box-shadow:inset 0 0 0 2px #2f80ed57}.day-events{align-items:center;display:flex;flex-direction:row;gap:3px;justify-content:center;margin-top:auto;min-height:14px;width:100%}.event-chip{border-radius:999px;color:#0000!important;font-size:0;height:6px;max-width:6px;min-width:6px;padding:0;width:6px}.event-more{border-radius:999px;font-size:9px;height:14px;line-height:14px;min-width:16px;padding:0 4px;text-align:center;width:auto}.event-card{grid-template-columns:1fr}}:root{--teacher-ink:#18352d;--teacher-muted:#18352dad;--teacher-line:#18352d1a;--teacher-surface:#fffbf5d6;--teacher-surface-strong:#ffffffeb;--teacher-green:#2a7a5b;--teacher-green-deep:#1d5a45;--teacher-sand:#f4ece0;--teacher-coral:#d8754b;--teacher-cream:#fbf7f1;--teacher-shadow:0 22px 45px #18352d14;--teacher-shadow-soft:0 12px 24px #18352d0f}.teacher-dashboard-shell{background:radial-gradient(880px 420px at 6% 0,#347e5f2e,#0000 58%),radial-gradient(900px 460px at 100% 8%,#d8754b1f,#0000 56%),linear-gradient(180deg,#f5f1e8,#edf2ec);color:#18352d;color:var(--teacher-ink);min-height:100vh}.app-shell .teacher-dashboard-shell{background:#0000;min-height:100%}.app-shell .teacher-topbar{display:none}.teacher-dashboard-main{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);margin:0 auto;max-width:1320px;padding:32px 34px 44px}.teacher-topbar{gap:18px;justify-content:space-between;margin:0 auto;max-width:1180px;padding:18px 18px 0}.teacher-brand,.teacher-topbar{align-items:center;display:flex}.teacher-brand{gap:14px}.teacher-brand-mark{background:linear-gradient(135deg,#285f49,#4f9b79);border:1px solid #18352d1a;border-radius:18px;box-shadow:0 18px 28px #285f492e;display:grid;height:52px;overflow:hidden;place-items:center;width:52px}.teacher-brand-mark img{display:block;height:100%;object-fit:cover;width:100%}.teacher-brand-kicker{color:#18352d85;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.teacher-brand h1{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.04em;margin:3px 0 0}.teacher-topbar-actions{align-items:center;display:flex;gap:10px}.teacher-avatar-btn,.teacher-ghost-btn,.teacher-inline-link,.teacher-pill-btn,.teacher-small-btn{border:none;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background .2s ease}.teacher-pill-btn{align-items:center;background:#ffffffbd;border-radius:999px;box-shadow:0 12px 24px #18352d0f;box-shadow:var(--teacher-shadow-soft);color:#18352d;color:var(--teacher-ink);display:inline-flex;font-weight:700;gap:8px;padding:12px 16px}.teacher-pill-dot{background:#2a7a5b;background:var(--teacher-green);border-radius:999px;height:8px;width:8px}.teacher-avatar-btn{background:#ffffffeb;background:var(--teacher-surface-strong);box-shadow:0 12px 24px #18352d0f;box-shadow:var(--teacher-shadow-soft);font-weight:800;height:44px;width:44px}.teacher-avatar-btn,.teacher-ghost-btn{border-radius:999px;color:#18352d;color:var(--teacher-ink)}.teacher-ghost-btn{background:#18352d14;font-weight:700;padding:12px 16px}.teacher-agenda,.teacher-hero,.teacher-loading,.teacher-strip,.teacher-workspace{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbf5d6;background:var(--teacher-surface);border:1px solid #18352d1a;border:1px solid var(--teacher-line);box-shadow:0 22px 45px #18352d14;box-shadow:var(--teacher-shadow)}.teacher-hero{grid-gap:22px;align-items:stretch;background:linear-gradient(135deg,#ffffffe0,#fffaf3c7),radial-gradient(620px 260px at 6% 0,#2a7a5b1a,#0000 62%);border-radius:28px;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 420px;margin-top:0;overflow:hidden}.teacher-dashboard-main>.teacher-agenda,.teacher-dashboard-main>.teacher-hero,.teacher-dashboard-main>.teacher-strip{grid-column:1/-1}.teacher-eyebrow,.teacher-section-kicker{color:#18352d8f;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.teacher-hero h2{font-size:clamp(2.25rem,4vw,4.1rem);letter-spacing:-.055em;line-height:1;margin:8px 0 12px;max-width:620px}.teacher-hero-text{color:#18352dad;color:var(--teacher-muted);font-size:1rem;line-height:1.65;max-width:640px}.teacher-context-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.teacher-context-row span{background:#18352d0f;border-radius:999px;color:#18352dbd;font-size:.88rem;font-weight:700;padding:10px 12px}.teacher-hero-side{grid-gap:12px;align-content:start;display:grid;gap:12px}.teacher-breathe-card,.teacher-focus-card{border-radius:24px;min-height:0;padding:20px}.teacher-focus-card{color:#f8f7f1}.teacher-focus-card,.teacher-focus-card.class-status.good{background:linear-gradient(160deg,#194735,#2d775b 72%,#68aa86)}.teacher-focus-card.class-status.warn{background:linear-gradient(160deg,#7a4c16,#c98528 72%,#efbd65)}.teacher-focus-card.class-status.bad{background:linear-gradient(160deg,#7f1d1d,#c24135 72%,#ef7b63)}.teacher-status-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.teacher-status-head span{background:#ffffff29;border-radius:999px;color:#f8f7f1eb;font-size:.72rem;font-weight:850;padding:7px 10px;white-space:nowrap}.teacher-breathe-title,.teacher-focus-label{font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.teacher-focus-value{font-size:clamp(2rem,4vw,3.15rem);font-weight:800;letter-spacing:-.06em;margin:12px 0 8px}.teacher-breathe-text,.teacher-focus-text{color:#f8f7f1d1;line-height:1.7}.teacher-progress-track{background:#ffffff2e;border-radius:999px;height:10px;margin-top:16px;overflow:hidden}.teacher-progress-track div{background:#ffffffe6;border-radius:inherit;height:100%;transition:width .35s ease}.teacher-breathe-card{background:radial-gradient(380px 140px at 100% 0,#d8754b24,#0000 50%),#fffaf3f0;border:1px solid #18352d14;box-shadow:0 16px 32px #18352d0f}.teacher-breathe-text{margin-top:12px}.teacher-next-session{background:#18352d0f;border:1px solid #18352d14;border-radius:18px;margin-top:12px;padding:13px}.teacher-next-session small,.teacher-next-session span,.teacher-next-session strong{display:block}.teacher-next-session span{color:#18352d94;font-size:.78rem;font-weight:850}.teacher-next-session strong{color:#18352d;color:var(--teacher-ink);font-size:1.15rem;line-height:1.35;margin-top:6px}.teacher-next-session small{color:#18352dad;color:var(--teacher-muted);font-size:.8rem;font-weight:750;margin-top:6px}.teacher-feedback-inline{background:#2a7a5b;background:var(--teacher-green);border:none;border-radius:14px;color:#fffaf3;cursor:pointer;font-weight:900;margin-top:12px;padding:12px 14px;transition:transform .2s ease,opacity .2s ease;width:100%}.teacher-feedback-inline:hover{transform:translateY(-1px)}.teacher-feedback-inline:disabled{cursor:not-allowed;opacity:.55;transform:none}.teacher-feedback-preview{align-items:flex-start;background:radial-gradient(360px 160px at 100% 0,#2a7a5b1f,#0000 58%),#fffbf5d6;background:radial-gradient(360px 160px at 100% 0,#2a7a5b1f,#0000 58%),var(--teacher-surface);border:1px solid #18352d1a;border:1px solid var(--teacher-line);border-radius:24px;box-shadow:0 12px 24px #18352d0f;box-shadow:var(--teacher-shadow-soft);display:flex;gap:18px;justify-content:space-between;margin-top:0;padding:18px 20px}.teacher-feedback-preview h3{font-size:1.35rem;letter-spacing:-.04em;margin-top:6px}.teacher-feedback-preview span{color:#18352dad;color:var(--teacher-muted);display:block;font-weight:700;line-height:1.6;margin-top:8px}.teacher-feedback-preview button{background:linear-gradient(135deg,#194735,#2d775b);border:none;border-radius:999px;box-shadow:0 14px 28px #2a7a5b2e;color:#fffaf3;cursor:pointer;flex-shrink:0;font-weight:900;padding:13px 16px;transition:transform .2s ease,opacity .2s ease}.teacher-feedback-preview button:hover{transform:translateY(-1px)}.teacher-feedback-preview button:disabled{cursor:not-allowed;opacity:.55;transform:none}.teacher-attendance-status{align-items:center;background:#fffbf5d6;background:var(--teacher-surface);border:1px solid #18352d1a;border:1px solid var(--teacher-line);border-radius:24px;box-shadow:0 12px 24px #18352d0f;box-shadow:var(--teacher-shadow-soft);display:flex;gap:18px;justify-content:space-between;margin-top:0;padding:18px 20px}.teacher-attendance-status.good{background:linear-gradient(135deg,#22c55e29,#ffffffdb);border-color:#15803d33}.teacher-attendance-status.warn{background:linear-gradient(135deg,#f59e0b2e,#ffffffdb);border-color:#b4530938}.teacher-attendance-status.bad{background:linear-gradient(135deg,#ef444429,#ffffffdb);border-color:#b91c1c38}.teacher-attendance-status h3{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.06em;margin-top:6px}.teacher-attendance-status span{color:#18352dad;color:var(--teacher-muted);display:block;font-weight:750;margin-top:6px}.teacher-attendance-status small{background:#18352d12;border-radius:999px;color:#18352d9e;flex-shrink:0;font-weight:850;padding:10px 12px}.teacher-attendance-value.good{color:#15803d}.teacher-attendance-value.warn{color:#b45309}.teacher-attendance-value.bad{color:#b91c1c}.teacher-attendance-value.pending{color:#18352db8}.teacher-attendance-legend{align-items:center;background:#ffffffa3;border:1px solid #18352d1a;border:1px solid var(--teacher-line);border-radius:20px;box-shadow:0 12px 24px #18352d0f;box-shadow:var(--teacher-shadow-soft);display:flex;flex-wrap:wrap;gap:8px;margin-top:0;padding:12px 14px}.teacher-attendance-legend span{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:900;gap:7px;padding:7px 10px}.teacher-attendance-legend span:before{background:currentColor;border-radius:999px;content:"";height:8px;width:8px}.teacher-attendance-legend .good{background:#22c55e24;border-color:#22c55e38;color:#15803d}.teacher-attendance-legend .warn{background:#f59e0b29;border-color:#f59e0b3d;color:#b45309}.teacher-attendance-legend .bad{background:#ef444421;border-color:#ef444433;color:#b91c1c}.teacher-attendance-legend small{color:#18352dad;color:var(--teacher-muted);font-size:.78rem;font-weight:800;margin-left:auto}.teacher-strip{grid-gap:10px;border-radius:24px;display:grid;gap:10px;margin-top:0;padding:10px}.teacher-strip article{background:#ffffff80;border-radius:18px;padding:16px}.teacher-strip span{display:block;font-size:.8rem;font-weight:700}.teacher-strip strong{display:block;font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.05em;margin-top:8px}.teacher-agenda,.teacher-workspace{border-radius:30px;margin-top:18px;padding:22px}.teacher-section-head{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.teacher-section-head h3{font-size:1.45rem;letter-spacing:-.04em;margin-top:6px}.teacher-actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.teacher-action-card{background:#ffffff75;border:1px solid #18352d1a;border:1px solid var(--teacher-line);border-radius:26px;color:#18352d;color:var(--teacher-ink);min-height:170px;padding:18px;text-align:left}.teacher-action-card.feature{background:linear-gradient(145deg,#fffaf3f5,#f5e9d6e6);grid-column:span 2}.teacher-action-card.muted{background:#f5f0e9a3}.teacher-action-icon{background:#18352d14;border-radius:16px;display:grid;font-size:1.3rem;height:48px;margin-bottom:18px;place-items:center;width:48px}.teacher-action-card strong{display:block;font-size:1rem}.teacher-action-card p{color:#18352dad;color:var(--teacher-muted);line-height:1.65;margin-top:8px}.teacher-inline-link{background:#0000;color:#1d5a45;color:var(--teacher-green-deep);font-weight:800;padding:0}.teacher-schedule-list{grid-gap:12px;display:grid;gap:12px}.teacher-schedule-item{grid-gap:18px;background:#ffffff85;border-radius:24px;display:grid;gap:18px;grid-template-columns:150px 1fr;padding:18px}.teacher-schedule-item.today{background:linear-gradient(145deg,#fbf7f0fa,#eff6efeb);box-shadow:inset 0 0 0 1px #2a7a5b1f}.teacher-schedule-time{background:#18352d0d;border-radius:18px;padding:16px}.teacher-schedule-time strong{display:block;font-size:1.15rem}.teacher-schedule-time span{color:#18352dad;color:var(--teacher-muted);display:block;margin-top:6px}.teacher-schedule-headline{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.teacher-schedule-headline h4{font-size:1.06rem}.teacher-status{border-radius:999px;font-size:.74rem;font-weight:800;padding:7px 11px}.teacher-status.today{background:#2a7a5b1f;color:#2a7a5b;color:var(--teacher-green)}.teacher-status.soon{background:#d8754b1f;color:#b35c38}.teacher-schedule-date{color:#18352dad;color:var(--teacher-muted);margin:8px 0 0}.teacher-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.teacher-meta-row span{background:#18352d0f;border-radius:999px;color:#18352db8;font-size:.82rem;font-weight:700;padding:8px 10px}.teacher-schedule-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.teacher-small-btn{border-radius:14px;font-weight:800;padding:11px 14px}.teacher-small-btn.primary{background:#2a7a5b;background:var(--teacher-green);color:#fbfaf4}.teacher-small-btn.secondary{background:#18352d14;color:#18352d;color:var(--teacher-ink)}.teacher-empty-state,.teacher-loading{border-radius:24px;padding:28px 20px;text-align:center}.teacher-empty-state p,.teacher-loading p{color:#18352dad;color:var(--teacher-muted);margin-top:8px}.teacher-loading{margin:120px auto 0;max-width:360px}.teacher-spinner{animation:teacher-spin .8s linear infinite;border:4px solid #2a7a5b24;border-radius:999px;border-top:4px solid var(--teacher-green);height:44px;margin:0 auto 14px;width:44px}.teacher-spinner.small{border-width:3px;height:28px;margin-bottom:10px;width:28px}.teacher-toast{background:#18352df5;border-radius:999px;box-shadow:0 16px 30px #18352d2e;color:#fdfaf4;left:50%;padding:12px 16px;position:fixed;top:16px;transform:translateX(-50%);z-index:50}.teacher-toast.bad{background:#9c3e2cf5}.teacher-action-card:hover,.teacher-avatar-btn:hover,.teacher-ghost-btn:hover,.teacher-inline-link:hover,.teacher-pill-btn:hover,.teacher-small-btn:hover{transform:translateY(-1px)}@keyframes teacher-spin{to{transform:rotate(1turn)}}@media (max-width:1080px){.teacher-dashboard-main{padding:22px 18px 40px}.teacher-dashboard-main,.teacher-hero{grid-template-columns:1fr}.teacher-hero h2{max-width:760px}.teacher-actions-grid,.teacher-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-action-card.feature{grid-column:span 2}}@media (max-width:860px){.teacher-hero,.teacher-schedule-item,.teacher-strip,.teacher-topbar{grid-template-columns:1fr}.teacher-topbar{align-items:stretch;flex-direction:column}.teacher-topbar-actions{flex-wrap:wrap}.teacher-hero{padding:22px}.teacher-hero-side{grid-template-columns:1fr}.teacher-strip{display:grid}}@media (max-width:640px){.teacher-attendance-legend small,.teacher-attendance-legend span{margin-left:0;width:100%}.teacher-dashboard-main,.teacher-topbar{padding-left:12px;padding-right:12px}.teacher-dashboard-main{gap:14px;padding-top:14px}.teacher-agenda,.teacher-hero,.teacher-strip,.teacher-workspace{border-radius:24px}.teacher-actions-grid{grid-template-columns:1fr}.teacher-action-card.feature{grid-column:span 1}.teacher-attendance-status,.teacher-feedback-preview,.teacher-schedule-actions,.teacher-section-head,.teacher-topbar-actions{align-items:stretch;flex-direction:column}.teacher-avatar-btn,.teacher-ghost-btn,.teacher-inline-link,.teacher-pill-btn,.teacher-small-btn{width:100%}.teacher-avatar-btn{border-radius:16px;height:48px}.teacher-feedback-preview button{width:100%}.teacher-schedule-item{padding:14px}}.app-shell .teacher-dashboard-shell{background:radial-gradient(900px 480px at 10% -8%,#2a7a5b33,#0000 58%),radial-gradient(820px 500px at 96% 0,#d8754b24,#0000 58%),radial-gradient(720px 440px at 54% 96%,#f59e0b1a,#0000 60%),linear-gradient(145deg,#fbfcf8,#f3f8f1 48%,#fff8ef);overflow:hidden;position:relative}.app-shell .teacher-dashboard-shell:before{background-image:linear-gradient(rgba(24,53,45,.035) 1px,#0000 0),linear-gradient(90deg,rgba(24,53,45,.035) 1px,#0000 0);background-size:46px 46px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#00000094,#0000 70%);mask-image:linear-gradient(180deg,#00000094,#0000 70%);pointer-events:none;position:absolute}.app-shell .teacher-dashboard-main{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,1fr);max-width:1220px;padding:28px 22px 42px;position:relative;z-index:1}.teacher-hero{background:radial-gradient(620px 300px at 12% 0,#4ade8061,#0000 58%),radial-gradient(520px 280px at 92% 8%,#facc1538,#0000 62%),linear-gradient(135deg,#172f2a,#216647 58%,#95621e);border:1px solid #ffffff47;border-radius:38px;box-shadow:0 30px 78px #21664738;color:#fffaf4;min-height:300px;padding:30px;position:relative}.teacher-hero:after,.teacher-hero:before{border-radius:999px;content:"";pointer-events:none;position:absolute}.teacher-hero:before{background:#ffffff21;height:310px;right:-116px;top:-118px;width:310px}.teacher-hero:after{background:#facc1526;bottom:-92px;height:178px;right:232px;width:178px}.teacher-hero-copy,.teacher-hero-side{position:relative;z-index:1}.teacher-eyebrow{align-items:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:999px;color:#ffffffc7;display:inline-flex;font-weight:950;padding:8px 12px}.teacher-hero h2{color:#fffaf4;font-size:clamp(2.5rem,6vw,4.8rem);font-weight:1000;letter-spacing:-.07em;line-height:.92;margin-top:14px}.teacher-hero-text{color:#ffffffc2;font-size:15px;margin-top:16px;max-width:650px}.teacher-context-row{margin-top:22px}.teacher-context-row span{background:#ffffff21;border:1px solid #ffffff29;box-shadow:inset 0 1px 0 #ffffff1f;color:#ffffffe6;font-weight:900}.teacher-hero-side{align-self:stretch}.teacher-breathe-card,.teacher-focus-card{border:1px solid #fff3;box-shadow:0 20px 48px #11182724}.teacher-focus-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.teacher-focus-card,.teacher-focus-card.class-status.bad,.teacher-focus-card.class-status.good,.teacher-focus-card.class-status.warn{background:#ffffff21}.teacher-focus-value{font-weight:1000}.teacher-breathe-card{background:#ffffffdb}.teacher-breathe-card,.teacher-breathe-title,.teacher-next-session strong{color:#18352d;color:var(--teacher-ink)}.teacher-breathe-text{color:#18352dad;color:var(--teacher-muted)}.teacher-agenda,.teacher-attendance-status,.teacher-feedback-preview,.teacher-strip{background:#ffffffd6;border-color:#18352d14;border-radius:30px;box-shadow:0 18px 46px #18352d14}.teacher-section-kicker{color:#18352d8a;font-weight:950}.teacher-feedback-preview h3,.teacher-section-head h3{font-size:24px;font-weight:1000;letter-spacing:-.05em}.teacher-attendance-status h3{font-weight:1000}.teacher-strip{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.teacher-strip article{background:#f8fafcc7;border:1px solid #18352d0f;border-radius:24px;min-height:124px;overflow:hidden;padding:18px;position:relative}.teacher-strip article:before{background:linear-gradient(90deg,#2a7a5b,#e0a33a);content:"";height:5px;inset:0 0 auto 0;position:absolute}.teacher-strip span{color:#18352d94;font-weight:900}.teacher-strip strong{font-weight:1000;margin-top:22px}.teacher-schedule-item{background:#ffffffc7;border:1px solid #18352d12;box-shadow:0 14px 34px #18352d0f;overflow:hidden;position:relative}.teacher-schedule-item:before{background:linear-gradient(180deg,#2a7a5b,#e0a33a);border-radius:999px;bottom:18px;content:"";left:0;position:absolute;top:18px;width:5px}.teacher-schedule-time{background:linear-gradient(180deg,#dcfce7c7,#fffbeba3)}.teacher-meta-row span,.teacher-status{font-weight:900}.teacher-feedback-inline,.teacher-feedback-preview button,.teacher-small-btn.primary{background:linear-gradient(135deg,#194735,#2d775b)}.teacher-empty-state{background:radial-gradient(360px 160px at 50% 0,#2a7a5b1f,#0000 68%),#ffffffc7;border:1px solid #18352d12}@media (max-width:1080px){.app-shell .teacher-dashboard-main{padding:20px 18px 40px}.teacher-hero{min-height:auto}}@media (max-width:820px){.teacher-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.app-shell .teacher-dashboard-main{padding:14px 12px 32px}.teacher-hero{border-radius:32px;padding:22px}.teacher-hero h2{font-size:clamp(2.25rem,13vw,4rem)}.teacher-strip{grid-template-columns:1fr}}@media (max-width:560px){.app-shell .teacher-dashboard-main{gap:12px;padding:10px 10px 92px}.teacher-dashboard-shell{background:#f7faf7}.teacher-action-card:after,.teacher-focus-card:after,.teacher-hero:after,.teacher-hero:before{display:none}.teacher-action-card,.teacher-agenda-card,.teacher-focus-card,.teacher-hero,.teacher-panel{border-radius:20px;box-shadow:0 10px 24px #18352d0f}.teacher-hero{background:#ffffffe6;border-color:#18352d14;color:#18352d;color:var(--teacher-ink);padding:18px}.teacher-eyebrow{background:#0000;border-color:#0000;color:#18352d94;font-size:11px}.teacher-hero h2{color:#18352d;color:var(--teacher-ink);font-size:34px;letter-spacing:-.05em;line-height:1.02;margin-top:8px}.teacher-hero-text{color:#18352dad;color:var(--teacher-muted);font-size:13px;margin-top:10px}.teacher-context-row{gap:7px;margin-top:12px}.teacher-context-row span{background:#18352d0f;border-color:#18352d0f;box-shadow:none;color:#18352dad;color:var(--teacher-muted);font-size:11px;padding:7px 9px}.teacher-hero-side{gap:10px;margin-top:14px}.teacher-focus-card{padding:16px}.teacher-focus-value{font-size:34px}.teacher-strip{gap:10px}.teacher-mini-stat{border-radius:18px;min-height:auto;padding:14px}.teacher-section-head{margin-bottom:8px}.teacher-section-head h3{font-size:18px}.teacher-actions-grid{gap:10px}.teacher-action-card{min-height:auto;padding:14px}.teacher-focus-card.class-status.good{background:linear-gradient(160deg,#194735,#2d775b 72%,#68aa86);color:#f8f7f1}.teacher-focus-card.class-status.warn{background:linear-gradient(160deg,#7a4c16,#c98528 72%,#efbd65);color:#fffaf3}.teacher-focus-card.class-status.bad{background:linear-gradient(160deg,#7f1d1d,#c24135 72%,#ef7b63);color:#fffaf3}.teacher-attendance-status.good{background:linear-gradient(135deg,#22c55e29,#ffffffe6);border-color:#15803d33}.teacher-attendance-status.warn{background:linear-gradient(135deg,#f59e0b2e,#ffffffe6);border-color:#b4530938}.teacher-attendance-status.bad{background:linear-gradient(135deg,#ef444429,#ffffffe6);border-color:#b91c1c38}.teacher-attendance-status.good h3{color:#15803d}.teacher-attendance-status.warn h3{color:#b45309}.teacher-attendance-status.bad h3{color:#b91c1c}}.app-shell .teacher-dashboard-main{gap:16px;max-width:1160px;padding:24px 22px 38px}.teacher-hero{border-radius:30px;min-height:260px;padding:26px}.teacher-hero h2{font-size:clamp(2.2rem,5.4vw,4rem);letter-spacing:-.06em}.teacher-hero-text{font-size:14px;max-width:560px}.teacher-agenda,.teacher-attendance-status,.teacher-breathe-card,.teacher-feedback-preview,.teacher-focus-card,.teacher-strip{border-radius:22px;box-shadow:0 14px 34px #18352d12}@media (max-width:560px){.app-shell .teacher-dashboard-main{gap:12px;padding:10px 10px 86px}.teacher-hero{border-radius:20px;padding:16px}.teacher-hero h2{font-size:31px;line-height:1.02}.teacher-action-card,.teacher-agenda,.teacher-agenda-card,.teacher-attendance-status,.teacher-breathe-card,.teacher-feedback-preview,.teacher-focus-card,.teacher-strip{border-radius:17px;box-shadow:0 8px 18px rgba(24,53,45,.055);padding:13px}}:root{--r16:16px;--r22:22px;--r28:28px}.tas-wrap{background:radial-gradient(1200px 600px at 12% 10%,#22c55e21,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#3b82f61a,#0000 55%),linear-gradient(180deg,#f3f6ff,#f3f9f5);background:radial-gradient(1200px 600px at 12% 10%,#22c55e21,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#3b82f61a,#0000 55%),linear-gradient(180deg,var(--bg1),var(--bg2));color:#111827;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;min-height:100vh;padding:18px 16px 40px}.ios-toast{align-items:center;background:#ffffffe6;border:1px solid #11182714;border-radius:999px;box-shadow:0 18px 40px #1118271f;display:flex;font-size:13px;font-weight:800;gap:10px;left:50%;max-width:calc(100vw - 24px);padding:12px 14px;position:fixed;top:78px;transform:translateX(-50%);z-index:99}.ios-toast.bad{border-color:#ef444438}.ios-toast .ico{flex-shrink:0;height:18px;width:18px}.tas-top{align-items:center;display:flex;gap:12px;margin:0 auto 16px;max-width:1040px}.tas-back{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffb8;border:1px solid #0000000f;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);color:#111827d9;cursor:pointer;display:grid;height:44px;place-items:center;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:44px}.tas-back span,.tas-back span:after,.tas-back span:before{box-sizing:border-box;content:"";display:block;position:absolute}.tas-back span{height:18px;position:relative;width:18px}.tas-back span:before{border-bottom:2px solid;border-left:2px solid;height:10px;left:3px;top:4px;transform:rotate(45deg);width:10px}.tas-back span:after{background:currentColor;border-radius:999px;height:2px;left:4px;top:9px;width:15px}.tas-back:hover{background:#ffffffe6;transform:translateY(-2px)}.tas-logout{background:#b91c1c14;color:#9f1d1d}.tas-logout span:before{border:2px solid;border-radius:4px 0 0 4px;border-right:0;height:13px;left:1px;top:3px;transform:none;width:11px}.tas-logout span:after{background:currentColor;box-shadow:4px -3px 0 -2px currentColor,4px 3px 0 -2px currentColor;height:2px;left:auto;right:0;top:8px;width:11px}.tas-title{flex:1 1}.tas-title span{color:#11182780;display:block;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}.tas-title h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:950;letter-spacing:-.05em;line-height:.95}.tas-title p{color:#11182799;color:var(--muted);font-size:13px;font-weight:600;margin-top:4px}.tas-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:0 auto 14px;max-width:1040px}.tas-search{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;border:1px solid #0000000f;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);color:#111827;color:var(--ink);flex:1 1;font-family:inherit;font-size:14px;font-weight:600;height:48px;min-width:0;outline:none;padding:0 16px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.tas-search::placeholder{color:#1118276b;font-weight:500}.tas-search:focus{border-color:#22c55e40;box-shadow:0 10px 26px #00000014,0 0 0 4px #22c55e1a;box-shadow:var(--shadowSoft),0 0 0 4px #22c55e1a}.tas-count{background:#22c55e1f;border:1px solid #22c55e29;border-radius:999px;color:#15803de6;font-size:12px;font-weight:700;padding:10px 12px;white-space:nowrap}.tas-type-filter{background:#ffffffc7;border:1px solid #0000000f;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);color:#111827;color:var(--ink);font-family:inherit;font-size:13px;font-weight:800;height:48px;min-width:160px;outline:none;padding:0 14px;width:180px}.tas-month-actions{display:flex;gap:8px}.tas-month-actions button{background:#ffffffc7;border:1px solid #0000000f;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);color:#111827d1;cursor:pointer;font-size:13px;font-weight:900;height:44px;min-width:44px;padding:0 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.tas-month-actions button:hover{background:#fffffff5;transform:translateY(-2px)}.tas-calendar-shell{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:220px minmax(0,1fr) 320px;margin:0 auto;max-width:1040px}.tas-calendar-main,.tas-calendar-side,.tas-event-panel{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);overflow:hidden}.tas-calendar-side{display:flex;flex-direction:column;gap:12px;padding:14px}.tas-mini-card{background:linear-gradient(135deg,#172033,#216647);border-radius:22px;color:#fff;padding:16px}.tas-mini-card span{color:#ffffffa8;display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.tas-mini-card strong{display:block;font-size:22px;line-height:1.05;margin-top:8px}.tas-mini-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:14px}.tas-mini-grid div{background:#ffffff1f;border-radius:16px;padding:10px}.tas-mini-grid b,.tas-mini-grid small{display:block}.tas-mini-grid b{font-size:20px}.tas-mini-grid small{color:#ffffffad;font-size:11px;font-weight:800;margin-top:3px}.tas-legend{display:flex;flex-direction:column;gap:8px}.tas-legend span{align-items:center;background:#1118270d;border:1px solid #0000000a;border-radius:999px;color:#111827ad;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 10px}.tas-legend .dot{border-radius:999px;display:inline-block;height:9px;width:9px}.tas-legend .dot.ivc{background:#216647}.tas-legend .dot.play{background:#9a5412}.tas-legend .dot.workshop{background:#1d4ed8}.tas-weekdays{background:linear-gradient(135deg,#172033,#216647);color:#fff;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tas-weekdays div{font-size:12px;font-weight:900;padding:13px 8px;text-align:center}.tas-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tas-day{background:#ffffff8a;border:1px solid #1118270f;border-left:none;border-top:none;cursor:pointer;min-height:118px;padding:9px;text-align:left;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.tas-day:nth-child(7n){border-right:none}.tas-day:hover{background:#f0fdf4e0}.tas-day.muted{background:#ffffff47;color:#11182759}.tas-day.selected{background:linear-gradient(180deg,#dcfce7f5,#eff6ffd6);box-shadow:inset 0 0 0 2px #2166475c}.tas-day.today .tas-day-number{background:#216647;color:#fff}.tas-day-number{border-radius:999px;display:grid;font-size:13px;font-weight:950;height:30px;place-items:center;width:30px}.tas-day-events{display:flex;flex-direction:column;gap:5px;margin-top:7px}.tas-event-chip,.tas-event-more,.tas-event-type{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;max-width:100%;min-width:0;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.tas-event-chip.ivc,.tas-event-type.ivc{background:#21664724;color:#216647}.tas-event-chip.play,.tas-event-type.play{background:#f59e0b29;color:#9a5412}.tas-event-chip.workshop,.tas-event-type.workshop{background:#3b82f624;color:#1d4ed8}.tas-event-chip.quiz,.tas-event-type.quiz{background:#8b5cf624;color:#6d28d9}.tas-event-chip.seminar,.tas-event-type.seminar{background:#ec489924;color:#be185d}.tas-event-more{background:#11182714;color:#1118279e}.tas-event-panel{max-height:760px;overflow:auto;padding:14px}.tas-event-panel-head{background:linear-gradient(135deg,#172033,#216647);border-radius:22px;color:#fff;padding:16px}.tas-event-panel-head span{color:#ffffffa8;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.tas-event-panel-head h2{font-size:20px;line-height:1.25;margin-top:8px}.tas-event-panel-head p{color:#ffffffb3;font-size:12px;font-weight:800;margin-top:6px}.tas-panel-empty{background:#1118270d;border-radius:22px;margin-top:12px;padding:18px}.tas-panel-empty strong{display:block;font-size:15px;font-weight:900}.tas-panel-empty p{color:#11182794;font-size:12px;font-weight:800;margin-top:6px}.tas-panel-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.tas-panel-card{background:#ffffffc7;border:1px solid #1118270f;border-radius:22px;box-shadow:0 10px 24px #1118270f;display:flex;gap:12px;padding:12px}.tas-panel-card.past{opacity:.74}.tas-panel-time{background:#2166471a;border-radius:18px;color:#216647;min-width:74px;padding:10px}.tas-panel-time span,.tas-panel-time strong{display:block}.tas-panel-time strong{font-size:14px;font-weight:950}.tas-panel-time span{color:#216647b8;font-size:11px;font-weight:800;margin-top:4px}.tas-panel-body{flex:1 1;min-width:0}.tas-panel-title{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.tas-panel-title h3{font-size:15px;line-height:1.35}.tas-panel-body p{color:#1118279e;font-size:12px;font-weight:800;margin-top:5px}.tas-done{background:#11182714;border-radius:999px;color:#1118279e;display:inline-flex;font-size:11px;font-weight:900;margin-top:8px;padding:6px 9px}.tas-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:10px}.tas-btn{border:none;border-radius:16px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;min-width:138px;padding:11px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.tas-btn:hover{transform:translateY(-2px)}.tas-primary{background:#22c55ef0;box-shadow:0 12px 26px #22c55e33;color:#fff}.tas-primary:hover{opacity:.96}.tas-secondary{background:#11182714;color:#111827e0}.tas-secondary:hover{background:#1118271f}.tas-empty{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);margin:0 auto;max-width:1040px;padding:28px 18px;text-align:center}.tas-empty-icon{background:#22c55e1f;border-radius:18px;color:#15803deb;display:grid;height:56px;margin:0 auto;place-items:center;position:relative;width:56px}.tas-empty-calendar span,.tas-empty-calendar span:after,.tas-empty-calendar span:before{box-sizing:border-box;content:"";display:block;position:absolute}.tas-empty-calendar span{inset:0}.tas-empty-calendar span:before{border:2px solid;border-radius:6px;height:24px;left:16px;top:16px;width:24px}.tas-empty-calendar span:after{background:currentColor;box-shadow:0 7px 0 currentColor;height:2px;left:21px;top:26px;width:14px}.tas-empty h3{font-size:17px;font-weight:800;margin-top:8px}.tas-empty p{color:#11182799;color:var(--muted);font-size:13px;font-weight:600;margin-top:6px}.tas-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);margin:90px auto 0;max-width:440px;padding:22px 18px;text-align:center}.tas-card p{color:#11182799;color:var(--muted);font-size:14px;font-weight:600;margin-top:10px}.tas-spinner{animation:spin .8s linear infinite;border:4px solid #22c55e24;border-radius:999px;border-top-color:#22c55ee6;height:40px;margin:0 auto;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:820px){.tas-toolbar{align-items:stretch;flex-direction:column}.tas-month-actions,.tas-type-filter{width:100%}.tas-month-actions button{flex:1 1}.tas-calendar-shell{grid-template-columns:1fr}.tas-calendar-main{overflow-x:auto}.tas-calendar-grid,.tas-weekdays{min-width:680px}.tas-actions{justify-content:stretch;width:100%}.tas-btn{flex:1 1;min-width:0}}@media (max-width:560px){.tas-wrap{padding:14px 12px 30px}.tas-top{align-items:flex-start}.tas-title h1{font-size:21px}.tas-meta{align-items:flex-start}.tas-actions,.tas-meta{flex-direction:column}.tas-btn{width:100%}.tas-calendar-shell{border-radius:24px;gap:12px;padding:10px}.tas-calendar-main{border-radius:20px;overflow:hidden}.tas-calendar-grid,.tas-weekdays{min-width:0;width:100%}.tas-weekdays div{font-size:9px;padding:9px 0}.tas-day{align-items:center;aspect-ratio:1;display:flex;flex-direction:column;min-height:0;padding:5px 3px}.tas-day-number{font-size:11px;height:24px;width:24px}.tas-day.selected{box-shadow:inset 0 0 0 2px #2166475c}.tas-day-events{align-items:center;flex-direction:row;gap:3px;justify-content:center;margin-top:auto;min-height:14px;width:100%}.tas-event-chip{border-radius:999px;color:#0000!important;font-size:0;height:6px;max-width:6px;min-width:6px;padding:0;width:6px}.tas-event-more{font-size:9px;height:14px;justify-content:center;line-height:14px;min-width:16px;padding:0 4px}.tas-panel-card{flex-direction:column}.tas-panel-time{min-width:0}.tas-panel-title{flex-direction:column}}.tvf-shell{background:radial-gradient(900px 500px at 10% 0,#20935a2e,#0000 55%),radial-gradient(900px 500px at 95% 10%,#e4b04324,#0000 55%),linear-gradient(180deg,#f4f5ef,#eef3ef);color:#16342d;min-height:100vh;padding:24px 16px 40px}.tvf-page{margin:0 auto;max-width:1180px}.tvf-topbar{align-items:flex-start;display:flex;gap:16px;margin-bottom:22px}.tvf-back{background:#ffffffd1;border:none;border-radius:999px;box-shadow:0 12px 28px #0e312614;color:#16342d;cursor:pointer;font-weight:700;padding:12px 16px}.tvf-logout{background:#b91c1c14;color:#9f1d1d}.tvf-title-block h1{font-size:clamp(2rem,3vw,3.2rem);letter-spacing:-.04em;line-height:.98;margin:4px 0 6px}.tvf-kicker{color:#16342d99;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.tvf-subtitle{color:#16342db8;font-size:.98rem;line-height:1.6;max-width:680px}.tvf-hero,.tvf-loader-card,.tvf-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #16342d14;box-shadow:0 18px 40px #112e2514}.tvf-hero{grid-gap:18px;border-radius:30px;display:grid;gap:18px;grid-template-columns:1.45fr .95fr;padding:24px}.tvf-badge{align-items:center;background:#1a7f561a;border-radius:999px;color:#1a7f56;display:inline-flex;font-size:.82rem;font-weight:800;padding:8px 12px}.tvf-hero-copy h2{font-size:clamp(1.7rem,2.6vw,2.7rem);letter-spacing:-.04em;line-height:1.02;margin:14px 0 10px}.tvf-hero-copy p,.tvf-hero-note p{color:#16342db8;font-size:.96rem;line-height:1.7}.tvf-hero-note{background:linear-gradient(145deg,#123f34,#205742);border-radius:24px;color:#f4f7f1;padding:20px}.tvf-note-label{color:#f4f7f1ad;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tvf-note-value{font-size:1.25rem;font-weight:800;margin:8px 0 10px}.tvf-hero-note p{color:#f4f7f1d1}.tvf-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:.94fr 1.06fr;margin-top:18px}.tvf-loader-card,.tvf-panel{border-radius:28px;padding:22px}.tvf-loader-card{margin:120px auto 0;max-width:360px;text-align:center}.tvf-section-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.tvf-section-head h3{font-size:1.15rem;letter-spacing:-.03em}.tvf-section-head span{color:#16342d94;font-size:.82rem;font-weight:700}.tvf-history-list,.tvf-schedule-list{grid-gap:12px;display:grid;gap:12px}.tvf-empty-card,.tvf-history-card,.tvf-recorder-card,.tvf-schedule-card,.tvf-transcript-card{background:#f9fbf7;border:1px solid #16342d14;border-radius:22px}.tvf-schedule-card{cursor:pointer;padding:16px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.tvf-schedule-card.selected{border-color:#218a5d99;box-shadow:0 14px 26px #218a5d1f;transform:translateY(-1px)}.tvf-schedule-top{display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.tvf-history-top strong,.tvf-schedule-top strong{font-size:1rem}.tvf-schedule-top span,.tvf-status-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:800;justify-content:center;padding:6px 10px}.tvf-schedule-top span{background:#16342d12;color:#16342da6}.tvf-empty-card p,.tvf-existing-note,.tvf-history-card p,.tvf-schedule-card p{color:#16342dad;line-height:1.55;margin:4px 0 0}.tvf-recorder-card{background:radial-gradient(420px 220px at 10% 10%,#218a5d1f,#0000 55%),#f9fbf7;padding:22px}.tvf-recorder-card.live{border-color:#d66a4666;box-shadow:inset 0 0 0 1px #d66a462e}.tvf-timer{font-size:clamp(2.3rem,7vw,4rem);font-weight:800;letter-spacing:-.06em}.tvf-recorder-label{color:#16342db3;line-height:1.6;margin-top:8px;max-width:560px}.tvf-recorder-actions,.tvf-submit-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.tvf-primary-btn,.tvf-secondary-btn,.tvf-stop-btn{border:none;border-radius:16px;cursor:pointer;font-weight:800;padding:14px 18px;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.tvf-primary-btn{background:linear-gradient(135deg,#206647,#2d8c5a);box-shadow:0 16px 30px #2066472e;color:#f7faf6}.tvf-secondary-btn{background:#16342d14;color:#16342d}.tvf-stop-btn{background:linear-gradient(135deg,#da6a46,#d84b49);color:#fff7f2}.tvf-primary-btn:disabled,.tvf-secondary-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.tvf-back:hover,.tvf-primary-btn:not(:disabled):hover,.tvf-schedule-card:hover,.tvf-secondary-btn:not(:disabled):hover,.tvf-stop-btn:hover{transform:translateY(-1px)}.tvf-mic-status{background:#16342d14;border-radius:999px;color:#16342da3;font-size:.82rem;font-weight:700;padding:8px 12px}.tvf-mic-status.active{background:#218a5d1f;color:#218a5d}.tvf-audio-preview{margin-top:18px}.tvf-audio-preview label,.tvf-transcript-card label{color:#16342d8f;display:block;font-size:.82rem;font-weight:800;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.tvf-audio-preview audio{width:100%}.tvf-preview-note{color:#16342d9e;font-size:.84rem;margin-top:8px}.tvf-existing-note{background:#16342d0d;border-radius:16px;margin-top:16px;padding:12px 14px}.tvf-transcript-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.tvf-transcript-card{padding:18px}.tvf-transcript-card textarea{background:#0000;border:none;color:#16342d;font:inherit;line-height:1.7;min-height:220px;outline:none;resize:vertical;width:100%}.tvf-submit-bar{align-items:center;background:linear-gradient(135deg,#16342df5,#245445f5);border-radius:22px;color:#f4f7f1;display:flex;gap:16px;justify-content:space-between;margin-top:18px;padding:18px 20px}.tvf-submit-copy{grid-gap:6px;display:grid;gap:6px}.tvf-submit-copy span{color:#f4f7f1b8}.tvf-history-card{padding:16px}.tvf-history-card audio{display:block;height:38px;margin-top:10px;width:100%}.tvf-history-top{display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.tvf-status-chip.draft{background:#db9f1c24;color:#976a12}.tvf-status-chip.submitted{background:#218a5d1f;color:#218a5d}.tvf-status-chip.reviewed{background:#4a6ecf1f;color:#355bb3}.tvf-empty-card{padding:18px}.tvf-spinner{animation:tvf-spin .8s linear infinite;border:4px solid #16342d1f;border-radius:999px;border-top-color:#206647;height:44px;margin:0 auto 14px;width:44px}.tvf-toast{background:#16342df5;border-radius:999px;box-shadow:0 14px 28px #112e2538;color:#f7faf6;left:50%;padding:12px 16px;position:fixed;top:18px;transform:translateX(-50%);z-index:80}.tvf-toast.bad{background:#9b3330f5}@keyframes tvf-spin{to{transform:rotate(1turn)}}@media (max-width:920px){.tvf-grid,.tvf-hero,.tvf-submit-bar,.tvf-transcript-grid{grid-template-columns:1fr}.tvf-submit-bar{display:grid}}@media (max-width:640px){.tvf-shell{padding:14px 12px 28px}.tvf-topbar{align-items:stretch;flex-direction:column}.tvf-hero,.tvf-loader-card,.tvf-panel{border-radius:24px;padding:18px}.tvf-title-block h1{font-size:2.1rem}.tvf-history-top,.tvf-schedule-top,.tvf-section-head,.tvf-submit-actions{align-items:flex-start;flex-direction:column}.tvf-back,.tvf-primary-btn,.tvf-secondary-btn,.tvf-stop-btn{width:100%}.tvf-recorder-actions,.tvf-submit-actions{align-items:stretch}.tvf-timer{font-size:2.5rem}}:root{--bg1:#f3f6ff;--bg2:#f3f9f5;--card:#ffffffc7;--ink:#111827;--muted:#11182799;--line:#0000000f;--blue:#3b82f6;--green:#22c55e;--greenDeep:#16a34a;--purple:#8b5cf6;--yellow:#f59e0b;--red:#ef4444;--shadow:0 18px 44px #0000001a;--shadowSoft:0 10px 26px #00000014;--glass:blur(14px);--t:all .28s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}.admin-screen{background:radial-gradient(1200px 600px at 12% 10%,#3b82f61f,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#22c55e1a,#0000 55%),linear-gradient(180deg,#f3f6ff,#f3f9f5);background:radial-gradient(1200px 600px at 12% 10%,#3b82f61f,#0000 55%),radial-gradient(1200px 600px at 88% 20%,#22c55e1a,#0000 55%),linear-gradient(180deg,var(--bg1),var(--bg2));color:#111827;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;min-height:100vh}.app-shell .admin-screen{background:#0000;min-height:100%}.app-shell .admin-topbar{display:none}.admin-loader{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100vh}.admin-loader p{color:#11182799;color:var(--muted);font-size:14px;font-weight:600}.admin-spinner{animation:adminSpin .8s linear infinite;border:4px solid #3b82f624;border-radius:999px;border-top-color:#3b82f6e6;height:44px;width:44px}@keyframes adminSpin{to{transform:rotate(1turn)}}.admin-toast{align-items:center;backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffdb;border:1px solid #0000000f;border:1px solid var(--line);border-radius:999px;box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);display:flex;font-size:13px;font-weight:700;gap:10px;left:50%;max-width:calc(100vw - 24px);padding:12px 14px;position:fixed;top:78px;transform:translateX(-50%);z-index:99}.admin-toast.bad{border-color:#ef444438}.admin-toast .ico{flex-shrink:0;height:18px;width:18px}.toast-ico{border-radius:999px;display:inline-block;position:relative}.toast-ico-ok{background:#216647}.toast-ico-ok:after{border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";height:4px;left:5px;position:absolute;top:5px;transform:rotate(-45deg);width:7px}.toast-ico-bad{background:#dc2626}.toast-ico-bad:after,.toast-ico-bad:before{background:#fff;border-radius:999px;content:"";height:10px;left:8px;position:absolute;top:4px;width:2px}.toast-ico-bad:after{height:2px;top:14px}.admin-topbar{align-items:center;backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffff8c;border-bottom:1px solid #ffffff73;display:flex;justify-content:space-between;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.admin-topbar-left{align-items:center;display:flex;gap:12px}.admin-appicon{align-items:center;background:linear-gradient(135deg,#3b82f633,#8b5cf62e);border:1px solid #0000000f;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;font-size:22px;height:44px;justify-content:center;width:44px}.admin-title{font-size:14px;font-weight:800;letter-spacing:.1px}.admin-subtitle{color:#11182799;color:var(--muted);font-size:12px;font-weight:700;margin-top:2px}.admin-topbar-right{align-items:center;display:flex;gap:10px}.admin-avatar{align-items:center;background:#ffffffb8;border:1px solid #0000000f;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;font-size:14px;font-weight:800;height:40px;justify-content:center;width:40px}.admin-logout{background:#11182714;border:none;border-radius:14px;color:#111827d9;cursor:pointer;font-weight:700;padding:10px 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-logout:hover{background:#1118271f;transform:translateY(-2px)}.admin-content{margin:0 auto;max-width:1120px;padding:18px 16px 36px}.admin-section{margin-top:18px}.admin-section-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.admin-section-head h3{font-size:18px;font-weight:800;letter-spacing:-.2px}.admin-subpill{background:#8b5cf61f;border:1px solid #8b5cf629;border-radius:999px;color:#5b21b6e0;font-size:12px;font-weight:700;padding:8px 10px;white-space:nowrap}.admin-hero{margin-top:16px}.admin-hero-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffb3;border:1px solid #ffffff73;border-radius:28px;box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);padding:18px}.admin-hero-text{width:100%}.admin-hero-kicker{color:#1118279e;font-size:12px;font-weight:700}.admin-hero-title{font-size:26px;font-weight:800;letter-spacing:-.3px;margin-top:6px}.admin-hero-desc{color:#11182794;font-size:13px;font-weight:600;line-height:1.6;margin-top:6px}.admin-pillrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-pill{background:#1118270f;border:1px solid #0000000a;border-radius:999px;color:#111827c7;font-size:12px;font-weight:700;padding:8px 10px}.admin-filters{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filters-guided{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-export-btn{background:#2166471f;border:none;border-radius:999px;box-shadow:0 10px 24px #21664714;color:#216647;cursor:pointer;font-family:inherit;font-size:12px;font-weight:950;min-height:38px;padding:0 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-export-btn:hover{background:#2166472e;transform:translateY(-1px)}.admin-field{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:14px}.admin-field label{color:#1118279e;display:block;font-size:12px;font-weight:700;margin-bottom:8px}.admin-field input,.admin-field select{background:#ffffffd6;border:1px solid #00000014;border-radius:16px;color:#111827;color:var(--ink);font-family:inherit;font-size:14px;font-weight:600;height:46px;outline:none;padding:0 12px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t);width:100%}.admin-field input:focus,.admin-field select:focus{border-color:#3b82f647;box-shadow:0 0 0 4px #3b82f61a}.admin-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.admin-stat{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);display:flex;flex-direction:column;justify-content:space-between;min-height:116px;padding:16px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-stat:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-4px)}.admin-stat-value{font-size:28px;font-weight:800;letter-spacing:-.4px;line-height:1.1}.admin-stat-label{color:#111827a3;font-size:12px;font-weight:700;line-height:1.45;margin-top:8px}.admin-stat.blue .admin-stat-value{color:#3b82f6;color:var(--blue)}.admin-stat.green .admin-stat-value{color:#16a34a;color:var(--greenDeep)}.admin-stat.yellow .admin-stat-value{color:#b45309}.admin-stat.red .admin-stat-value{color:#ef4444;color:var(--red)}.admin-stat.purple .admin-stat-value{color:#6d28d9}.admin-stat.teal .admin-stat-value{color:#0f766e}.admin-session-subject-grid{grid-gap:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-attendance-legend{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 16px}.admin-attendance-legend span{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12px;font-weight:1000;gap:7px;padding:8px 11px}.admin-attendance-legend span:before{background:currentColor;border-radius:999px;content:"";height:9px;width:9px}.admin-attendance-legend .good{background:#22c55e24;border-color:#22c55e38;color:#166534}.admin-attendance-legend .warn{background:#f59e0b29;border-color:#f59e0b3d;color:#9a5412}.admin-attendance-legend .bad{background:#ef444421;border-color:#ef444433;color:#b42318}.admin-attendance-legend small{color:#11182794;font-size:12px;font-weight:850;margin-left:auto}.admin-state-card{align-items:flex-start;display:flex;gap:12px;text-align:left}.admin-state-card strong{color:#111827d6;display:block;font-size:14px}.admin-state-card p{color:#11182794;font-size:12px;line-height:1.55;margin:5px 0 0}.admin-state-dot{background:#3b82f6;border-radius:999px;box-shadow:0 0 0 6px #3b82f61f;flex-shrink:0;height:12px;margin-top:4px;width:12px}.admin-state-dot.loading{animation:adminPulse 1.1s ease-in-out infinite}@keyframes adminPulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.admin-session-subject-card{background:#ffffffc2;border:1px solid #1118270f;border-radius:28px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);min-height:142px;overflow:hidden;position:relative;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-session-subject-card:after{background:currentColor;border-radius:999px;bottom:-34px;content:"";height:112px;opacity:.1;position:absolute;right:-28px;width:112px}.admin-session-subject-card:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-4px)}.admin-session-subject-card span{background:#ffffff9e;border-radius:999px;display:inline-flex;font-weight:1000;letter-spacing:.08em;padding:7px 10px}.admin-session-subject-card strong{display:block;font-size:clamp(2rem,4vw,3.2rem);font-weight:1000;letter-spacing:-.08em;line-height:.92;margin-top:18px}.admin-session-subject-card p{color:#11182794;font-size:12px;font-weight:850;line-height:1.45;margin-top:14px;position:relative;z-index:1}.admin-absent-list{background:#ffffff9e;border:1px solid #1118270f;border-radius:18px;margin-top:14px;padding:12px;position:relative;z-index:1}.admin-absent-list small{color:#1118277a;display:block;font-size:10px;font-weight:1000;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.admin-absent-school+.admin-absent-school{border-top:1px solid #11182712;margin-top:10px;padding-top:10px}.admin-absent-school b{color:#111827b8;display:block;font-size:11px;font-weight:1000}.admin-absent-school ul{margin:7px 0 0;padding-left:16px}.admin-absent-school em,.admin-absent-school li{color:#1118279e;font-size:11px;font-weight:800;line-height:1.45}.admin-absent-school em{display:block;font-style:normal;margin-top:5px}.admin-absent-note{color:#1118279e;font-size:11px;font-weight:800;line-height:1.55;margin-top:0}.admin-session-subject-card.good{background:linear-gradient(135deg,#dcfce7eb,#ffffffd1);color:#166534}.admin-session-subject-card.warn{background:linear-gradient(135deg,#fef3c7f0,#ffffffd1);color:#9a5412}.admin-session-subject-card.bad{background:linear-gradient(135deg,#fee2e2f0,#ffffffd1);color:#b42318}.admin-session-subject-card.empty{background:linear-gradient(135deg,#f3f4f6eb,#ffffffd1);color:#1118276b}.admin-feedback-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.admin-feedback-mini{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:radial-gradient(180px 120px at 100% 0,#f59e0b24,#0000 60%),#ffffffd1;border:1px solid #1118270f;border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);min-height:118px;overflow:hidden;padding:18px;position:relative}.admin-feedback-mini:after{background:#2166471a;border-radius:999px;bottom:-32px;content:"";height:102px;position:absolute;right:-24px;width:102px}.admin-feedback-mini span{color:#1118279e;display:block;font-size:11px;font-weight:950;letter-spacing:.08em;position:relative;text-transform:uppercase;z-index:1}.admin-feedback-mini strong{color:#0f766e;display:block;font-size:clamp(2rem,5vw,3.2rem);font-weight:1000;line-height:.9;margin-top:16px;position:relative;z-index:1}.admin-reflection-charts{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.admin-reflection-chart-card{background:radial-gradient(220px 140px at 100% 0,#2166471f,#0000 62%),#ffffffd1;border:1px solid #1118270f;border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px}.admin-reflection-chart-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.admin-reflection-chart-head em,.admin-reflection-chart-head span{color:#11182785;display:block;font-size:11px;font-style:normal;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.admin-reflection-chart-head strong{color:#216647;display:block;font-size:36px;font-weight:1000;line-height:.95;margin-top:6px}.admin-reflection-scale{display:flex;gap:10px;justify-content:space-between;margin-top:12px}.admin-reflection-scale small{color:#11182780;font-size:11px;font-weight:850}.admin-reflection-bars{grid-gap:8px;display:grid;gap:8px;margin-top:12px}.admin-reflection-bar-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px minmax(0,1fr) 24px}.admin-reflection-bar-row b,.admin-reflection-bar-row span{color:#11182794;font-size:12px;font-weight:950}.admin-reflection-bar-row div{background:rgba(17,24,39,.075);border-radius:999px;height:11px;overflow:hidden}.admin-reflection-bar-row i{background:linear-gradient(90deg,#9a5d14,#216647);border-radius:999px;display:block;height:100%;min-width:2px}.admin-feedback-list{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-feedback-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:linear-gradient(135deg,#ffffffe0,#fffbeb7a),#ffffffc7;background:linear-gradient(135deg,#ffffffe0,#fffbeb7a),var(--card);border:1px solid #1118270f;border-radius:30px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);min-height:100%;padding:18px}.admin-feedback-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.admin-feedback-head h4{color:#172033;font-size:20px;font-weight:1000;line-height:1.35}.admin-feedback-head p{color:#11182799;color:var(--muted);font-size:12px;font-weight:700;line-height:1.45;margin-top:4px}.admin-feedback-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;justify-content:center;padding:8px 10px;white-space:nowrap}.admin-feedback-status.submitted{background:#14b8a624;color:#0f766e}.admin-feedback-status.draft{background:#f59e0b29;color:#b45309}.admin-feedback-status.reviewed{background:#3b82f624;color:#1d4ed8}.admin-feedback-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-feedback-meta span{align-items:center;background:#ffffffb3;border:1px solid #0000000a;border-radius:999px;color:#111827ad;display:inline-flex;font-size:12px;font-weight:700;padding:7px 10px}.admin-feedback-meta span.is-good{background:#22c55e24;border-color:#22c55e33;color:#166534}.admin-feedback-meta span.is-warn{background:#f59e0b29;border-color:#f59e0b3d;color:#9a5412}.admin-reflection-score{background:linear-gradient(135deg,#172033,#216647);border-radius:22px;box-shadow:0 16px 32px #21664729;color:#fff;display:grid;flex-shrink:0;min-height:70px;min-width:78px;padding:10px;place-items:center;text-align:center}.admin-reflection-score span,.admin-reflection-score strong{display:block}.admin-reflection-score strong{font-size:24px;font-weight:1000;line-height:.95}.admin-reflection-score span{color:#ffffffad;font-size:10px;font-weight:950;letter-spacing:.08em;margin-top:4px;text-transform:uppercase}.admin-feedback-text{background:#1118270d;border-radius:18px;color:#111827c7;font-size:13px;font-weight:600;line-height:1.7;margin-top:12px;padding:14px}.admin-feedback-text strong{color:#111827e0;font-weight:950}.admin-reflection-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.admin-reflection-grid div{background:#21664712;border:1px solid #2166471a;border-radius:18px;min-height:92px;padding:12px}.admin-reflection-grid span{color:#216647;display:block;font-size:10px;font-weight:950;letter-spacing:.08em;margin-bottom:7px;text-transform:uppercase}.admin-reflection-grid p{color:#111827ad;font-size:11px;font-weight:800;line-height:1.55;margin:6px 0 0}.admin-reflection-grid strong{color:#216647;display:block;font-size:24px;font-weight:1000;line-height:1}.admin-reflection-notes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.admin-reflection-notes div{background:rgba(17,24,39,.045);border:1px solid rgba(17,24,39,.055);border-radius:20px;min-height:88px;padding:14px}.admin-reflection-notes span{color:#11182785;display:block;font-size:11px;font-weight:950;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.admin-reflection-notes p{color:#111827b3;font-size:12px;font-weight:750;line-height:1.6;margin:0}.admin-feedback-audio{background:#21664714;border:1px solid #2166471f;border-radius:18px;margin-top:12px;padding:12px}.admin-feedback-audio span{color:#216647;display:block;font-size:11px;font-weight:950;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.admin-feedback-audio audio{display:block;height:38px;width:100%}.admin-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px}.admin-empty{padding:28px 18px;text-align:center}.admin-empty-emoji{font-size:48px;opacity:.78}.admin-empty h4{font-size:17px;font-weight:800;margin-top:8px}.admin-empty p{color:#11182799;color:var(--muted);font-size:13px;font-weight:600;line-height:1.6;margin-top:6px}.admin-empty-inline{color:#111827b3;font-size:14px;font-weight:600}.admin-view-toggle{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #0000000f;border-radius:999px;box-shadow:0 10px 24px #0000000f;display:inline-flex;gap:8px;padding:6px}.admin-view-toggle-btn{background:#0000;border:none;border-radius:999px;color:#111827b8;cursor:pointer;font-size:12px;font-weight:800;padding:10px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-view-toggle-btn:hover{background:#1118270d;transform:translateY(-1px)}.admin-view-toggle-btn.active.all{background:#3b82f624;color:#1d4ed8f2}.admin-view-toggle-btn.active.pending{background:#f59e0b29;color:#b45309f2}.admin-view-toggle-btn.active.upcoming{background:#22c55e24;color:#15803df2}.admin-layout-toggle,.admin-timeline-toggle{margin-bottom:12px}.admin-schedule-filterbar{grid-gap:10px;align-items:end;background:#ffffffbd;border:1px solid #11182712;border-radius:24px;box-shadow:0 14px 34px #1118270f;display:grid;gap:10px;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr)) auto;margin:12px 0;padding:12px}.admin-schedule-filter,.admin-schedule-search{min-width:0}.admin-schedule-filter label,.admin-schedule-search label{color:#1118278a;display:block;font-size:11px;font-weight:950;letter-spacing:.08em;margin:0 0 7px;text-transform:uppercase}.admin-schedule-filter select,.admin-schedule-search input{background:rgba(17,24,39,.055);border:none;border-radius:16px;color:#172033;font-size:13px;font-weight:800;min-height:46px;outline:none;padding:0 14px;width:100%}.admin-schedule-filter-reset{background:#2166471f;border:none;border-radius:16px;color:#216647;cursor:pointer;font-weight:950;min-height:46px;padding:0 16px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-schedule-filter-reset:hover:not(:disabled){background:#2166472e;transform:translateY(-1px)}.admin-schedule-filter-reset:disabled{cursor:not-allowed;opacity:.45}.admin-reflection-filterbar{grid-gap:10px;align-items:end;background:#ffffffbd;border:1px solid #11182712;border-radius:24px;box-shadow:0 14px 34px #1118270f;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;margin:14px 0 16px;padding:12px}.admin-schedule-editor{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;border:1px solid #0000000f;border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);margin-bottom:12px;padding:16px}.admin-editor-head{margin-bottom:14px}.admin-editor-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.performance-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-performance-board{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(260px,320px) minmax(0,1fr);margin-bottom:16px}.admin-performance-chart,.admin-performance-panel{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;border:1px solid #0000000f;border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px}.admin-performance-summary{background:radial-gradient(360px 260px at 120% -10%,#f59e0b47,#0000 62%),radial-gradient(300px 260px at -12% 104%,#22c55e2e,#0000 66%),linear-gradient(145deg,#ffffffe0,#f0fdf4c2);display:flex;flex-direction:column;justify-content:space-between;min-height:360px;overflow:hidden}.admin-performance-row-head span,.admin-performance-summary>span{color:#11182780;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.admin-performance-summary h4{color:#172033;font-size:28px;letter-spacing:0;line-height:1.1;margin-top:8px}.admin-performance-select{background:#ffffffd1;border:none;border-radius:16px;box-shadow:inset 0 0 0 1px #11182714;color:#172033;font-size:13px;font-weight:850;margin-top:14px;min-height:46px;outline:none;padding:0 13px;width:100%}.admin-performance-select:focus{box-shadow:0 0 0 4px #2166471f,inset 0 0 0 1px #2166474d}.admin-performance-summary p{color:#11182799;font-size:13px;font-weight:800;line-height:1.55;margin-top:10px}.admin-performance-ring{background:conic-gradient(#22c55e var(--progress),#11182714 0),#ffffffb8;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffffb3,0 20px 42px #22c55e2e;display:grid;height:174px;margin:8px auto;place-items:center;position:relative;width:174px}.admin-performance-ring:before{background:#ffffffeb;border-radius:999px;box-shadow:inset 0 0 0 1px #1118270f;content:"";inset:15px;position:absolute}.admin-performance-ring div{position:relative;text-align:center;z-index:1}.admin-performance-ring span,.admin-performance-ring strong{display:block}.admin-performance-ring strong{color:#216647;font-size:38px;letter-spacing:0;line-height:.95}.admin-performance-ring span{color:#11182785;font-size:11px;font-weight:950;letter-spacing:.08em;margin-top:6px;text-transform:uppercase}.admin-performance-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.admin-performance-kpis div{background:#2166471a;border-radius:20px;padding:14px}.admin-performance-kpis small,.admin-performance-kpis strong{display:block}.admin-performance-kpis strong{color:#216647;font-size:28px;line-height:1}.admin-performance-kpis small{color:#1118278f;font-size:11px;font-weight:900;margin-top:6px}.admin-performance-chart{grid-gap:12px;background:linear-gradient(135deg,#ffffffd6,#fffbeb85),#ffffffbd;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-performance-row{background:radial-gradient(190px 160px at 100% 0,#f59e0b26,#0000 62%),#ffffffc7;border:1px solid #1118270f;border-radius:26px;box-shadow:0 12px 28px #1118270f;display:flex;flex-direction:column;gap:14px;min-height:220px;overflow:hidden;padding:16px;position:relative}.admin-performance-row.achieved{background:radial-gradient(220px 170px at 100% 0,#22c55e33,#0000 62%),#f0fdf4d6;border-color:#22c55e33}.admin-performance-row-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.admin-performance-row-head strong{color:#172033;display:block;font-size:18px}.admin-performance-row-head em{background:#11182712;border-radius:999px;color:#11182794;flex-shrink:0;font-size:11px;font-style:normal;font-weight:950;padding:7px 10px}.admin-performance-row-head em.ok{background:#22c55e29;color:#15803d}.admin-performance-row-head em.watch{background:#f59e0b29;color:#9a5412}.admin-performance-visual{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:82px minmax(0,1fr)}.admin-performance-score{background:#172033;border-radius:24px;box-shadow:0 18px 34px #17203329;color:#fff;display:grid;height:82px;place-items:center;text-align:center;width:82px}.admin-performance-score span,.admin-performance-score strong{display:block}.admin-performance-score strong{font-size:30px;letter-spacing:0;line-height:.9}.admin-performance-score span{color:#ffffffa3;font-size:10px;font-weight:900;letter-spacing:.08em;margin-top:5px;text-transform:uppercase}.admin-performance-mini-chart{grid-gap:12px;align-items:end;background:linear-gradient(rgba(17,24,39,.055) 1px,#0000 0),rgba(17,24,39,.035);background-size:100% 25%;border-radius:22px;display:grid;gap:12px;grid-template-columns:1fr 1fr;min-height:88px;padding:12px 12px 0;position:relative}.admin-performance-mini-chart i{align-self:end;border-radius:14px 14px 4px 4px;display:block;min-height:8px}.admin-performance-mini-chart .baseline{background:linear-gradient(180deg,#cbd5e1,#94a3b8);height:var(--baseline)}.admin-performance-mini-chart .current{background:linear-gradient(180deg,#fbbf24,#d97706);height:var(--current)}.admin-performance-mini-chart .current.achieved{background:linear-gradient(180deg,#4ade80,#16a34a)}.admin-performance-mini-chart span{background:#1118271f;border-radius:999px;bottom:0;height:2px;left:12px;position:absolute;right:12px}.admin-performance-bars{grid-gap:9px;display:grid;gap:9px}.admin-performance-barline{grid-gap:9px;align-items:center;display:grid;gap:9px;grid-template-columns:78px minmax(0,1fr) 28px}.admin-performance-barline b,.admin-performance-barline small{color:#11182794;font-size:11px;font-weight:900}.admin-performance-barline div{background:#11182714;border-radius:999px;height:10px;overflow:hidden}.admin-performance-barline i{border-radius:999px;display:block;height:100%;min-width:2px}.admin-performance-barline i.baseline{background:#94a3b8;width:var(--baseline)}.admin-performance-barline i.current{background:#f59e0b;width:var(--current)}.admin-performance-barline i.current.achieved{background:#22c55e}.admin-performance-row footer{border-top:1px solid #1118270f;color:#11182794;display:flex;font-size:12px;font-weight:900;gap:10px;justify-content:space-between;padding-top:10px}.admin-performance-row footer strong.up{color:#15803d}.admin-performance-row footer strong.down{color:#b91c1c}.admin-editor-grid .admin-field{background:#ffffff9e;box-shadow:none}.admin-active-toggle{align-items:center;background:#ffffff9e;border:1px solid #0000000f;border:1px solid var(--line);border-radius:24px;color:#111827c2;display:flex;font-size:13px;font-weight:800;gap:10px;min-height:74px;padding:14px}.admin-active-toggle input{accent-color:#2b7a5b;height:18px;width:18px}.admin-editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.admin-editor-reset,.admin-editor-save{border:none;border-radius:16px;cursor:pointer;font-weight:900;padding:12px 16px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-editor-save{background:linear-gradient(135deg,#216647,#2f8c5b);box-shadow:0 14px 26px #2166472e;color:#fff}.admin-editor-reset{background:#11182714;color:#111827d1}.admin-editor-reset:hover,.admin-editor-save:hover{transform:translateY(-1px)}.admin-editor-save:disabled{cursor:not-allowed;opacity:.58;transform:none}.admin-view-meta{color:#111827a6;font-size:13px;font-weight:700;margin-top:8px}.admin-school-groups{display:flex;flex-direction:column;gap:12px}.admin-school-card{backdrop-filter:blur(14px);backdrop-filter:var(--glass);-webkit-backdrop-filter:blur(14px);-webkit-backdrop-filter:var(--glass);background:#ffffffc7;background:var(--card);border:1px solid #0000000f;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 26px #00000014;box-shadow:var(--shadowSoft);padding:16px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-school-card:hover{box-shadow:0 18px 44px #0000001a;box-shadow:var(--shadow);transform:translateY(-3px)}.admin-school-card.pending{border:1px solid #f59e0b59;box-shadow:0 10px 26px #f59e0b1a}.admin-school-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.admin-school-head h4{font-size:16px;font-weight:800;letter-spacing:-.2px}.admin-school-head span{background:#22c55e1f;border:1px solid #22c55e29;border-radius:999px;color:#15803de6;font-size:12px;font-weight:700;padding:8px 10px;white-space:nowrap}.admin-school-title-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-pending-badge{background:#f59e0b24;border:1px solid #f59e0b33;border-radius:999px;color:#b45309f2;font-size:12px;font-weight:700;padding:8px 10px}.admin-schedule-list{display:flex;flex-direction:column;gap:10px}.admin-schedule-item{background:#1118270d;border:1px solid #0000000a;border-radius:20px;display:flex;gap:12px;padding:12px}.admin-schedule-time{color:#111827d6;font-size:13px;font-weight:800;line-height:1.5;min-width:160px}.admin-schedule-main{flex:1 1;min-width:0}.admin-schedule-subject{font-size:14px;font-weight:800;line-height:1.5}.admin-schedule-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.admin-schedule-meta span{align-items:center;background:#ffffffb3;border:1px solid #0000000a;border-radius:999px;color:#111827ad;display:inline-flex;font-size:12px;font-weight:600;gap:6px;line-height:1.4;padding:7px 10px}.admin-calendar-board{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:radial-gradient(760px 360px at 8% -6%,#2166471f,#0000 62%),radial-gradient(720px 320px at 96% 0,#f59e0b1a,#0000 64%),#fffc;border:1px solid #11182712;border-radius:32px;box-shadow:0 24px 60px #11182714;padding:18px}.admin-calendar-toolbar{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.admin-calendar-toolbar span{color:#11182780;display:block;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.admin-calendar-toolbar h3{color:#172033;font-size:clamp(1.7rem,4vw,2.8rem);letter-spacing:-.06em;line-height:1;margin-top:4px}.admin-calendar-toolbar p{color:#1118278f;font-size:13px;font-weight:800;margin-top:8px}.admin-calendar-actions{display:flex;gap:8px}.admin-calendar-actions button{background:#11182714;border:none;border-radius:999px;color:#172033;cursor:pointer;font-weight:900;height:42px;min-width:44px;padding:0 14px;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-calendar-actions button:hover{background:#21664724;transform:translateY(-2px)}.admin-calendar-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 360px}.admin-calendar-main,.admin-calendar-panel{background:#ffffffb8;border:1px solid #1118270f;border-radius:28px;box-shadow:0 14px 36px #1118270f;overflow:hidden}.admin-calendar-weekdays{background:linear-gradient(135deg,#213044,#2e674c);color:#fff;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.admin-calendar-weekdays div{font-size:12px;font-weight:900;padding:14px 10px;text-align:center}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.admin-calendar-day{background:#ffffff8a;border:1px solid #1118270f;border-left:none;border-top:none;cursor:pointer;min-height:132px;padding:10px;text-align:left;transition:all .28s cubic-bezier(.4,0,.2,1);transition:var(--t)}.admin-calendar-day:nth-child(7n){border-right:none}.admin-calendar-day:hover{background:#f0fdf4e6}.admin-calendar-day.muted{background:#ffffff4d;color:#11182757}.admin-calendar-day.selected{background:linear-gradient(180deg,#dcfce7f5,#fffbebc7);box-shadow:inset 0 0 0 2px #2166476b}.admin-calendar-day.today .admin-day-number{background:#216647;color:#fff}.admin-day-number{border-radius:999px;color:#172033;display:grid;font-size:13px;font-weight:1000;height:32px;place-items:center;width:32px}.admin-day-events{display:flex;flex-direction:column;gap:5px;margin-top:8px}.admin-event-chip,.admin-event-more,.admin-event-type{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;max-width:100%;min-width:0;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.admin-event-chip.ivc,.admin-event-type.ivc{background:#21664724;color:#216647}.admin-event-chip.play,.admin-event-type.play{background:#f59e0b29;color:#9a5412}.admin-event-chip.workshop,.admin-event-type.workshop{background:#3b82f624;color:#1d4ed8}.admin-event-chip.quiz,.admin-event-type.quiz{background:#8b5cf624;color:#6d28d9}.admin-event-chip.seminar,.admin-event-type.seminar{background:#ec489924;color:#be185d}.admin-event-more{background:#11182714;color:#1118279e}.admin-calendar-panel{max-height:760px;overflow:auto;padding:16px}.admin-calendar-panel-head{background:linear-gradient(135deg,#213044,#216647);border-radius:24px;color:#fff;padding:16px}.admin-calendar-panel-head span{color:#ffffffb3;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.admin-calendar-panel-head h3{font-size:20px;line-height:1.25;margin-top:8px}.admin-calendar-panel-head p{color:#ffffffbd;font-size:12px;font-weight:800;margin-top:6px}.admin-calendar-empty{background:#1118270d;border-radius:22px;margin-top:12px;padding:18px}.admin-calendar-empty strong{display:block;font-size:15px;font-weight:900}.admin-calendar-empty p{color:#11182794;font-size:12px;font-weight:800;margin-top:6px}.admin-calendar-event-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.admin-calendar-event-card{background:#ffffffc7;border:1px solid #1118270f;border-radius:22px;box-shadow:0 10px 24px #1118270f;display:flex;gap:12px;padding:12px}.admin-calendar-event-time{background:#2166471a;border-radius:18px;color:#216647;min-width:76px;padding:10px}.admin-calendar-event-time span,.admin-calendar-event-time strong{display:block}.admin-calendar-event-time strong{font-size:14px;font-weight:1000}.admin-calendar-event-time span{color:#216647b8;font-size:11px;font-weight:800;margin-top:4px}.admin-calendar-event-body{flex:1 1;min-width:0}.admin-calendar-event-title{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.admin-calendar-event-title h4{color:#172033;font-size:15px;line-height:1.35}.admin-calendar-event-body p{color:#1118279e;font-size:12px;font-weight:800;line-height:1.45;margin-top:5px}.admin-calendar-status-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-calendar-row-actions{margin-top:10px}.admin-table-card{overflow:hidden;padding:0}.admin-table-wrap{overflow-x:auto;scrollbar-color:#9a5d145c #1118270d;scrollbar-width:thin;width:100%}.admin-table{border-collapse:initial;border-spacing:0;min-width:860px;width:100%}.admin-table thead{background:#fffffff0;box-shadow:0 1px 0 #1118270f;position:-webkit-sticky;position:sticky;top:0;z-index:2}.admin-table th{color:#1118278f;font-size:11px;font-weight:1000;padding:15px 16px;text-align:left;white-space:nowrap}.admin-table td{background:#ffffff57;border-top:1px solid rgba(17,24,39,.055);color:#111827d1;font-size:13px;font-weight:750;line-height:1.45;padding:15px 16px;vertical-align:middle}.admin-table tbody tr{transition:background .2s ease,transform .2s ease}.admin-table tbody tr:hover{background:#ffffffbd}.admin-table tbody tr:hover td{background:#ffffffad}.admin-table tbody tr td:first-child,.admin-table thead tr th:first-child{padding-left:20px}.admin-table tbody tr td:last-child,.admin-table thead tr th:last-child{padding-right:20px}.admin-attendance-matrix{min-width:1120px}.admin-attendance-matrix td:nth-child(n+5),.admin-attendance-matrix th:nth-child(n+5){text-align:center}.admin-attendance-cell{align-items:center;border:1px solid #0000;border-radius:18px;display:inline-flex;flex-direction:column;gap:2px;justify-content:center;line-height:1.1;min-width:86px;padding:9px 10px}.admin-attendance-cell strong{font-size:16px;font-weight:1000;letter-spacing:-.03em}.admin-attendance-cell small{font-size:10px;font-weight:900;letter-spacing:.02em;opacity:.78;text-transform:uppercase}.admin-attendance-cell.good{background:#22c55e24;border-color:#22c55e38;color:#166534}.admin-attendance-cell.warn{background:#f59e0b29;border-color:#f59e0b3d;color:#9a5412}.admin-attendance-cell.bad{background:#ef444421;border-color:#ef444433;color:#b42318}.admin-attendance-cell.empty{background:#1118270d;color:#11182757;min-width:48px}.admin-today-card{background:linear-gradient(135deg,#ffffffdb,#f0fdf4b8),#ffffffc7;background:linear-gradient(135deg,#ffffffdb,#f0fdf4b8),var(--card)}.admin-month-groups{grid-gap:18px;display:grid;gap:18px}.admin-month-section{grid-gap:10px;display:grid;gap:10px}.admin-month-divider{align-items:center;background:linear-gradient(135deg,#111827eb,#285f49e6);border-radius:20px;box-shadow:0 14px 30px #1118271f;color:#fffaf4;display:flex;gap:12px;justify-content:space-between;padding:12px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.admin-month-divider span{font-size:15px;font-weight:900;text-transform:capitalize}.admin-month-divider strong{background:#ffffff24;border-radius:999px;font-size:12px;font-weight:850;padding:7px 10px;white-space:nowrap}.admin-today-table{min-width:1280px}.admin-time-strong{color:#111827e0;display:block;font-size:13px;font-weight:900;white-space:nowrap}.admin-table-subtext,.admin-time-muted{color:#11182785;display:block;font-size:11px;font-weight:700;line-height:1.45;margin-top:4px}.admin-source-badge{background:#11182712;border-radius:999px;color:#11182794;display:inline-flex;font-size:11px;font-weight:800;margin-top:8px;padding:6px 8px}.admin-row-actions{display:flex;gap:8px;white-space:nowrap}.admin-row-actions button{background:#3b82f61f;border:none;border-radius:14px;color:#1d4ed8;cursor:pointer;font-weight:950;padding:9px 12px;transition:transform .2s ease,background .2s ease}.admin-row-actions button.danger{background:#ef44441f;color:#b91c1c}.admin-row-actions button:disabled{cursor:not-allowed;opacity:.42}.admin-row-actions button:not(:disabled):hover{background:#3b82f62b;transform:translateY(-1px)}.admin-no-data{background:linear-gradient(135deg,#ffffffb8,#fafaf975)!important;color:#11182799;color:var(--muted);font-weight:850;padding:32px 16px!important;text-align:center}.admin-status{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11px;font-weight:950;justify-content:center;padding:7px 10px;white-space:nowrap}.admin-status.good{background:#22c55e24;border-color:#22c55e38;color:#15803deb}.admin-status.warn{background:#f59e0b29;border-color:#f59e0b3d;color:#b45309eb}.admin-status.bad{background:#ef444424;border-color:#ef444438;color:#b91c1cf0}.admin-critical-list{display:flex;flex-direction:column;gap:10px}.admin-critical-item{align-items:center;background:#1118270d;border:1px solid #0000000a;border-radius:20px;display:flex;gap:12px;justify-content:space-between;padding:14px}.admin-critical-name{font-size:14px;font-weight:800;line-height:1.5}.admin-critical-meta{color:#11182799;color:var(--muted);font-size:12px;font-weight:600;line-height:1.5;margin-top:4px}.admin-critical-right{flex-shrink:0;text-align:right}.admin-critical-percent{color:#ef4444;color:var(--red);font-size:18px;font-weight:800}.admin-critical-status{color:#b91c1ce0;font-size:12px;font-weight:700;margin-top:4px}@media (max-width:1024px){.admin-filters-guided{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-session-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-calendar-layout{grid-template-columns:1fr}.admin-calendar-panel{max-height:none}.admin-performance-board{grid-template-columns:1fr}}@media (max-width:820px){.admin-filters{grid-template-columns:1fr}.admin-section-actions{justify-content:flex-start;width:100%}.admin-schedule-filterbar{grid-template-columns:1fr}.admin-reflection-filterbar,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-feedback-list,.admin-feedback-summary,.admin-reflection-charts{grid-template-columns:1fr}.admin-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-performance-chart{grid-template-columns:1fr}.admin-school-head{align-items:flex-start}.admin-schedule-item,.admin-school-head{flex-direction:column}.admin-schedule-time{min-width:0}.admin-view-toggle{justify-content:space-between;width:100%}.admin-view-toggle-btn{flex:1 1}.admin-calendar-board{border-radius:26px;padding:14px}.admin-calendar-toolbar{flex-direction:column}.admin-calendar-actions{width:100%}.admin-calendar-actions button{flex:1 1}.admin-calendar-main{overflow-x:auto}.admin-calendar-grid,.admin-calendar-weekdays{min-width:720px}}@media (max-width:560px){.admin-attendance-legend{align-items:stretch}.admin-attendance-legend small,.admin-attendance-legend span{margin-left:0;width:100%}.admin-topbar{padding:12px}.admin-content{padding:14px 12px 28px}.admin-section-head{align-items:flex-start;flex-direction:column}.admin-export-btn{width:100%}.admin-editor-grid,.admin-performance-kpis,.admin-session-subject-grid,.admin-stats{grid-template-columns:1fr}.admin-editor-actions,.admin-editor-reset,.admin-editor-save{width:100%}.admin-critical-item{align-items:flex-start}.admin-critical-item,.admin-feedback-head{flex-direction:column}.admin-reflection-grid,.admin-reflection-notes{grid-template-columns:1fr}.admin-critical-right{text-align:left}.admin-hero-title{font-size:22px}.admin-topbar-right{gap:8px}.admin-logout{font-size:12px;padding:10px}.admin-view-toggle{border-radius:22px;flex-direction:column}.admin-reflection-filterbar{grid-template-columns:1fr}.admin-view-toggle-btn{width:100%}.admin-calendar-board{border-radius:22px;padding:10px}.admin-calendar-main{border-radius:20px;overflow:hidden}.admin-calendar-grid,.admin-calendar-weekdays{min-width:0;width:100%}.admin-calendar-weekdays div{font-size:10px;padding:10px 0}.admin-calendar-day{align-items:center;aspect-ratio:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:5px;position:relative;text-align:center}.admin-day-number{font-size:12px;height:26px;width:26px}.admin-day-events{align-items:center;display:flex;flex-direction:row;gap:3px;justify-content:center;margin-top:auto;min-height:14px;width:100%}.admin-event-chip{border-radius:999px;color:#0000!important;font-size:0;height:5px;max-width:5px;min-width:5px;padding:0;width:5px}.admin-event-more{font-size:9px;height:14px;justify-content:center;line-height:14px;min-width:18px;padding:0 4px}.admin-calendar-event-card{flex-direction:column}.admin-calendar-event-time{min-width:0}.admin-calendar-event-title{flex-direction:column}}.app-shell .admin-screen{background:radial-gradient(900px 480px at 8% -10%,#f59e0b2e,#0000 58%),radial-gradient(820px 500px at 96% 0,#21664726,#0000 58%),radial-gradient(720px 440px at 54% 96%,#3b82f617,#0000 60%),linear-gradient(145deg,#fffdf8,#f6faf3 48%,#f8fbff);overflow:hidden;position:relative}.app-shell .admin-screen:before{background-image:linear-gradient(rgba(17,24,39,.035) 1px,#0000 0),linear-gradient(90deg,rgba(17,24,39,.035) 1px,#0000 0);background-size:46px 46px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#00000094,#0000 70%);mask-image:linear-gradient(180deg,#00000094,#0000 70%);pointer-events:none;position:absolute}.app-shell .admin-content{max-width:1220px;padding:28px 22px 42px;position:relative;z-index:1}.admin-hero{margin-top:2px}.admin-hero-card{align-items:flex-end;background:radial-gradient(620px 300px at 12% 0,#f59e0b70,#0000 58%),radial-gradient(520px 280px at 92% 8%,#22c55e57,#0000 62%),linear-gradient(135deg,#172033,#216647 52%,#9a5d14);border:1px solid #ffffff47;border-radius:38px;box-shadow:0 30px 78px #9a5d1438;color:#fffaf4;display:flex;min-height:238px;overflow:hidden;padding:30px;position:relative}.admin-hero-card:after,.admin-hero-card:before{border-radius:999px;content:"";pointer-events:none;position:absolute}.admin-hero-card:before{background:#ffffff21;height:300px;right:-112px;top:-112px;width:300px}.admin-hero-card:after{background:#facc1529;bottom:-92px;height:180px;right:220px;width:180px}.admin-hero-text{position:relative;z-index:1}.admin-hero-kicker{align-items:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:999px;color:#ffffffc7;display:inline-flex;font-weight:900;letter-spacing:.08em;padding:8px 12px;text-transform:uppercase}.admin-hero-title{font-size:clamp(2.5rem,6vw,4.6rem);font-weight:1000;letter-spacing:-.07em;line-height:.94;margin-top:14px}.admin-hero-desc{color:#ffffffc2;font-size:15px;line-height:1.7;margin-top:16px;max-width:680px}.admin-pillrow{margin-top:22px}.admin-pill{background:#ffffff21;border-color:#ffffff29;box-shadow:inset 0 1px 0 #ffffff1f;color:#ffffffe6;font-weight:900}.admin-section{margin-top:24px}.admin-section-head h3{font-size:24px;font-weight:1000;letter-spacing:-.05em}.admin-view-meta{color:#11182794;font-weight:800}.admin-subpill{background:#9a5d141a;border-color:#9a5d1429;color:#9a5412;font-weight:900}.admin-filters{align-items:stretch}.admin-field{background:#ffffffd1;border-color:#1118270f;border-radius:28px;box-shadow:0 16px 38px #11182712;overflow:hidden;position:relative}.admin-field label{font-weight:950;letter-spacing:.08em;text-transform:uppercase}.admin-field input,.admin-field select{background:#ffffffe6;border-radius:18px;font-weight:800}.admin-session-subject-grid{gap:16px}.admin-session-subject-card{border-color:rgba(17,24,39,.055);border-radius:34px;box-shadow:0 18px 46px #11182714;min-height:260px;padding:24px}.admin-session-subject-card span{background:#ffffffad;color:currentColor;font-size:12px;position:relative;z-index:1}.admin-session-subject-card strong{font-size:clamp(3rem,6vw,4.6rem);margin-top:22px}.admin-session-subject-card p{font-size:13px}.admin-absent-list{background:#ffffffad;max-height:190px;overflow:auto}.admin-calendar-board,.admin-card,.admin-feedback-card,.admin-feedback-mini,.admin-schedule-editor,.admin-school-card,.admin-table-card{border-color:#1118270f;box-shadow:0 18px 46px #11182714}.admin-card,.admin-feedback-card,.admin-feedback-mini,.admin-school-card{background:#ffffffd1}.admin-empty-emoji{background:#9a5d141a;border-radius:22px;color:#9a5412;display:grid;height:62px;margin:0 auto;opacity:1;place-items:center;position:relative;width:62px}.admin-empty-calendar span,.admin-empty-calendar span:after,.admin-empty-calendar span:before{box-sizing:border-box;content:"";display:block;position:absolute}.admin-empty-calendar span{inset:0}.admin-empty-calendar span:before{border:2px solid;border-radius:7px;height:26px;left:18px;top:18px;width:26px}.admin-empty-calendar span:after{background:currentColor;box-shadow:0 7px 0 currentColor;height:2px;left:24px;top:29px;width:15px}.admin-critical-percent,.admin-nav-icon{font-size:12px;font-weight:1000;letter-spacing:.04em}.admin-appicon{background:#9a5d141a;color:#9a5412;display:grid;place-items:center;position:relative}.admin-appicon span,.admin-appicon span:after,.admin-appicon span:before{box-sizing:border-box;content:"";display:block;position:absolute}.admin-appicon span:before{border:2px solid;border-radius:6px;height:18px;left:11px;top:14px;width:22px}.admin-appicon span:after{background:currentColor;box-shadow:0 6px 0 currentColor;height:2px;left:15px;top:20px;width:14px}.admin-view-toggle{background:#ffffffd1;box-shadow:0 14px 34px #11182714}.admin-table th{font-weight:950;letter-spacing:.08em;text-transform:uppercase}.admin-event-chip,.admin-event-more,.admin-event-type,.admin-status{font-weight:950}.admin-schedule-meta span{font-weight:850}@media (max-width:820px){.app-shell .admin-content{padding:16px 14px 32px}.admin-hero-card{border-radius:32px;min-height:auto;padding:24px}.admin-hero-title{font-size:clamp(2.35rem,13vw,4rem)}.admin-hero-desc{font-size:14px}}@media (max-width:560px){.app-shell .admin-content{padding:10px 10px 92px}.app-shell .admin-screen{background:#f7faf7}.admin-feedback-mini:after,.admin-hero-card:after,.admin-hero-card:before,.admin-session-subject-card:after,.app-shell .admin-screen:before{display:none}.admin-hero{margin-top:0}.admin-hero-card{background:#ffffffe6;border-color:#11182714;border-radius:20px;box-shadow:0 10px 24px #1118270f;min-height:auto;padding:18px}.admin-hero-kicker{font-size:11px}.admin-hero-title{font-size:34px;letter-spacing:-.05em;line-height:1;margin-top:8px}.admin-hero-desc{font-size:13px;margin-top:10px}.admin-pillrow{gap:7px;margin-top:12px}.admin-pill{font-size:11px;padding:7px 9px}.admin-section{margin-top:12px}.admin-section-head{margin-bottom:8px}.admin-section-head h3{font-size:18px}.admin-filters,.admin-filters-guided,.admin-reflection-filterbar,.admin-schedule-filterbar{gap:8px}.admin-field{border-radius:16px;padding:12px}.admin-field input,.admin-field select{border-radius:14px;height:42px}.admin-calendar-board,.admin-card,.admin-feedback-card,.admin-feedback-mini,.admin-performance-chart,.admin-performance-panel,.admin-performance-row,.admin-schedule-editor,.admin-school-card,.admin-session-subject-card,.admin-stat,.admin-table-card{border-radius:18px;box-shadow:0 10px 22px #1118270d;padding:14px}.admin-stat-value{font-size:28px}.admin-session-subject-card strong{font-size:34px}.admin-layout-toggle,.admin-timeline-toggle,.admin-view-toggle{gap:6px}.admin-view-toggle-btn{font-size:11px;min-height:38px;padding:0 10px}.admin-table-wrap{border-radius:16px}.admin-stat.blue .admin-stat-value{color:#3b82f6;color:var(--blue)}.admin-stat.green .admin-stat-value{color:#16a34a;color:var(--greenDeep)}.admin-stat.yellow .admin-stat-value{color:#b45309}.admin-stat.red .admin-stat-value{color:#ef4444;color:var(--red)}.admin-stat.purple .admin-stat-value{color:#6d28d9}.admin-stat.teal .admin-stat-value{color:#0f766e}.admin-session-subject-card.good{background:linear-gradient(135deg,#dcfce7eb,#ffffffe0);border-color:#22c55e38;color:#166534}.admin-session-subject-card.warn{background:linear-gradient(135deg,#fef3c7f0,#ffffffe0);border-color:#f59e0b3d;color:#9a5412}.admin-session-subject-card.bad{background:linear-gradient(135deg,#fee2e2f0,#ffffffe0);border-color:#ef444433;color:#b42318}.admin-feedback-meta span.is-good,.admin-feedback-status.submitted{background:#14b8a624;border-color:#14b8a633;color:#0f766e}.admin-feedback-meta span.is-warn,.admin-feedback-status.draft{background:#f59e0b29;border-color:#f59e0b3d;color:#b45309}.admin-feedback-status.reviewed,.admin-view-toggle-btn.active.all{background:#3b82f624;color:#1d4ed8}.admin-view-toggle-btn.active.pending{background:#f59e0b29;color:#b45309}.admin-view-toggle-btn.active.upcoming{background:#22c55e24;color:#15803d}.admin-attendance-cell.good{background:#22c55e24;border-color:#22c55e38;color:#166534}.admin-attendance-cell.warn{background:#f59e0b29;border-color:#f59e0b3d;color:#9a5412}.admin-attendance-cell.bad{background:#ef444421;border-color:#ef444433;color:#b42318}}.app-shell .admin-content{max-width:1160px;padding:24px 22px 38px}.admin-hero-card{border-radius:30px;min-height:220px;padding:26px}.admin-hero-title{font-size:clamp(2.2rem,5.4vw,4rem);letter-spacing:-.06em}.admin-hero-desc{font-size:14px;max-width:600px}.admin-calendar-board,.admin-card,.admin-feedback-card,.admin-feedback-mini,.admin-performance-chart,.admin-performance-panel,.admin-performance-row,.admin-schedule-editor,.admin-school-card,.admin-session-subject-card,.admin-stat,.admin-table-card{border-radius:22px;box-shadow:0 14px 34px #11182712}@media (max-width:560px){.app-shell .admin-content{padding:10px 10px 86px}.admin-hero-card{border-radius:20px;min-height:auto;padding:16px}.admin-hero-title{font-size:31px;line-height:1.02}.admin-calendar-board,.admin-card,.admin-feedback-card,.admin-feedback-mini,.admin-performance-chart,.admin-performance-panel,.admin-performance-row,.admin-schedule-editor,.admin-school-card,.admin-session-subject-card,.admin-stat,.admin-table-card{border-radius:17px;box-shadow:0 8px 18px rgba(17,24,39,.055);padding:13px}.admin-section-head h3{font-size:17px}}.app-shell .admin-content{max-width:1120px}.admin-hero-card{min-height:186px;padding:24px}.admin-hero-title{max-width:760px}.admin-hero-desc{max-width:560px}.admin-pillrow{gap:7px;margin-top:16px}.admin-pill{font-size:11px;padding:7px 10px}.admin-filter-section{margin-top:16px}.admin-filters-guided{gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-field{border-radius:20px;padding:12px}.admin-field label{font-size:10px;margin-bottom:6px}.admin-field input,.admin-field select{border-radius:14px;font-size:13px;height:42px}.admin-session-subject-grid{gap:12px}.admin-session-subject-card{border-radius:24px;min-height:210px;padding:18px}.admin-session-subject-card strong{font-size:clamp(2.35rem,4.5vw,3.7rem);margin-top:14px}.admin-absent-list{max-height:150px}.admin-reflection-filterbar,.admin-schedule-filterbar{border-radius:20px;gap:8px;padding:10px}.admin-schedule-filter select,.admin-schedule-filter-reset,.admin-schedule-search input{border-radius:13px;font-size:12px;min-height:40px}.admin-schedule-editor{border-radius:22px;padding:14px}.admin-editor-grid{gap:10px}.admin-calendar-board{border-radius:24px;padding:14px}.admin-calendar-toolbar{margin-bottom:12px}.admin-calendar-toolbar h3{font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.04em}.admin-calendar-layout{gap:12px;grid-template-columns:minmax(0,1fr) 320px}.admin-calendar-day{min-height:112px;padding:8px}.admin-calendar-panel{border-radius:22px;padding:12px}.admin-calendar-panel-head{border-radius:18px;padding:14px}.admin-calendar-event-card{border-radius:18px}.admin-feedback-list,.admin-feedback-summary,.admin-reflection-charts{gap:12px}.admin-feedback-card{padding:16px}.admin-reflection-grid,.admin-reflection-notes{gap:10px}@media (max-width:1024px){.admin-calendar-layout{grid-template-columns:1fr}}@media (max-width:820px){.admin-hero-card{min-height:auto}.admin-reflection-filterbar,.admin-schedule-filterbar{grid-template-columns:1fr 1fr}.admin-schedule-filter-reset,.admin-schedule-search{grid-column:1/-1}}@media (max-width:560px){.app-shell .admin-content{padding:8px 8px 84px}.admin-hero-card{background:#fffffff0;border-radius:18px;color:#173b2d;padding:14px}.admin-hero-kicker{background:#21664714;border-color:#2166471a;color:#173b2d9e;font-size:10px;padding:6px 9px}.admin-hero-title{color:#173b2d;font-size:28px;letter-spacing:-.04em;margin-top:8px}.admin-hero-desc{color:#173b2da8;font-size:12px;line-height:1.45;margin-top:8px}.admin-pillrow{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.admin-pill{background:#21664714;border-color:#2166471a;border-radius:12px;color:#285f49;justify-content:center;line-height:1.25;padding:7px 8px;text-align:center;white-space:normal}.admin-section{margin-top:10px}.admin-section-head{gap:6px}.admin-view-meta{font-size:12px;line-height:1.4}.admin-filters-guided,.admin-reflection-filterbar,.admin-schedule-filterbar{grid-template-columns:1fr}.admin-field{border-radius:15px;padding:10px}.admin-field input,.admin-field select{font-size:12px;height:40px}.admin-attendance-legend{gap:6px;margin-bottom:10px}.admin-attendance-legend small,.admin-attendance-legend span{border-radius:12px;font-size:11px;padding:7px 9px}.admin-session-subject-card{min-height:auto;padding:14px}.admin-session-subject-card strong{font-size:30px;margin-top:10px}.admin-absent-list{margin-top:10px;max-height:120px}.admin-view-toggle{border-radius:16px;flex-direction:row;justify-content:flex-start;overflow-x:auto;padding:5px}.admin-view-toggle-btn{flex:0 0 auto;min-width:-webkit-max-content;min-width:max-content;width:auto}.admin-schedule-editor{padding:12px}.admin-table{min-width:720px}.admin-table td,.admin-table th{font-size:12px;padding:11px 12px}.admin-feedback-list,.admin-feedback-summary,.admin-reflection-charts{gap:10px}.admin-feedback-card{padding:13px}.admin-reflection-score{border-radius:18px;height:72px;width:72px}}.coach-dashboard{background:radial-gradient(900px 480px at 10% -8%,#2a7a5b33,#0000 58%),radial-gradient(820px 500px at 96% 0,#f59e0b21,#0000 58%),radial-gradient(720px 440px at 54% 96%,#3b82f614,#0000 60%),linear-gradient(145deg,#fbfcf8,#f3f8f1 48%,#fff8ef);min-height:100vh;overflow:hidden;padding:28px 22px 42px;position:relative}.coach-dashboard:before{background-image:linear-gradient(rgba(24,53,45,.035) 1px,#0000 0),linear-gradient(90deg,rgba(24,53,45,.035) 1px,#0000 0);background-size:46px 46px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#00000094,#0000 70%);mask-image:linear-gradient(180deg,#00000094,#0000 70%);pointer-events:none;position:absolute}.coach-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #18352d14;border-radius:32px;box-shadow:0 18px 46px #18352d14;max-width:880px;padding:28px;position:relative;z-index:1}.coach-card+.coach-card{margin-top:18px}.coach-card.hero{background:radial-gradient(620px 300px at 12% 0,#4ade8061,#0000 58%),radial-gradient(520px 280px at 92% 8%,#facc1538,#0000 62%),linear-gradient(135deg,#172f2a,#216647 58%,#95621e);border:1px solid #ffffff47;box-shadow:0 30px 78px #21664738;color:#fffaf4;display:flex;flex-direction:column;justify-content:center;max-width:1220px;min-height:360px;overflow:hidden}.coach-card.hero:after,.coach-card.hero:before{border-radius:999px;content:"";pointer-events:none;position:absolute}.coach-card.hero:before{background:#ffffff21;height:310px;right:-116px;top:-118px;width:310px}.coach-card.hero:after{background:#facc1526;bottom:-92px;height:178px;right:232px;width:178px}.coach-card.feedback{background:radial-gradient(420px 180px at 100% 0,#2a7a5b1f,#0000 60%),#ffffffc7}.coach-card.attendance,.coach-card.feedback{align-items:center;display:flex;gap:18px;justify-content:space-between}.coach-card.attendance,.coach-card.coach-classes,.coach-card.coach-notes,.coach-card.feedback{max-width:1220px}.coach-card.attendance.good{background:linear-gradient(135deg,#22c55e29,#ffffffd1);border-color:#15803d33}.coach-card.attendance.warn{background:linear-gradient(135deg,#f59e0b2e,#ffffffd1);border-color:#b4530938}.coach-card.attendance.bad{background:linear-gradient(135deg,#ef444429,#ffffffd1);border-color:#b91c1c38}.coach-card.attendance h2{font-size:clamp(2rem,5vw,3.2rem)}.coach-card.attendance small{background:#18352d12;border-radius:999px;color:#18352d9e;flex-shrink:0;font-weight:850;padding:10px 12px}.coach-card p{color:#18352d94;font-size:12px;font-weight:900;letter-spacing:.14em;margin:0;text-transform:uppercase}.coach-card.hero p{color:#ffffffc7}.coach-card h1,.coach-card h2{color:#18352d;letter-spacing:-.05em;margin:10px 0 0}.coach-card.hero h1{color:#fffaf4;font-weight:1000}.coach-card h1{font-size:clamp(2rem,5vw,4rem);line-height:1;max-width:760px}.coach-card h2{font-size:2rem}.coach-card p+p,.coach-card span{color:#18352da8;display:block;font-size:1rem;font-weight:650;letter-spacing:0;line-height:1.7;margin-top:14px;max-width:650px;text-transform:none}.coach-card.hero>span{color:#ffffffc2}.coach-next-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffff21;border:1px solid #ffffff2e;border-radius:24px;color:#fffaf3;margin-top:24px;padding:18px;position:relative;z-index:1}.coach-next-card small,.coach-next-card span,.coach-next-card strong{display:block}.coach-next-card small{color:#fffaf3ad;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.coach-next-card strong{font-size:clamp(1.6rem,4vw,2.5rem);letter-spacing:-.06em;line-height:1.08;margin-top:8px}.coach-next-card span{color:#fffaf3c7;margin-top:10px;max-width:760px}.coach-card.feedback button{background:#2a7a5b;border:none;border-radius:999px;box-shadow:0 14px 26px #2a7a5b2e;color:#fffaf3;cursor:pointer;flex-shrink:0;font-weight:900;padding:13px 16px}.coach-card.feedback button:disabled{cursor:not-allowed;opacity:.55}.coach-section-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.coach-section-head small{background:#2a7a5b1a;border-radius:999px;color:#1f6a46;flex-shrink:0;font-size:12px;font-weight:900;padding:9px 12px}.coach-class-list{grid-gap:12px;display:grid;gap:12px}.coach-class-item{grid-gap:16px;background:#f8fafcc7;border:1px solid #18352d12;border-radius:24px;box-shadow:0 12px 30px #18352d0f;display:grid;gap:16px;grid-template-columns:140px 1fr;overflow:hidden;padding:16px;position:relative}.coach-class-item:before{background:linear-gradient(180deg,#2a7a5b,#e0a33a);border-radius:999px;bottom:16px;content:"";left:0;position:absolute;top:16px;width:5px}.coach-class-time{background:linear-gradient(180deg,#dcfce7c7,#fffbeba3);border-radius:20px;padding:14px}.coach-class-time span,.coach-class-time strong,.coach-class-title h3,.coach-class-title small,.coach-meta-row span{display:block}.coach-class-time strong{font-size:16px}.coach-class-time span{color:#18352da3;font-size:13px;font-weight:750;margin-top:6px}.coach-class-title{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.coach-class-title h3{color:#18352d;font-size:18px;letter-spacing:-.03em;margin:0}.coach-class-title small{background:#2a7a5b1a;border-radius:999px;color:#1f6a46;font-weight:900;padding:7px 10px}.coach-class-body p{color:#18352d9e;font-size:13px;font-weight:800;letter-spacing:0;margin-top:8px;text-transform:none}.coach-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.coach-meta-row span{background:#18352d0f;border-radius:999px;color:#18352db8;font-size:12px;font-weight:850;padding:8px 10px}.coach-empty-state{background:radial-gradient(360px 160px at 50% 0,#2a7a5b1f,#0000 68%),#ffffffc7;border:1px solid #18352d12;border-radius:24px;color:#18352db3;font-weight:850;padding:24px}.coach-empty-state span,.coach-empty-state strong{display:block}.coach-empty-state span{margin-top:8px}.coach-note-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.coach-note-grid article{background:#f8fafcc7;border:1px solid #18352d12;border-radius:24px;padding:18px}.coach-note-grid small{color:#1f6a46;display:block;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.coach-note-grid strong{color:#18352d;display:block;line-height:1.55;margin-top:10px}@media (max-width:900px){.coach-dashboard{min-height:calc(100vh - 80px);padding:16px 12px 24px}.coach-card{border-radius:24px;padding:22px}.coach-card.hero{min-height:auto}.coach-card.attendance,.coach-card.feedback{align-items:stretch;flex-direction:column}.coach-card.feedback button{width:100%}.coach-class-title,.coach-section-head{flex-direction:column}.coach-class-item,.coach-note-grid{grid-template-columns:1fr}}@media (max-width:560px){.coach-dashboard{background:#f7faf7;padding:10px 10px 92px}.coach-card.hero:after,.coach-card.hero:before,.coach-dashboard:before{display:none}.coach-card{border-radius:20px;box-shadow:0 10px 24px #18352d0f;padding:16px}.coach-card+.coach-card{margin-top:12px}.coach-card.hero{align-items:flex-start;background:#ffffffe6;min-height:auto;text-align:left}.coach-card.hero>span{font-size:11px;padding:7px 9px}.coach-card.hero h1{font-size:34px;letter-spacing:-.05em;line-height:1;margin-top:10px}.coach-card.hero p{font-size:13px;margin-top:10px}.coach-card h2{font-size:30px}.coach-section-head{gap:6px;margin:14px 0 8px}.coach-section-head h2{font-size:18px}.coach-class-list,.coach-note-grid{gap:10px}.coach-class-item,.coach-empty-state,.coach-note-grid article{border-radius:18px;box-shadow:0 10px 22px #18352d0d;padding:14px}.coach-class-time{align-items:center;display:flex;justify-content:space-between;text-align:left}.coach-card.attendance.good{background:linear-gradient(135deg,#22c55e29,#ffffffe6);border-color:#15803d33}.coach-card.attendance.warn{background:linear-gradient(135deg,#f59e0b2e,#ffffffe6);border-color:#b4530938}.coach-card.attendance.bad{background:linear-gradient(135deg,#ef444429,#ffffffe6);border-color:#b91c1c38}.coach-card.attendance.good h2{color:#15803d}.coach-card.attendance.warn h2{color:#b45309}.coach-card.attendance.bad h2{color:#b91c1c}}.coach-dashboard{padding:24px 22px 38px}.coach-card{border-radius:24px;box-shadow:0 14px 34px #18352d12;max-width:1160px;padding:22px}.coach-card.hero{min-height:240px}.coach-card.hero h1{font-size:clamp(2.2rem,5.4vw,4rem);letter-spacing:-.06em}@media (max-width:560px){.coach-dashboard{padding:10px 10px 86px}.coach-card{border-radius:17px;box-shadow:0 8px 18px rgba(24,53,45,.055);padding:13px}.coach-card.hero{border-radius:20px;min-height:auto;padding:16px}.coach-card.hero h1{font-size:31px;line-height:1.02}}
/*# sourceMappingURL=main.4b66f0bc.css.map*/