:root{--accent:#7c6bff;--accent-dark:#5b4fd9;--accent-lite:#a89bff;--teal:#00e5c8;--teal-dark:#00c2ac;--accent-glow:#7c6bff47;--bg:#0a0a11;--bg-2:#101018;--bg-3:#151528;--bg-4:#1b1b34;--bg-5:#21213e;--overlay:#0a0a11eb;--t1:#f2f1ff;--t2:#9898bc;--t3:#6868a0;--b1:#ffffff0e;--b2:#ffffff1a;--b3:#7c6bff6b;--g-cta:linear-gradient(135deg,#7c6bff 0%,#5b4fd9 100%);--g-text:linear-gradient(135deg,#f2f1ff 0%,#7c6bff 50%,#00e5c8 100%);--g-card:linear-gradient(145deg,#7c6bff11 0%,#00e5c806 100%);--g-hero:radial-gradient(ellipse 90% 70% at 70% 40%,#7c6bff2e 0%,#00e5c812 55%,transparent 80%);--g-mesh:radial-gradient(ellipse 60% 90% at 5% 90%,#00e5c81a 0%,transparent 70%);--sh-card:0 2px 4px #0009,0 0 0 1px #fff1;--sh-glow:0 0 48px #7c6bff4d,0 0 100px #7c6bff14;--sh-btn:0 4px 24px #7c6bff85;--f-display:var(--font-unbounded,"Unbounded",sans-serif);--f-body:var(--font-manrope,"Manrope",sans-serif);--r-xs:6px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--r-pill:999px;--ui-card-bg:var(--bg-2);--ui-card-border:1px solid var(--b1);--ui-card-radius:var(--r-xl);--ui-card-shadow:var(--sh-card);--ui-card-padding:24px;--ui-modal-bg:var(--bg-2);--ui-modal-border:1px solid var(--b2);--ui-modal-radius:var(--r-2xl);--ui-modal-shadow:var(--sh-card),0 0 60px #00000080;--ui-field-bg:var(--bg-4);--ui-field-border:1.5px solid var(--b1);--ui-field-radius:var(--r-md);--ui-field-focus-ring:0 0 0 3px #7c6bff29;--ui-btn-radius:var(--r-md);--ui-btn-font-size:14px;--ui-btn-font-weight:600;--ui-btn-padding-y:9px;--ui-btn-padding-x:20px;--ui-tab-radius:var(--r-md);--ui-tab-pill-radius:var(--r-2xl);--ui-tab-border:1.5px solid var(--b1);--ui-tab-bg:var(--bg-3);--ui-badge-radius:var(--r-sm);--ui-badge-font-size:11px;--ui-badge-font-weight:600;--ui-badge-padding-y:2px;--ui-badge-padding-x:8px;--ease:cubic-bezier(.16,1,.3,1);--tf:.15s var(--ease);--tb:.26s var(--ease);--ts:.44s var(--ease);--max-w:1140px;--max-w-wide:1340px;--pad-x:clamp(20px,5vw,72px);--pad-s:clamp(72px,11vw,130px)}[data-theme=light]{--bg:#f4f3ff;--bg-2:#fff;--bg-3:#fafaff;--bg-4:#eceaff;--bg-5:#e3e1ff;--overlay:#f4f3fff0;--t1:#0a0a14;--t2:#4a4a72;--t3:#6c6c96;--b1:#0000000e;--b2:#0000001a;--sh-card:0 2px 16px #00000012,0 0 0 1px #00000012;--g-hero:radial-gradient(ellipse 90% 70% at 70% 40%,#7c6bff1a 0%,#00e5c80a 55%,transparent 80%);--g-mesh:radial-gradient(ellipse 60% 90% at 5% 90%,#00e5c80f 0%,transparent 70%);--accent-lite:#5b4ecc}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--f-body);background:var(--bg);color:var(--t1);transition:background var(--ts),color var(--ts);line-height:1.65;overflow-x:hidden}:lang(ru){-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 3}:lang(ru) .sec-title,:lang(ru) .hero-title,:lang(ru) .cta-title,:lang(ru) .vision-title,:lang(ru) .feat-title,:lang(ru) .step-title,:lang(ru) .plan-name{-webkit-hyphens:none;hyphens:none;word-break:keep-all;overflow-wrap:normal}img,video{max-width:100%;display:block}.skip-nav{z-index:9999;background:var(--accent);color:#fff;font:700 14px/1 var(--f-body);border-radius:var(--r-md);transition:top var(--tf);padding:12px 20px;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-nav:focus{top:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mesh-bg{background:var(--g-hero),var(--g-mesh);pointer-events:none;z-index:0;contain:strict;position:fixed;inset:0}.mesh-bg:after{content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.80' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.026'/%3E%3C/svg%3E");position:absolute;inset:0}.main-nav{z-index:200;padding:0 var(--pad-x);height:68px;transition:background var(--ts),border-color var(--ts),box-shadow var(--ts);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.main-nav.scrolled{background:var(--overlay);border-bottom-color:var(--b1);-webkit-backdrop-filter:blur(28px)saturate(160%);box-shadow:0 1px 40px #00000026}.nav-logo{font-family:var(--f-display);letter-spacing:-.04em;color:var(--t1);transition:opacity var(--tf);flex-shrink:0;align-items:center;gap:10px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.nav-logo:hover{opacity:.85}.nav-logo-icon{background:var(--g-cta);width:34px;height:34px;box-shadow:var(--sh-btn);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-links{align-items:center;gap:2px;list-style:none;display:flex}.nav-link-btn{font:500 14px/1 var(--f-body);color:var(--t2);cursor:pointer;border-radius:var(--r-sm);white-space:nowrap;transition:color var(--tf),background var(--tf);background:0 0;border:none;padding:7px 12px}.nav-link-btn:hover{color:var(--t1);background:#7c6bff14}.nav-actions{align-items:center;gap:8px;display:flex}.nav-controls{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-pill);align-items:center;gap:0;padding:3px;display:flex}.ctrl-btn{border-radius:var(--r-pill);cursor:pointer;height:32px;color:var(--t2);transition:background var(--tf),color var(--tf);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ctrl-btn:hover{color:var(--t1)}.ctrl-btn.active{background:var(--bg-5);color:var(--t1)}.ctrl-icon{width:34px}.ctrl-lang{font:600 12px/1 var(--f-body);letter-spacing:.04em;padding:0 11px}.ctrl-divider{background:var(--b2);flex-shrink:0;width:1px;height:16px;margin:0 2px}.btn-ghost{font:600 14px/1 var(--f-body);color:var(--t2);border:1px solid var(--b2);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:color var(--tf),border-color var(--tf),background var(--tf);background:0 0;align-items:center;gap:6px;padding:8px 18px;text-decoration:none;display:inline-flex}.btn-ghost:hover{color:var(--t1);border-color:var(--b3);background:#7c6bff14}.btn-primary{font:600 14px/1 var(--f-body);color:#fff;background:var(--g-cta);border-radius:var(--r-pill);cursor:pointer;box-shadow:var(--sh-btn);white-space:nowrap;transition:transform var(--tb),box-shadow var(--tb);border:none;align-items:center;gap:6px;padding:9px 22px;text-decoration:none;display:inline-flex}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 32px #7c6bff9e}.btn-hero{font:700 16px/1 var(--f-body);color:#fff;background:var(--g-cta);border-radius:var(--r-pill);cursor:pointer;box-shadow:var(--sh-btn);white-space:nowrap;transition:transform var(--tb),box-shadow var(--tb);border:none;align-items:center;gap:8px;padding:16px 34px;text-decoration:none;display:inline-flex}.btn-hero:hover{transform:translateY(-2px);box-shadow:0 14px 44px #7c6bffad}.btn-outline{font:600 16px/1 var(--f-body);color:var(--t1);border:1px solid var(--b2);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:border-color var(--tf),background var(--tf);background:0 0;align-items:center;gap:8px;padding:16px 34px;text-decoration:none;display:inline-flex}.btn-outline:hover{border-color:var(--b3);background:#7c6bff14}.hamburger{border:1px solid var(--b2);cursor:pointer;background:0 0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;display:none}.hamburger span{background:var(--t1);border-radius:2px;width:18px;height:1.5px;transition:all .25s;display:block}.hamburger[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-nav{z-index:199;background:var(--bg-2);border-bottom:1px solid var(--b2);padding:16px var(--pad-x)24px;-webkit-backdrop-filter:blur(24px);flex-direction:column;gap:0;display:none;position:fixed;top:68px;left:0;right:0;box-shadow:0 20px 60px #0000004d}.mobile-nav.open{display:flex}.mobile-nav a,.mobile-nav-btn{font:500 15px/1 var(--f-body);color:var(--t2);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--b1);transition:color var(--tf);background:0 0;width:100%;padding:14px 4px;text-decoration:none}.mobile-nav a:last-of-type,.mobile-nav-btn:last-of-type{border-bottom:none}.mobile-nav a:hover,.mobile-nav-btn:hover{color:var(--t1)}.mobile-cta{text-align:center;background:var(--g-cta);border-radius:var(--r-pill);margin-top:14px;padding:14px 20px;text-decoration:none;display:block;color:#fff!important;border-bottom:none!important;font-weight:700!important}.mobile-controls{border-top:1px solid var(--b1);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding:16px 4px 4px;display:flex}.mobile-ctrl-label{color:var(--t3);font-size:13px}.mobile-ctrl-group{align-items:center;gap:6px;display:flex}.mobile-ctrl-btn{height:32px;font:600 12px/1 var(--f-body);border-radius:var(--r-pill);border:1px solid var(--b2);color:var(--t2);cursor:pointer;transition:all var(--tf);background:0 0;padding:0 14px}.mobile-ctrl-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sec-inner{max-width:var(--max-w);width:100%;margin:0 auto}.sec-inner-wide{max-width:var(--max-w-wide);width:100%;margin:0 auto}.glow-line{z-index:1;background:linear-gradient(90deg,transparent 0%,var(--accent)30%,var(--teal)70%,transparent 100%);opacity:.34;height:1px;position:relative}.sec-label{font:700 11px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:16px;display:inline-flex}.sec-label:before{content:"";background:var(--accent);width:18px;height:1px}.sec-title{font-family:var(--f-display);letter-spacing:-.04em;margin-bottom:16px;font-size:clamp(28px,4.2vw,54px);font-weight:800;line-height:1.07}.sec-sub{color:var(--t2);max-width:540px;font-size:clamp(15px,1.5vw,18px);line-height:1.75}.g-text{background:var(--g-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.reveal{opacity:0;transition:opacity .68s var(--ease),transform .68s var(--ease);transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}#hero{min-height:100svh;padding:110px var(--pad-x)80px;z-index:1;align-items:center;display:flex;position:relative;overflow:hidden}.hero-inner{max-width:var(--max-w-wide);grid-template-columns:1.05fr .95fr;align-items:center;gap:72px;width:100%;margin:0 auto;display:grid}.hero-tag{border-radius:var(--r-pill);font:600 12px/1 var(--f-body);color:var(--teal);letter-spacing:.04em;animation:fadeUp .6s var(--ease)forwards;background:#00e5c812;border:1px solid #00e5c847;align-items:center;gap:8px;margin-bottom:24px;padding:7px 14px;display:inline-flex}.tag-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.2s infinite pulse}.hero-title{font-family:var(--f-display);letter-spacing:-.045em;animation:fadeUp .65s var(--ease)80ms both;margin-bottom:24px;font-size:clamp(38px,5.5vw,74px);font-weight:900;line-height:1.02}.hero-sub{color:var(--t2);max-width:480px;animation:fadeUp .65s var(--ease).16s both;margin-bottom:14px;font-size:clamp(16px,1.8vw,20px);line-height:1.78}.hero-tagline{color:var(--t3);max-width:420px;animation:fadeUp .65s var(--ease).22s both;margin-bottom:36px;font-size:14px;line-height:1.65}.hero-actions{animation:fadeUp .65s var(--ease).28s both;flex-wrap:wrap;gap:12px;display:flex}.hero-note{color:var(--t3);animation:fadeUp .65s var(--ease).34s both;margin-top:18px;font-size:13px}.hero-card{animation:fadeRight .85s var(--ease).25s both;position:relative}.hero-card-inner{background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-2xl);box-shadow:var(--sh-card),0 40px 100px #00000080;padding:28px 26px;position:relative;overflow:hidden}.hero-card-inner:before{content:"";background:var(--g-card);pointer-events:none;position:absolute;inset:0}.card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-title{font-family:var(--f-display);letter-spacing:-.025em;font-size:13px;font-weight:700}.card-date{color:var(--t3);font-size:12px}.day-tabs{background:var(--bg-2);border-radius:var(--r-sm);gap:3px;margin-bottom:16px;padding:3px;display:flex}.day-tab{font:600 12px/1 var(--f-body);cursor:pointer;transition:all var(--tf);color:var(--t3);text-align:center;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 10px}.day-tab.active{background:var(--bg-4);color:var(--t1)}.lesson-row{background:var(--bg-2);border-radius:var(--r-md);border:1px solid var(--b1);transition:border-color var(--tf),transform var(--tb);cursor:pointer;width:100%;font-family:var(--f-body);text-align:left;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.lesson-row:hover{border-color:var(--b3);transform:translate(3px)}.lesson-row.booked{border-color:#00e5c82e}.l-time{font-family:var(--f-display);color:var(--t3);min-width:44px;font-size:11px;font-weight:700}.l-info{flex:1;min-width:0}.l-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.l-sub{color:var(--t3);font-size:11px}.l-badge{border-radius:var(--r-pill);font:700 10px/1 var(--f-body);letter-spacing:.02em;white-space:nowrap;padding:3px 9px}.l-badge.free{color:var(--teal);background:#00e5c81a;border:1px solid #00e5c833}.l-badge.full{color:var(--t3);border:1px solid var(--b1);background:#ffffff0d}.l-badge.moved{color:#ffb02e;background:#ffb02e1a;border:1px solid #ffb02e38}.float-chip{background:var(--bg-2);border:1px solid var(--b2);border-radius:var(--r-lg);box-shadow:var(--sh-card),0 8px 24px #00000040;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:150px;padding:12px 16px;position:absolute}.chip-left{animation:float 4.2s ease-in-out infinite,fadeLeft .85s var(--ease).75s both;bottom:54px;left:-56px}.chip-top{animation:float 5.1s ease-in-out 1.2s infinite reverse,fadeRight .85s var(--ease).85s both;top:16px;right:-24px}.chip-label{color:var(--t3);margin-bottom:3px;font-size:10px}.chip-val{font-family:var(--f-display);letter-spacing:-.03em;font-size:15px;font-weight:800}.chip-val-teal{color:var(--teal)}.chip-sub{color:var(--t3);margin-top:2px;font-size:10px}.manifesto-bar{z-index:1;padding:32px var(--pad-x);background:var(--bg-2);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);text-align:center;position:relative}.manifesto-bar-text{font-family:var(--f-display);letter-spacing:-.025em;color:var(--t2);max-width:800px;margin:0 auto;font-size:clamp(15px,1.8vw,20px);font-weight:600;line-height:1.65}.manifesto-bar-accent{color:var(--t1)}#problem{z-index:1;padding:var(--pad-s)var(--pad-x);position:relative}.problem-grid{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.problem-right{flex-direction:column;gap:10px;display:flex}.problem-item{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);transition:border-color var(--tb),transform var(--tb);align-items:center;gap:14px;padding:16px 20px;display:flex}.problem-item:hover{border-color:#ff5a5a47;transform:translate(4px)}.problem-ico{border-radius:var(--r-sm);color:#ff8282e6;background:#ff5a5a12;border:1px solid #ff5a5a26;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.problem-label{font:600 14px/1.3 var(--f-body);color:var(--t1);flex:1}.problem-x{color:#ff6464a6;background:#ff505012;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}#features{z-index:1;padding:var(--pad-s)var(--pad-x);background:var(--bg-2);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);position:relative}.feat-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:56px;display:grid}.feat{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-xl);contain:layout style;transition:border-color var(--tb),transform var(--tb),box-shadow var(--tb);padding:32px 30px;position:relative;overflow:hidden}.feat:after{content:"";background:var(--g-card);opacity:0;transition:opacity var(--tb);pointer-events:none;position:absolute;inset:0}.feat:hover{border-color:var(--b3);box-shadow:var(--sh-glow);transform:translateY(-5px)}.feat:hover:after{opacity:1}.feat-ico{border-radius:var(--r-md);z-index:1;width:50px;height:50px;color:var(--accent);background:#7c6bff1a;border:1px solid #7c6bff33;justify-content:center;align-items:center;margin-bottom:20px;display:flex;position:relative}.feat.teal .feat-ico{color:var(--teal);background:#00e5c814;border-color:#00e5c833}.feat-title{font-family:var(--f-display);letter-spacing:-.03em;z-index:1;margin-bottom:10px;font-size:17px;font-weight:700;position:relative}.feat-desc{color:var(--t2);z-index:1;font-size:14px;line-height:1.72;position:relative}#how{z-index:1;padding:var(--pad-s)var(--pad-x);position:relative}.steps{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;list-style:none;display:grid}.step{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-xl);transition:border-color var(--tb),transform var(--tb);padding:32px 28px;position:relative;overflow:hidden}.step:hover{border-color:var(--b3);transform:translateY(-5px)}.step-n{font-family:var(--f-display);letter-spacing:-.06em;background:var(--g-text);-webkit-text-fill-color:transparent;opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;font-size:78px;font-weight:900;line-height:1;position:absolute;top:12px;right:16px}.step-ico{border-radius:var(--r-md);width:48px;height:48px;color:var(--accent);background:#7c6bff1a;border:1px solid #7c6bff33;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.step-title{font-family:var(--f-display);letter-spacing:-.03em;margin-bottom:10px;font-size:17px;font-weight:700}.step-desc{color:var(--t2);font-size:14px;line-height:1.68}#vs{z-index:1;padding:var(--pad-s)var(--pad-x);background:var(--bg-2);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);position:relative}.vs-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.vs-col{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-xl);flex-direction:column;gap:13px;padding:34px 30px;display:flex}.vs-col.vs-good{border-color:#7c6bff52}.vs-col-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.vs-col-ico{border-radius:var(--r-md);background:var(--bg-4);border:1px solid var(--b1);width:42px;height:42px;color:var(--t2);justify-content:center;align-items:center;display:flex}.vs-col.vs-good .vs-col-ico{color:var(--accent)}.vs-col-title{font-family:var(--f-display);letter-spacing:-.04em;color:var(--t1);font-size:20px;font-weight:800}.vs-badge{border-radius:var(--r-pill);font:700 11px/1 var(--f-body);letter-spacing:.04em;text-transform:uppercase;padding:4px 12px}.vs-badge-bad{color:#ff8282e6;background:#ff505014;border:1px solid #ff505033}.vs-badge-good{color:var(--accent-lite);background:#7c6bff1a;border:1px solid #7c6bff40}.vs-row{color:var(--t2);align-items:flex-start;gap:12px;padding:3px 0;font-size:14px;line-height:1.5;display:flex}.vs-x{color:#ff6e6ecc;background:#ff505014;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.vs-check{width:20px;height:20px;color:var(--teal);background:#00e5c814;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}#whom{z-index:1;padding:var(--pad-s)var(--pad-x);position:relative}.whom-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px;display:grid}.whom-card{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-xl);transition:border-color var(--tb),transform var(--tb),box-shadow var(--tb);padding:28px 24px}.whom-card:hover{border-color:var(--b3);transform:translateY(-4px);box-shadow:0 16px 40px #0003}.whom-ico{border-radius:var(--r-md);width:48px;height:48px;color:var(--accent);background:#7c6bff1a;border:1px solid #7c6bff33;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.whom-title{font-family:var(--f-display);letter-spacing:-.03em;color:var(--t1);margin-bottom:8px;font-size:14px;font-weight:700}.whom-desc{color:var(--t2);font-size:13px;line-height:1.65}#pricing{z-index:1;padding:var(--pad-s)var(--pad-x);background:var(--bg-2);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);position:relative}.pricing-center{max-width:var(--max-w);text-align:center;margin:0 auto}.plan-wrap{max-width:560px;margin:56px auto 0}.plan{background:var(--bg-3);border:1px solid var(--b3);border-radius:var(--r-2xl);box-shadow:0 0 0 1px var(--b3),var(--sh-glow);text-align:left;padding:44px 38px;position:relative}.plan-top-badge{background:var(--g-cta);border-radius:var(--r-pill);font:700 11px/1 var(--f-body);color:#fff;white-space:nowrap;letter-spacing:.02em;padding:5px 20px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan-role{font:700 11px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:6px}.plan-name{font-family:var(--f-display);letter-spacing:-.04em;margin-bottom:22px;font-size:24px;font-weight:800}.plan-price-lead{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:18px;display:flex}.plan-price-lead strong{color:var(--t1);font-size:15px}.plan-price-lead span{color:var(--t2);font-size:13px}.plan-billing-switch{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.plan-billing-option{border:1px solid var(--b1);background:var(--bg-2);min-width:0;color:var(--t1);text-align:left;cursor:pointer;transition:border-color var(--tf),background var(--tf),transform var(--tf),box-shadow var(--tf);border-radius:16px;flex-direction:column;gap:8px;padding:12px 12px 13px;display:flex}.plan-billing-option:hover{border-color:var(--b3);transform:translateY(-1px)}.plan-billing-option--active{border-color:var(--b3);background:#7c6bff1a;box-shadow:inset 0 0 0 1px #7c6bff1f}.plan-billing-option-head{flex-direction:column;gap:6px;min-width:0;display:flex}.plan-billing-option-term{color:var(--t1);overflow-wrap:anywhere;font-size:13px;font-weight:700}.plan-billing-option-badge{border-radius:var(--r-pill);color:var(--teal);letter-spacing:.03em;background:#00e5c814;border:1px solid #00e5c833;align-self:flex-start;padding:3px 8px;font-size:10px;font-weight:700}.plan-billing-option-price{color:var(--t2);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.plan-price{flex-wrap:wrap;align-items:baseline;gap:4px;margin-bottom:10px;display:flex}.plan-price .amt{font-family:var(--f-display);letter-spacing:-.05em;font-size:58px;font-weight:900}.plan-price .cur{color:var(--t2);font-size:22px;font-weight:600}.plan-price .per{color:var(--t3);margin-left:2px;font-size:14px}.plan-billing-summary{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.plan-billing-summary-main{color:var(--t2);font-size:13px;line-height:1.5}.plan-billing-summary-total{color:var(--t3);font-size:12px;line-height:1.45}.plan-trial{font:600 13px/1 var(--f-body);color:var(--teal);margin-bottom:30px}.plan-feats{flex-direction:column;gap:13px;margin-bottom:34px;list-style:none;display:flex}.plan-feats li{color:var(--t2);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.plan-feat-check{width:20px;min-width:20px;height:20px;color:var(--teal);background:#00e5c814;border:1px solid #00e5c838;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.plan-cta{width:100%;font:700 15px/1 var(--f-body);background:var(--g-cta);color:#fff;border-radius:var(--r-pill);cursor:pointer;box-shadow:var(--sh-btn);transition:transform var(--tb),box-shadow var(--tb);border:none;justify-content:center;align-items:center;padding:16px;text-decoration:none;display:flex}.plan-cta:hover{transform:translateY(-2px);box-shadow:0 10px 36px #7c6bffa3}@media (max-width:900px){.plan-billing-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.plan-wrap{max-width:100%}.plan{padding:42px 22px 28px}.plan-top-badge{white-space:normal;text-align:center;max-width:calc(100% - 36px);line-height:1.35}.plan-billing-switch{grid-template-columns:1fr}.plan-price .amt{font-size:48px}}#vision{z-index:1;padding:var(--pad-s)var(--pad-x);position:relative}.vision-box{text-align:center;max-width:820px;margin:0 auto}.vision-eyebrow{font:700 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}.vision-title{font-family:var(--f-display);letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(28px,4.5vw,52px);font-weight:900;line-height:1.08}.vision-body{color:var(--t2);margin-bottom:24px;font-size:clamp(15px,1.5vw,18px);line-height:1.82}.vision-kicker{font-family:var(--f-display);letter-spacing:-.02em;color:var(--t1);font-size:17px;font-weight:700}#faq{z-index:1;padding:var(--pad-s)var(--pad-x);background:var(--bg-2);border-top:1px solid var(--b1);position:relative}.faq-list{flex-direction:column;gap:8px;max-width:740px;margin:56px auto 0;display:flex}.faq-item{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-lg);transition:border-color var(--tf);overflow:hidden}.faq-item[data-open=true]{border-color:var(--b3)}.faq-btn{cursor:pointer;font:600 15px/1.4 var(--f-body);color:var(--t1);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:20px 24px;display:flex}.faq-ico{border:1px solid var(--b2);width:28px;height:28px;color:var(--t2);transition:all var(--tb);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.faq-item[data-open=true] .faq-ico{border-color:var(--b3);color:var(--accent);background:#7c6bff1f;transform:rotate(45deg)}.faq-body{max-height:0;transition:max-height var(--ts);overflow:hidden}.faq-item[data-open=true] .faq-body{max-height:520px}.faq-text{color:var(--t2);padding:0 24px 22px;font-size:14px;line-height:1.78}#cta{z-index:1;padding:var(--pad-s)var(--pad-x);position:relative}.cta-box{background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-2xl);text-align:center;padding:clamp(48px,7vw,96px) clamp(32px,6vw,80px);position:relative;overflow:hidden}.cta-box:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c6bff17 0%,#0000 70%);width:800px;height:800px;position:absolute;top:-150px;left:50%;transform:translate(-50%)}.cta-kicker{font:700 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);z-index:1;margin-bottom:20px;position:relative}.cta-title{font-family:var(--f-display);letter-spacing:-.05em;z-index:1;margin-bottom:18px;font-size:clamp(28px,4.8vw,58px);font-weight:900;line-height:1.05;position:relative}.cta-sub{color:var(--t2);z-index:1;margin-bottom:38px;font-size:clamp(14px,1.5vw,18px);line-height:1.68;position:relative}.cta-btns{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;display:flex;position:relative}.cta-note{color:var(--t3);z-index:1;margin-top:20px;font-size:13px;position:relative}footer{z-index:1;border-top:1px solid var(--b1);padding:48px var(--pad-x)32px;position:relative}.foot-inner{max-width:var(--max-w);margin:0 auto}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:48px;margin-bottom:36px;display:flex}.foot-brand p{color:var(--t3);max-width:250px;margin-top:12px;font-size:13px;line-height:1.65}.foot-links{flex-wrap:wrap;gap:48px;display:flex}.foot-col a{color:var(--t2);transition:color var(--tf);margin-bottom:10px;font-size:14px;text-decoration:none;display:block}.foot-col a:hover{color:var(--t1)}.foot-col-title{font:700 11px/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em;color:var(--t3);margin-bottom:16px}.foot-bottom{border-top:1px solid var(--b1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.foot-copy{color:var(--t3);font-size:13px}.foot-legal{gap:20px;display:flex}.foot-legal a{color:var(--t3);transition:color var(--tf);font-size:13px;text-decoration:none}.foot-legal a:hover{color:var(--t2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.45)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.auth-topbar{z-index:200;padding:0 var(--pad-x);align-items:center;height:68px;display:flex;position:fixed;top:0;left:0;right:0}.auth-logo-link{font-family:var(--f-display);letter-spacing:-.04em;color:var(--t1);transition:opacity var(--tf);align-items:center;gap:10px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.auth-logo-link:hover{opacity:.82}.auth-root{z-index:1;min-height:100svh;padding:100px var(--pad-x)48px;justify-content:center;align-items:center;display:flex;position:relative}.auth-card{background:var(--bg-2);border-radius:var(--r-2xl);border:1px solid #ffffff21;width:100%;max-width:444px;padding:clamp(36px,6vw,52px) clamp(32px,6vw,48px);position:relative;overflow:hidden;box-shadow:0 2px 4px #0009,0 0 0 1px #fff1,0 48px 120px #0000009e,0 0 0 1px #7c6bff24,0 0 48px #7c6bff1c}.auth-card:before{content:"";background:var(--g-card);pointer-events:none;position:absolute;inset:0}[data-theme=light] .auth-card{border-color:#0000001c;box-shadow:0 2px 16px #00000014,0 0 0 1px #00000012,0 32px 80px #0000001f,0 0 0 1px #7c6bff1a,0 0 36px #7c6bff12}.auth-step{z-index:1;position:relative}.auth-title{font-family:var(--f-display);letter-spacing:-.04em;color:var(--t1);margin-bottom:10px;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.15}.auth-sub{color:var(--t2);margin-bottom:28px;font-size:14px;line-height:1.65}.auth-sub strong{color:var(--t1)}.auth-error{color:#ff7070;border-radius:var(--r-sm);background:#ff5a5a12;border:1px solid #ff5a5a33;min-height:36px;margin-bottom:16px;padding:9px 14px;font-size:13px;line-height:1.5}.phone-wrap{background:var(--bg-4);border:1px solid var(--b2);border-radius:var(--r-md);height:52px;transition:border-color var(--tf),box-shadow var(--tf);align-items:center;margin-bottom:16px;padding:0 14px;display:flex;box-shadow:inset 0 1px 3px #0000002e}.phone-wrap:focus-within{border-color:var(--b3);background:var(--bg-3);box-shadow:0 0 0 3px #7c6bff29,inset 0 1px 3px #0000001f}.phone-prefix{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;border-right:1px solid var(--b2);-webkit-user-select:none;user-select:none;flex-shrink:0;margin-right:10px;padding-right:10px;font-size:15px;font-weight:700}.phone-input{font:500 15px/1 var(--f-body);color:var(--t1);letter-spacing:.04em;background:0 0;border:none;outline:none;flex:1}.phone-input::placeholder{color:var(--t3);letter-spacing:0}.phone-input:disabled{opacity:.55}.auth-btn{width:100%;height:52px;font:700 15px/1 var(--f-body);border-radius:var(--r-pill);cursor:pointer;transition:transform var(--tb),box-shadow var(--tb),opacity var(--tf);border:none;justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.auth-btn--on{background:var(--g-cta);color:#fff;box-shadow:0 4px 16px #7c6bff70}.auth-btn--on:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c6bff85}.auth-btn--off{background:var(--bg-4);color:var(--t3);cursor:pointer;box-shadow:none}.auth-btn:disabled{pointer-events:none}.auth-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite spin}.auth-btn--off .auth-spinner{border-color:#ffffff26;border-top-color:var(--t3)}.otp-row{justify-content:center;gap:10px;margin-bottom:16px;display:flex}@media (max-width:380px){.otp-row{gap:7px}}.otp-cell{text-align:center;width:46px;height:56px;font:700 22px/1 var(--f-display);letter-spacing:-.02em;color:var(--t1);background:var(--bg-3);border:1.5px solid var(--b2);border-radius:var(--r-md);caret-color:var(--accent);transition:border-color var(--tf),box-shadow var(--tf);outline:none}@media (max-width:380px){.otp-cell{width:40px;height:50px;font-size:19px}}.otp-cell:focus{border-color:var(--b3);box-shadow:0 0 0 3px #7c6bff24}.otp-cell--filled{border-color:var(--b3);background:var(--bg-4)}.otp-cell--error{border-color:#ff5a5a99!important;box-shadow:0 0 0 2px #ff5a5a24!important}.otp-cell--shake{animation:shake .42s var(--ease)}.otp-cell:disabled{opacity:.55}.otp-loader{background:var(--bg-4);border-radius:2px;height:2px;margin-bottom:16px;overflow:hidden}.otp-loader-bar{background:var(--g-cta);transform-origin:0;border-radius:2px;height:100%;animation:1.2s ease-in-out infinite otp-load}@keyframes otp-load{0%{opacity:1;width:0%}70%{opacity:1;width:100%}to{opacity:0;width:100%}}.auth-bottom{flex-direction:column;align-items:center;gap:10px;margin-top:20px;display:flex}.auth-timer{color:var(--t3);text-align:center;font-size:13px}.auth-timer-count{color:var(--t2);font-variant-numeric:tabular-nums;font-weight:700}.auth-resend{font:600 13px/1 var(--f-body);color:var(--accent);cursor:pointer;transition:opacity var(--tf);background:0 0;border:none;padding:4px 0}.auth-resend:hover{opacity:.8}.auth-resend:disabled{color:var(--t3);cursor:not-allowed}.auth-back{font:500 13px/1 var(--f-body);color:var(--t3);cursor:pointer;transition:color var(--tf);background:0 0;border:none;padding:4px 0}.auth-back:hover{color:var(--t2)}.auth-back--muted{opacity:.45;cursor:default;pointer-events:none}.otp-actions-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth-legal{color:var(--t3);text-align:center;margin-top:20px;font-size:12px;line-height:1.65}.auth-legal a{color:var(--t2);transition:color var(--tf)}.auth-legal a:hover{color:var(--t1)}.terms-page{background:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:48px 16px 80px;display:flex}.terms-card{width:100%;max-width:680px}.terms-back{color:var(--t3);transition:color var(--tf);align-items:center;gap:4px;margin-bottom:32px;font-size:13px;text-decoration:none;display:inline-flex}.terms-back:hover{color:var(--t1)}.terms-h1{font-family:var(--f-display);color:var(--t1);margin:0 0 4px;font-size:22px;font-weight:700}.terms-updated{color:var(--t3);margin:0 0 32px;font-size:12px}.terms-section{margin-bottom:28px}.terms-section h2{color:var(--t1);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:14px;font-weight:700}.terms-section p{color:var(--t2);margin:0;font-size:14px;line-height:1.7}.terms-link{color:var(--accent);transition:opacity var(--tf);text-decoration:none}.terms-link:hover{opacity:.75}.terms-list{flex-direction:column;gap:6px;margin:10px 0 0;padding-left:20px;display:flex}.terms-list li{color:var(--t2);font-size:14px;line-height:1.7}.auth-error-wrap{align-items:flex-start;min-height:52px;display:flex}.auth-error-wrap>.auth-error{width:100%;margin-bottom:0}.auth-phone-hint{color:var(--t3);margin-top:6px;font-size:12px}.onb-card{padding:28px 20px}@media (min-width:481px){.onb-card{padding:32px 24px}}@media (min-width:768px){.onb-card{max-width:520px;padding:36px 32px}}@media (min-width:1024px){.onb-card{max-width:560px;padding:40px}}.roles-grid{grid-template-columns:1fr;gap:16px;width:100%;display:grid}@media (min-width:768px){.roles-grid{grid-template-columns:1fr 1fr;gap:20px}}.role-tile{background:var(--bg-3);border:1px solid var(--b2);cursor:pointer;text-align:center;height:170px;transition:border-color .18s var(--tf),box-shadow .18s var(--tf),transform .12s var(--tf),background .18s var(--tf);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}@media (min-width:768px){.role-tile{height:200px;padding:24px}}.role-tile:hover{border-color:var(--b3);transform:translateY(-2px);box-shadow:0 4px 20px #7c6bff24}.role-tile:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7c6bff38}.role-tile--selected{border-color:var(--accent);transition-duration:.12s;transform:scale(1.02);box-shadow:0 0 0 1px #7c6bff47,0 4px 24px #7c6bff2e}[data-theme=light] .role-tile{background:var(--bg-3)}[data-theme=light] .role-tile--selected{background:#7c6bff0a}.role-tile-icon{width:52px;height:52px;color:var(--accent);transition:background .18s var(--tf);background:#7c6bff1c;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-tile--selected .role-tile-icon{background:#7c6bff33}.role-tile-title{font-family:var(--f-display);letter-spacing:-.02em;color:var(--t1);font-size:15px;font-weight:700;display:block}.role-tile-desc{color:var(--t3);font-size:13px;line-height:1.5;display:block}.role-hint{color:var(--t3);text-align:center;margin-top:14px;font-size:12px;line-height:1.5}.onb-actions{width:100%;margin-top:20px}@media (min-width:481px){.onb-actions{margin-top:24px}}.form-field{flex-direction:column;gap:7px;width:100%;margin-bottom:16px;display:flex}.form-label{color:var(--t2);letter-spacing:.01em;font-size:13px;font-weight:600}.form-required{color:var(--accent);margin-left:2px}.form-input{background:var(--ui-field-bg);border:var(--ui-field-border);border-radius:var(--ui-field-radius);width:100%;color:var(--t1);font-size:15px;font-family:var(--f-body);transition:border-color var(--tf),box-shadow var(--tf),background var(--tf);box-sizing:border-box;outline:none;padding:13px 16px;box-shadow:inset 0 1px 3px #0003}.form-input:focus{border-color:var(--b3);box-shadow:var(--ui-field-focus-ring),inset 0 1px 3px #0000001f;background:var(--bg-3)}.form-input::placeholder{color:var(--t3)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-textarea{resize:vertical;min-height:88px;line-height:1.6}[data-theme=light] .form-input{box-shadow:inset 0 1px 2px #0000000f}[data-theme=light] .form-input:focus{box-shadow:0 0 0 3px #7c6bff1f,inset 0 1px 2px #0000000a}.form-hint{color:var(--t3);margin-top:4px;font-size:12px;line-height:1.5}.avatar-field{width:100%;margin-bottom:20px}.avatar-field-label{color:var(--t2);letter-spacing:.01em;margin-bottom:12px;font-size:13px;font-weight:600;display:block}.avatar-upload{align-items:center;gap:20px;display:flex}@media (max-width:767px){.avatar-upload{flex-direction:column;align-items:center;gap:14px}}.avatar-upload--drag .avatar-preview{border-color:var(--accent);box-shadow:0 0 0 3px #7c6bff38,0 4px 20px #7c6bff29}.avatar-preview{background:var(--bg-4);border:2px solid var(--b2);width:80px;height:80px;transition:border-color .18s var(--tf),box-shadow .18s var(--tf);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #7c6bff29,0 4px 14px #7c6bff1a}.avatar-preview-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-preview-ph{color:var(--t3);justify-content:center;align-items:center;display:flex}.avatar-preview--loading:after{content:"";-webkit-backdrop-filter:blur(4px);background:#0a0a1473;border-radius:50%;position:absolute;inset:0}.avatar-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}@media (max-width:767px){.avatar-actions{align-items:center;width:100%}}.avatar-upload-btn{background:var(--bg-4);border:1.5px solid var(--b2);border-radius:var(--r-md);color:var(--t1);font-size:14px;font-weight:600;font-family:var(--f-body);cursor:pointer;white-space:nowrap;transition:border-color .18s var(--tf),background .18s var(--tf),box-shadow .18s var(--tf);align-items:center;gap:8px;padding:9px 18px;display:inline-flex}.avatar-upload-btn:hover:not(:disabled){border-color:var(--b3);background:var(--bg-3)}.avatar-upload-btn:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7c6bff2e}.avatar-upload-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width:767px){.avatar-upload-btn{justify-content:center;width:100%}}.avatar-spinner{border:1.75px solid #7c6bff40;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite spin}.avatar-caption{color:var(--t3);font-size:12px;line-height:1.4}.avatar-error{color:#ff7070;border-radius:var(--r-sm);background:#ff5a5a12;border:1px solid #ff5a5a33;margin-top:10px;padding:8px 14px;font-size:13px;line-height:1.5}.avatar-field-row{align-items:center;gap:12px;display:flex}.avatar-field-row .form-input{flex:1;min-width:0}.avatar-field-preview{background:var(--bg-4);border:1.5px solid var(--b2);width:40px;height:40px;transition:border-color var(--tf);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-field-preview img{object-fit:cover;width:100%;height:100%}.avatar-field-preview--filled{border-color:var(--b3)}@media (max-width:1100px){:root{--max-w-wide:1100px}.whom-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;gap:48px}.hero-card{order:-1;width:100%;max-width:480px;margin:0 auto}.chip-left,.chip-top{display:none}.problem-grid{grid-template-columns:1fr;gap:40px}.feat-grid,.steps,.vs-grid{grid-template-columns:1fr}.nav-links{display:none}.hamburger{display:flex}.btn-ghost,.btn-primary{display:none}.foot-top{flex-direction:column}}@media (max-width:700px){.whom-grid{grid-template-columns:1fr 1fr}.hero-actions{flex-direction:column}.btn-hero,.btn-outline{justify-content:center}.cta-btns{flex-direction:column;align-items:stretch}.cta-btns .btn-hero,.cta-btns .btn-outline{justify-content:center}}@media (max-width:480px){.whom-grid{grid-template-columns:1fr}.nav-controls{display:none}}@media (min-width:1800px){:root{--max-w:1400px;--max-w-wide:1640px}.feat-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:2400px){:root{--pad-x:120px}}@media (max-width:380px){:root{--pad-x:16px}.day-tab{padding:6px;font-size:11px}}@media print{nav,.hamburger,.mobile-nav,.mesh-bg,.float-chip,#cta,footer{display:none!important}body{color:#000;background:#fff}}:root{--sidebar-w:240px;--sidebar-collapsed-w:64px;--topbar-h:60px;--warning:#ffb02e;--warning-bg:#ffb02e1a;--danger:#ff7070;--danger-bg:#ff5a5a12}.dash-root{grid-template-columns:var(--sidebar-w)1fr;background:var(--g-hero),var(--g-mesh),var(--bg);min-height:100svh;display:grid}.dash-main{flex-direction:column;min-height:100svh;display:flex;overflow:hidden}.dash-sidebar{border-right:1px solid var(--b1);background:var(--bg);z-index:100;scrollbar-width:none;flex-direction:column;height:100svh;display:flex;position:sticky;top:0;overflow:hidden auto}.dash-sidebar::-webkit-scrollbar{display:none}.sidebar-logo{border-bottom:1px solid var(--b1);flex-shrink:0;align-items:center;gap:10px;padding:20px 18px 16px;display:flex}.sidebar-logo-mark{border-radius:var(--r-sm);background:var(--g-cta);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-logo-text{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;white-space:nowrap;font-size:13px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.sidebar-nav-item{border-radius:var(--r-md);color:var(--t2);font-size:14px;font-weight:500;font-family:var(--f-body);cursor:pointer;text-align:left;width:100%;transition:background var(--tf),color var(--tf);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex;position:relative}.sidebar-nav-item:hover{background:var(--bg-3);color:var(--t1)}.sidebar-nav-item--active{color:var(--accent);background:#7c6bff1f}.sidebar-nav-item--active:hover{background:#7c6bff2e}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.sidebar-nav-label{flex:1}.sidebar-badge{background:var(--accent);color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:700;font-family:var(--f-body);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:flex}.sidebar-footer{border-top:1px solid var(--b1);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 10px;display:flex}.sidebar-user-btn{border-radius:var(--r-md);cursor:pointer;width:100%;color:var(--t2);font-size:13px;font-family:var(--f-body);transition:background var(--tf),color var(--tf);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.sidebar-user-btn:hover{background:var(--bg-3);color:var(--t1)}.sidebar-user-btn:disabled{opacity:.6;cursor:not-allowed}.sidebar-user-btn--danger{color:var(--danger)}.sidebar-user-btn--danger:hover{background:var(--danger-bg);color:var(--danger)}.sidebar-avatar-sm{background:var(--g-cta);color:#fff;width:28px;height:28px;font-size:11px;font-weight:700;font-family:var(--f-display);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-avatar-sm img,.sidebar-avatar-sm .avatar-img{object-fit:cover;border-radius:9999px;width:100%;height:100%;display:block}.sidebar-avatar-sm--logout{background:var(--danger-bg);color:var(--danger)}.dash-topbar{height:var(--topbar-h);z-index:200;border-bottom:1px solid var(--b1);background:var(--bg);flex-shrink:0;padding:0 clamp(16px,2.5vw,40px);position:sticky;top:0}.dash-topbar-inner{align-items:center;gap:16px;width:min(100%,1440px);margin:0 auto;display:flex}.topbar-title{min-width:0;font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;flex:1;font-size:15px;font-weight:700}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-notif-btn{border-radius:var(--r-md);cursor:pointer;width:36px;height:36px;color:var(--t2);transition:background var(--tf),color var(--tf);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.topbar-notif-btn:hover{background:var(--bg-3);color:var(--t1)}.topbar-acting-btn{border:1px solid var(--b1);background:var(--bg-2);height:36px;color:var(--t2);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--f-body);transition:background var(--tf),color var(--tf),border-color var(--tf);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.topbar-acting-btn:hover{background:var(--bg-3);color:var(--t1);border-color:var(--b2)}.topbar-logout-btn{border-radius:var(--r-md);border:1px solid var(--b1);height:36px;color:var(--danger);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--f-body);transition:background var(--tf),color var(--tf),border-color var(--tf),opacity var(--tf);background:0 0;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.topbar-logout-btn:hover{background:var(--danger-bg);border-color:#ef44443d}.topbar-logout-btn:disabled{opacity:.6;cursor:not-allowed}.topbar-notif-badge{background:var(--accent);color:#fff;border:1.5px solid var(--bg);min-width:16px;height:16px;font-size:9px;font-weight:700;font-family:var(--f-body);border-radius:8px;justify-content:center;align-items:center;padding:0 3px;display:flex;position:absolute;top:4px;right:4px}.topbar-avatar{background:var(--g-cta);color:#fff;width:32px;height:32px;font-size:13px;font-weight:700;font-family:var(--f-display);cursor:pointer;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative;overflow:hidden}.topbar-avatar img,.topbar-avatar .avatar-img{object-fit:cover;border-radius:9999px;width:100%;height:100%;display:block}.topbar-menu{background:var(--bg-2);border:1px solid var(--b2);border-radius:var(--r-lg);box-shadow:var(--sh-card);z-index:300;min-width:160px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.topbar-menu-item{color:var(--t2);font-size:14px;font-family:var(--f-body);cursor:pointer;text-align:left;width:100%;transition:background var(--tf),color var(--tf);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.topbar-menu-item:hover{background:var(--bg-3);color:var(--t1)}.topbar-menu-item--danger{color:var(--danger)}.topbar-menu-item--danger:hover{background:var(--danger-bg);color:var(--danger)}.dash-content{padding:32px clamp(16px,2.5vw,40px)calc(48px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.dash-content-title{font-family:var(--f-display);color:var(--t1);letter-spacing:-.03em;margin-bottom:24px;font-size:22px;font-weight:700}.dash-content-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.dash-card{background:var(--ui-card-bg);border:var(--ui-card-border);border-radius:var(--ui-card-radius);padding:var(--ui-card-padding);box-shadow:var(--ui-card-shadow)}.dash-card-title{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;margin-bottom:4px;font-size:14px;font-weight:600}.dash-card-sub{color:var(--t2);font-size:13px}.teacher-analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:16px;display:grid}.teacher-dashboard-surface{flex-direction:column;gap:20px;display:flex}.teacher-dashboard-primary{flex-direction:column;gap:14px;min-width:0;display:flex}.teacher-dashboard-head{flex-direction:column;gap:8px;display:flex}.teacher-dashboard-head-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.teacher-dashboard-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--t3);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:600;display:inline-flex}.teacher-dashboard-greeting{margin-bottom:4px}.teacher-dashboard-greeting-sub{max-width:52ch}.teacher-dashboard-head-status-row{align-items:flex-start;display:flex}.teacher-dashboard-status{border:1px solid var(--b1);background:var(--bg-2);min-width:min(100%,240px);max-width:320px;color:inherit;border-radius:16px;flex-direction:column;gap:3px;padding:12px 14px;text-decoration:none;display:flex}.teacher-dashboard-status--warning{background:#f59e0b1a;border-color:#f59e0b3d}.teacher-dashboard-status--danger{background:#ef444414;border-color:#ef444438}.teacher-dashboard-status-label{letter-spacing:.08em;text-transform:uppercase;color:var(--t3);font-size:11px}.teacher-dashboard-status strong{color:var(--t1);font-size:14px}.teacher-dashboard-status span:last-child{color:var(--t2);font-size:12px}.teacher-dashboard-status--compact{gap:2px;width:100%;min-width:0;max-width:100%;padding:10px 14px}.teacher-dashboard-upcoming-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.teacher-dashboard-upcoming-card--hero{border:1px solid color-mix(in srgb,var(--accent)10%,var(--b1));background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent)10%,transparent),transparent 42%),linear-gradient(180deg,var(--ui-card-bg),var(--bg-2));box-shadow:0 22px 48px #0f172a1a,0 0 0 1px color-mix(in srgb,var(--accent)8%,transparent);padding:28px 30px}.teacher-dashboard-upcoming-title-wrap{flex-direction:column;gap:8px;min-width:0;display:flex}.teacher-dashboard-upcoming-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.teacher-dashboard-refresh-btn{white-space:nowrap;min-width:max-content;height:auto;color:var(--t3);box-shadow:none;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.teacher-dashboard-refresh-btn:hover{color:var(--t1);background:0 0}.teacher-dashboard-refresh-btn:disabled{color:var(--t3);opacity:.65;background:0 0}.teacher-dashboard-stats{margin-bottom:0}.teacher-dashboard-meta-row{justify-content:flex-start;align-items:flex-start;margin-top:-4px;display:flex}.teacher-dashboard-status--quiet{background:color-mix(in srgb,var(--bg-2)84%,transparent);border-color:color-mix(in srgb,var(--b1)88%,transparent);max-width:280px;box-shadow:none}.teacher-dashboard-status--inline{border-radius:999px;flex-flow:wrap;align-items:center;gap:8px;width:auto;min-width:0;max-width:min(100%,420px);padding:7px 12px;display:inline-flex}.teacher-dashboard-status--inline .teacher-dashboard-status-label{margin-right:2px}.teacher-dashboard-status--quiet strong{font-size:12px}.teacher-dashboard-status--quiet span:last-child{font-size:11px}.teacher-dashboard-status--micro{background:color-mix(in srgb,var(--bg-2)82%,transparent);border-color:color-mix(in srgb,var(--b1)78%,transparent);border-radius:999px;gap:4px 8px;width:fit-content;min-width:0;max-width:100%;padding:5px 9px}.teacher-dashboard-status--micro strong{font-size:12px}.teacher-dashboard-status--micro span:last-child{font-size:11px}.teacher-dashboard-secondary{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:start;gap:14px;min-width:0;margin-top:2px;display:grid}.teacher-dashboard-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.teacher-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-dashboard-kpi-card{border:1px solid var(--b1);background:var(--bg-2);border-radius:16px;min-width:0;padding:16px 18px}.teacher-dashboard-stats-footer{justify-content:flex-start;margin-top:14px;display:flex}.teacher-analytics-sub{color:var(--t3);margin-top:6px;font-size:12px}.teacher-analytics-risk-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.teacher-analytics-risk-card{border:1px solid var(--b1);background:var(--bg-2);border-radius:16px;min-width:0;padding:14px 16px}.teacher-analytics-risk-value{font-family:var(--f-display);color:var(--t1);font-size:24px;font-weight:600}.teacher-analytics-risk-label{color:var(--t2);overflow-wrap:anywhere;margin-top:4px;font-size:12px}.teacher-analytics-attention-list{flex-direction:column;display:flex}.teacher-analytics-attention-item{color:inherit;border-top:1px solid var(--b1);flex-direction:column;gap:10px;padding:14px 0;text-decoration:none;display:flex}.teacher-analytics-attention-item:first-child{border-top:0;padding-top:0}.teacher-analytics-attention-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-analytics-attention-name{color:var(--t1);overflow-wrap:anywhere;font-size:15px;font-weight:600}.teacher-analytics-attention-meta{color:var(--t2);flex-wrap:wrap;gap:8px 14px;font-size:13px;display:flex}.teacher-analytics-attention-meta span{overflow-wrap:anywhere;min-width:0}.teacher-analytics-empty{min-height:240px}.teacher-dashboard-attention-quiet{background:var(--bg-2);border:1px solid var(--b1);border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.teacher-dashboard-attention-quiet-title{color:var(--t1);font-size:15px;font-weight:600}.teacher-dashboard-attention-quiet-hint{color:var(--t2);font-size:13px}.teacher-dashboard-upcoming-stack{flex-direction:column;gap:14px;display:flex}.teacher-dashboard-upcoming-status-row{align-items:flex-start;display:flex}.teacher-dashboard-next-slot{border:1px solid var(--b1);background:linear-gradient(180deg,var(--bg-2),var(--bg-3));border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.teacher-dashboard-next-slot-copy{min-width:0}.teacher-dashboard-next-slot-time{font-family:var(--f-display);letter-spacing:-.04em;color:var(--t1);font-size:34px;line-height:1}.teacher-dashboard-next-slot-date{color:var(--t2);margin-top:8px;font-size:13px}.teacher-dashboard-next-slot-meta{flex-shrink:0;justify-content:flex-end}.teacher-dashboard-upcoming-list{gap:10px}.teacher-dashboard-upcoming-list .schedule-slot{padding-block:10px}.teacher-dashboard-stats-card,.teacher-dashboard-attention-card{background:color-mix(in srgb,var(--ui-card-bg)76%,var(--bg-2));border:1px solid color-mix(in srgb,var(--b1)96%,transparent);box-shadow:none}.teacher-dashboard-stats-card{opacity:.94}.teacher-dashboard-attention-card{opacity:.98}.teacher-dashboard-stats-card .dash-card-title,.teacher-dashboard-attention-card .dash-card-title{font-size:15px}.teacher-dashboard-stats-card .dash-card-sub,.teacher-dashboard-attention-card .dash-card-sub{color:var(--t3)}@media (max-width:1120px){.teacher-dashboard-secondary{grid-template-columns:1fr}}.dash-error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 24px;display:flex}.dash-error-title{color:var(--t1);margin:0;font-size:20px;font-weight:600}.dash-error-text{color:var(--t3);margin:0;font-size:14px}.dash-error-btn{width:auto;padding:10px 24px}.dash-stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.dash-stat-card{background:var(--ui-card-bg);border:var(--ui-card-border);border-radius:var(--ui-card-radius);box-shadow:var(--ui-card-shadow);padding:20px 24px}.dash-stat-value{font-family:var(--f-display);color:var(--t1);letter-spacing:-.04em;margin-bottom:6px;font-size:32px;font-weight:700;line-height:1}.dash-stat-label{color:var(--t3);font-size:12px;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.06em}.schedule-week-nav{align-items:center;gap:12px;margin-bottom:20px;display:flex}.schedule-week-label{font-family:var(--f-display);color:var(--t1);text-align:center;min-width:180px;font-size:14px;font-weight:600}.schedule-nav-btn{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);cursor:pointer;width:32px;height:32px;color:var(--t2);transition:background var(--tf),color var(--tf);justify-content:center;align-items:center;display:flex}.schedule-nav-btn:hover{background:var(--bg-4);color:var(--t1)}.schedule-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.schedule-create-btn{background:var(--g-cta);border-radius:var(--r-md);color:#fff;font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:opacity var(--tf);border:none;align-items:center;gap:6px;margin-left:auto;padding:8px 14px;display:flex}.schedule-create-btn:hover{opacity:.88}.schedule-create-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-day-group{margin-bottom:24px}.schedule-day-label{color:var(--t3);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;font-family:var(--f-body);margin-bottom:8px;padding:0 4px}.schedule-list{flex-direction:column;gap:8px;display:flex}.schedule-slot{background:var(--bg-2);border:1px solid var(--b1);border-radius:var(--r-lg);transition:border-color var(--tf),opacity var(--tf);align-items:center;gap:16px;padding:14px 18px;display:flex}.schedule-slot:hover{border-color:var(--b2)}.schedule-slot--cancelled{opacity:.5}.schedule-slot--optimistic{opacity:.6;pointer-events:none}.schedule-slot--pending{opacity:.72;border-style:dashed}.slot-time-col{flex-shrink:0;min-width:100px}.slot-time{font-family:var(--f-display);color:var(--t1);letter-spacing:-.01em;font-size:13px;font-weight:700}.slot-date{color:var(--t3);font-size:11px;font-family:var(--f-body);margin-top:2px}.slot-info{flex-direction:column;flex:1;gap:3px;display:flex}.slot-status-badge{padding:var(--ui-badge-padding-y)var(--ui-badge-padding-x);border-radius:var(--ui-badge-radius);font-size:var(--ui-badge-font-size);font-weight:var(--ui-badge-font-weight);font-family:var(--f-body);align-items:center;display:inline-flex}.slot-status-badge--active{color:var(--teal);background:#00e5c81f}.slot-status-badge--cancelled{background:var(--danger-bg);color:var(--danger)}.slot-status-badge--pending{background:var(--warning-bg);color:var(--warning)}.slot-capacity-badge{color:var(--t2);font-size:12px;font-family:var(--f-body)}.slot-price{color:var(--t3);font-size:12px;font-family:var(--f-body)}.slot-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.slot-btn{border-radius:var(--r-sm);background:var(--bg-3);border:1px solid var(--b1);cursor:pointer;width:30px;height:30px;color:var(--t2);transition:background var(--tf),color var(--tf),border-color var(--tf);justify-content:center;align-items:center;display:flex}.slot-btn:hover{background:var(--bg-4);color:var(--t1)}.slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.slot-btn--danger:hover{background:var(--danger-bg);color:var(--danger);border-color:#ff70704d}.modal-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px);z-index:400;justify-content:center;align-items:center;padding:20px;animation:.18s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--ui-modal-bg);border:var(--ui-modal-border);border-radius:var(--ui-modal-radius);box-shadow:var(--ui-modal-shadow);width:100%;max-width:460px;max-height:calc(100vh - 40px);animation:modal-up .2s var(--ease);position:relative;overflow-y:auto}@keyframes modal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 0;display:flex}.modal-title{font-family:var(--f-display);color:var(--t1);letter-spacing:-.03em;font-size:18px;font-weight:700}.modal-subtitle{color:var(--t2);margin:8px 0 0;font-size:14px;line-height:1.55}.modal-close{border-radius:var(--r-sm);background:var(--bg-3);cursor:pointer;width:36px;height:36px;color:var(--t2);transition:background var(--tf),color var(--tf);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-4);color:var(--t1)}.modal-body{padding:16px 24px}.modal-actions{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.modal-actions--centered{justify-content:center}.acting-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.acting-role-chip{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);min-height:42px;color:var(--t2);font:600 13px/1.2 var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf);padding:10px 12px}.acting-role-chip--active{color:var(--t1);background:#7c6bff29;border-color:#7c6bff61}.modal-shell{z-index:420;justify-content:center;align-items:center;padding:clamp(16px,3vw,28px);display:flex;position:fixed;inset:0}.modal-shell .modal-backdrop{z-index:0;padding:0;display:block;position:absolute;inset:0}.modal-card{z-index:1;background:var(--ui-modal-bg);border:var(--ui-modal-border);border-radius:var(--ui-modal-radius);width:min(100%,460px);max-height:calc(100dvh - 32px);box-shadow:var(--ui-modal-shadow);animation:modal-up .2s var(--ease);position:relative;overflow-y:auto}.acting-error{color:var(--danger);font:600 13px/1.4 var(--f-body);margin-top:10px}.modal-btn{padding:var(--ui-btn-padding-y)var(--ui-btn-padding-x);border-radius:var(--ui-btn-radius);font-size:var(--ui-btn-font-size);font-weight:var(--ui-btn-font-weight);font-family:var(--f-body);cursor:pointer;transition:opacity var(--tf),background var(--tf);border:none}.modal-btn--primary{background:var(--g-cta);color:#fff}.modal-btn--primary:hover{opacity:.88}.modal-btn--primary:disabled{opacity:.45;cursor:not-allowed}.modal-btn--secondary{background:var(--bg-3);color:var(--t1);border:1px solid var(--b1)}.modal-btn--secondary:hover{background:var(--bg-4)}.modal-btn--danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ff707040}.modal-btn--danger:hover{background:#ff5a5a24}.modal-btn--full{justify-content:center;width:100%;display:flex}.modal-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.modal-label{color:var(--t2);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600;font-family:var(--f-body)}.modal-input{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);color:var(--t1);font-size:14px;font-family:var(--f-body);width:100%;transition:border-color var(--tf);appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:10px 14px}.modal-input:focus{border-color:var(--accent);outline:none}.modal-textarea{resize:vertical;min-height:80px}.toast-viewport{z-index:500;pointer-events:none;flex-direction:column;gap:8px;max-width:400px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-2);border:1px solid var(--b2);border-radius:var(--r-lg);box-shadow:var(--sh-card);pointer-events:auto;animation:toast-in .22s var(--ease);border-left:3px solid var(--b2);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.toast--leaving{animation:.18s forwards toast-out}.toast--error{border-left-color:var(--danger)}.toast--success{border-left-color:var(--teal)}.toast--info{border-left-color:var(--accent)}.toast-msg{color:var(--t1);font-size:13px;line-height:1.5;font-family:var(--f-body);flex:1}.toast-close{cursor:pointer;color:var(--t3);transition:color var(--tf);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.toast-close:hover{color:var(--t1)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}.dash-card--flush{padding:0;overflow:hidden}.notif-mark-all-btn{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);color:var(--t1);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--f-body);transition:opacity var(--tf);padding:7px 16px}.notif-mark-all-btn:disabled{opacity:.5}.notif-loading{color:var(--t3);text-align:center;padding:48px 0;font-size:14px}.notif-error-state{flex-direction:column;align-items:flex-start;gap:10px;padding:32px 20px;display:flex}.notif-error-text{color:var(--danger);font-size:14px}.notif-retry-btn{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);color:var(--t1);cursor:pointer;font-size:13px;font-family:var(--f-body);padding:6px 14px}.notif-load-more-wrap{padding:0 16px 16px}.notif-page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.notif-list{flex-direction:column;display:flex}.notif-item{border-bottom:1px solid var(--b1);cursor:pointer;transition:background var(--tf);border-left:3px solid #0000;align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.notif-item:hover{background:var(--bg-2)}.notif-item--unread{border-left-color:var(--accent);background:#7c6bff0a}.notif-item--unread:hover{background:#7c6bff14}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-dot--read{background:0 0}.notif-content{flex:1;min-width:0}.notif-title{color:var(--t1);font-size:14px;font-weight:600;font-family:var(--f-body);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;overflow:hidden}.notif-item--read .notif-title{color:var(--t2);font-weight:500}.notif-body{color:var(--t2);font-size:13px;line-height:1.5;font-family:var(--f-body);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-footer{align-items:center;gap:10px;margin-top:6px;display:flex}.notif-time{color:var(--t3);font-size:11px;font-family:var(--f-body)}.notif-priority-badge{background:var(--danger-bg);color:var(--danger);font-size:10px;font-weight:700;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:1px 6px}.notif-open-btn{color:var(--accent);cursor:pointer;font-size:12px;font-family:var(--f-body);background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.notif-open-btn:hover{text-decoration:underline}.notif-date-group{margin-bottom:4px}.notif-date-label{color:var(--t3);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;font-family:var(--f-body);padding:12px 20px 8px}.settings-section{background:var(--ui-card-bg);border:var(--ui-card-border);border-radius:var(--ui-card-radius);margin-bottom:20px;overflow:hidden}.settings-section-head{border-bottom:1px solid var(--b1);padding:18px 20px 14px}.settings-section-title{color:var(--t3);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;font-family:var(--f-body)}.settings-row{border-bottom:1px solid var(--b1);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.settings-row:last-child{border-bottom:none}.settings-row--col{flex-direction:column;align-items:stretch;gap:0}.settings-row-tg-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-row-tg-head--full{width:100%}.settings-row-left{flex:1;min-width:0}.settings-row-label{color:var(--t1);font-size:14px;font-weight:500;font-family:var(--f-body)}.settings-row-hint{color:var(--t3);font-size:12px;font-family:var(--f-body);margin-top:3px;line-height:1.4}.settings-row-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.settings-status-text{color:var(--t3);font-size:12px;font-family:var(--f-body)}.settings-status-text--ok{color:var(--teal)}.settings-status-text--err{color:var(--danger)}.settings-link-btn{border-radius:var(--r-sm);font-size:12px;font-weight:600;font-family:var(--f-body);cursor:pointer;border:1px solid var(--b2);background:var(--bg-3);color:var(--t1);transition:background var(--tf),color var(--tf);white-space:nowrap;padding:5px 12px}.settings-link-btn:hover{background:var(--bg-4)}.settings-link-btn--accent{color:var(--accent);background:#7c6bff1f;border-color:#7c6bff4d}.settings-link-btn--accent:hover{background:#7c6bff33}.settings-link-btn--danger{background:var(--danger-bg);color:var(--danger);border-color:#ff70704d}.settings-link-btn--danger:hover{background:#ff5a5a24}.settings-booking-link-row{align-items:center;gap:10px;padding:10px 14px;display:flex}.settings-booking-link-url{color:var(--t2);background:var(--bg-3);border-radius:var(--r-sm);border:1px solid var(--b1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-family:var(--f-body);flex:1;padding:8px 12px;overflow:hidden}.settings-placeholder{color:var(--t3);text-align:center;padding:48px 0;font-size:14px}.settings-placeholder--error{color:var(--danger)}.settings-inline-alert{background:var(--warning-bg);border-radius:var(--r-md);color:var(--warning);border:1px solid #ffb02e47;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;font-size:12px;display:inline-flex}.coming-soon-chip--xs{padding:0 4px;font-size:8px}.coming-soon-chip--inline{vertical-align:middle;margin-left:6px}.coming-soon-chip{border-radius:var(--ui-badge-radius);font-size:10px;font-weight:700;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-4);color:var(--t3);border:1px solid var(--b1);align-items:center;padding:2px 8px;display:inline-flex}.toggle{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.toggle-input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{border-radius:var(--r-pill);background:var(--bg-5);border:1px solid var(--b2);cursor:pointer;transition:background var(--tf),border-color var(--tf);position:absolute;inset:0}.toggle-slider:after{content:"";background:var(--t3);width:16px;height:16px;transition:transform var(--tf),background var(--tf);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent-dark)}.toggle-input:checked+.toggle-slider:after{background:#fff;transform:translate(18px)}.toggle-input:focus-visible+.toggle-slider{outline:2px solid var(--accent);outline-offset:2px}.toggle-input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.channel-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.channel-chip{border-radius:var(--r-sm);font-size:11px;font-weight:600;font-family:var(--f-body);color:var(--accent);cursor:pointer;transition:background var(--tf),opacity var(--tf);-webkit-user-select:none;user-select:none;background:#7c6bff1a;border:1px solid #7c6bff33;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.channel-chip:hover{background:#7c6bff2e}.channel-chip--off{background:var(--bg-3);color:var(--t3);border-color:var(--b1)}.channel-chip--off:hover{background:var(--bg-4)}.channel-chip--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.tg-link-card{background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-lg);margin-top:8px;padding:18px 20px}.tg-token-box{background:var(--bg);border:1px solid var(--b1);border-radius:var(--r-md);font-size:13px;font-family:var(--f-display);color:var(--t1);letter-spacing:.04em;word-break:break-all;margin:10px 0;padding:10px 14px}.tg-steps{color:var(--t2);font-size:13px;line-height:1.8;font-family:var(--f-body);padding-left:18px;list-style:decimal}.ios-hint-card{background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-lg);align-items:flex-start;gap:14px;margin-top:12px;padding:16px 18px;display:flex}.ios-hint-icon{flex-shrink:0;margin-top:2px;font-size:24px}.ios-hint-content{flex:1}.ios-hint-title{color:var(--t1);font-size:13px;font-weight:600;font-family:var(--f-body);margin-bottom:4px}.ios-hint-text{color:var(--t2);font-size:12px;line-height:1.5;font-family:var(--f-body)}.ios-hint-dismiss{color:var(--t3);cursor:pointer;font-size:12px;font-family:var(--f-body);background:0 0;border:none;margin-top:8px;padding:4px 0}.ios-hint-dismiss:hover{color:var(--t2)}.offline-banner{top:var(--topbar-h);z-index:300;background:var(--warning-bg);text-align:center;color:var(--warning);font-size:13px;font-family:var(--f-body);border-bottom:1px solid #ffb02e40;padding:8px 20px;font-weight:500;position:fixed;left:0;right:0}.acting-banner{top:var(--topbar-h);z-index:120;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#7c6bff1f;border-top:1px solid #7c6bff2e;border-bottom:1px solid #7c6bff33;justify-content:space-between;align-items:center;gap:14px;padding:12px 20px;display:flex;position:sticky}.acting-banner-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.acting-banner-copy strong,.acting-banner-copy span{overflow-wrap:anywhere}.acting-banner-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.queue-status{background:var(--warning-bg);border-radius:var(--r-lg);border:1px solid #ffb02e33;align-items:center;gap:10px;margin-top:12px;padding:12px 20px;display:flex}.queue-status-text{color:var(--warning);font-size:13px;font-family:var(--f-body);flex:1}.queue-drain-btn{border-radius:var(--r-sm);color:var(--warning);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--f-body);transition:background var(--tf);background:#ffb02e26;border:1px solid #ffb02e4d;padding:5px 12px}.queue-drain-btn:hover{background:#ffb02e40}.queue-list{flex-direction:column;gap:10px;display:flex}.queue-item{border:1px solid var(--b1);border-radius:var(--r-md);background:var(--bg-3);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.queue-item-main{flex:1;min-width:0}.queue-item-title{color:var(--t1);font-size:13px;font-weight:600;font-family:var(--f-body)}.queue-item-meta{color:var(--t3);font-size:11px;font-family:var(--f-body);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.queue-item-actions{flex-shrink:0;gap:8px;display:flex}.queue-chip{border-radius:var(--ui-badge-radius);color:var(--teal);background:#00e5c81f;border:1px solid #00e5c833;align-items:center;padding:2px 7px;display:inline-flex}.queue-chip--failed{background:var(--danger-bg);color:var(--danger);border-color:#ff707042}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;display:flex}.empty-state-icon{width:52px;height:52px;color:var(--t3);opacity:.6}.empty-state-title{color:var(--t2);font-size:16px;font-weight:600;font-family:var(--f-body)}.empty-state-hint{color:var(--t3);font-size:13px;font-family:var(--f-body)}.load-more-btn{background:var(--bg-2);border:1px solid var(--b1);border-radius:var(--r-lg);width:100%;color:var(--t2);font-size:13px;font-weight:500;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf);justify-content:center;align-items:center;margin-top:12px;padding:12px;display:flex}.load-more-btn:hover{background:var(--bg-3);color:var(--t1)}.load-more-btn:disabled{opacity:.4;cursor:not-allowed}.bookings-tabs{background:var(--bg-2);border:1px solid var(--b1);border-radius:var(--r-lg);gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.bookings-tab{border-radius:var(--r-md);color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;border:none;padding:6px 16px;font-size:13px;font-weight:500}.bookings-tab:hover{color:var(--t1)}.bookings-tab--active{background:var(--bg-4);color:var(--t1)}.bookings-loading{color:var(--t3);text-align:center;padding:48px 0;font-size:14px}.bookings-error{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.bookings-error-text{color:var(--danger);font-size:14px}.bookings-retry-btn{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);color:var(--t1);cursor:pointer;font-size:13px;font-family:var(--f-body);padding:6px 14px}.booking-list{flex-direction:column;gap:10px;display:flex}.booking-card{background:var(--bg-2);border:1px solid var(--b1);border-radius:var(--r-lg);transition:border-color var(--tf);align-items:center;gap:16px;padding:16px 20px;display:flex}.booking-card:hover{border-color:var(--b2)}.booking-card--cancelled{opacity:.5}.booking-time-col{flex-shrink:0;min-width:120px}.booking-time{font-family:var(--f-display);color:var(--t1);font-size:13px;font-weight:700}.booking-date{color:var(--t3);font-size:11px;font-family:var(--f-body);margin-top:2px}.booking-info{flex:1}.booking-teacher{color:var(--t1);font-size:14px;font-weight:500;font-family:var(--f-body)}.booking-status-badge{border-radius:var(--r-sm);font-size:11px;font-weight:600;font-family:var(--f-body);margin-top:4px;padding:2px 8px;display:inline-flex}.booking-status-badge--confirmed{color:var(--teal);background:#00e5c81f}.booking-status-badge--cancelled{background:var(--danger-bg);color:var(--danger)}.booking-cancel-btn{border-radius:var(--r-sm);font-size:12px;font-weight:600;font-family:var(--f-body);cursor:pointer;background:var(--danger-bg);color:var(--danger);transition:background var(--tf);border:1px solid #ff707040;flex-shrink:0;padding:6px 12px}.booking-cancel-btn:hover{background:#ff5a5a24}.booking-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.settings-save-bar{justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;padding:16px 0 0;display:flex}.settings-save-btn{border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:var(--f-body);cursor:pointer;background:var(--g-cta);color:#fff;transition:opacity var(--tf);border:none;padding:10px 24px}.settings-save-btn:hover{opacity:.88}.settings-save-btn:disabled{opacity:.35;cursor:not-allowed}.settings-section--account{margin-top:20px}.owner-page{flex-direction:column;gap:20px;display:flex}.owner-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.owner-subtitle{color:var(--t2);overflow-wrap:anywhere;max-width:72ch;margin-top:8px;font-size:14px;line-height:1.6}.owner-policy-card{margin-bottom:0}.owner-policy-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.owner-policy-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.owner-policy-actions{grid-template-columns:minmax(96px,110px) auto;justify-self:end;align-items:end;gap:12px;display:grid}.owner-number-input{width:100%;min-width:0}.owner-policy-save-btn{white-space:nowrap}.owner-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.owner-list-card,.owner-detail-card{min-height:560px}.owner-detail-card{min-width:0;overflow:hidden}.owner-toolbar{grid-template-columns:minmax(0,1.4fr) minmax(180px,220px) auto;align-items:start;gap:12px;margin-bottom:16px;display:grid}.owner-select{min-width:0}.owner-list{flex-direction:column;gap:10px;display:flex}.owner-teacher-row{border:1px solid var(--b1);border-radius:var(--r-lg);background:var(--bg-3);width:100%;color:inherit;cursor:pointer;text-align:left;transition:border-color var(--tf),transform var(--tf),background var(--tf);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.owner-teacher-row:hover{border-color:var(--b3);transform:translateY(-1px)}.owner-teacher-row--active{border-color:var(--accent);background:#7c6bff1a;box-shadow:0 0 0 1px #7c6bff1f}.owner-teacher-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.owner-teacher-name{font-family:var(--f-display);color:var(--t1);letter-spacing:-.01em;font-size:14px;font-weight:600}.owner-teacher-name--detail{font-size:18px}.owner-teacher-meta{color:var(--t3);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.owner-teacher-meta span{overflow-wrap:anywhere;min-width:0}.owner-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.owner-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.owner-fact{border:1px solid var(--b1);border-radius:var(--r-lg);background:var(--bg-3);flex-direction:column;gap:5px;padding:14px 16px;display:flex}.owner-fact-label{color:var(--t3);font-size:12px}.owner-fact-value{color:var(--t1);overflow-wrap:anywhere;font-size:14px;font-weight:600}.owner-action-group{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.owner-inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.owner-inline-actions--compact{margin-bottom:20px}.owner-inline-actions .form-input{flex:auto}.owner-inline-actions .modal-btn{flex-shrink:0}.owner-audit-card{margin-top:0}.owner-audit-list{flex-direction:column;gap:12px;display:flex}.owner-audit-item{border:1px solid var(--b1);border-radius:var(--r-lg);background:var(--bg-3);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.owner-audit-head,.owner-audit-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.owner-audit-head{color:var(--t1);font-size:13px}.owner-audit-meta{color:var(--t3);font-size:12px}.owner-audit-reason{color:var(--t2);font-size:13px;line-height:1.6}.owner-status{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.owner-status--active{color:var(--teal);background:#00e5c81f}.owner-status--trial{color:var(--accent-lite);background:#7c6bff29}.owner-status--expired{color:var(--danger,#ff5858);background:#ff58581f}.owner-status--frozen{color:#ffb800;background:#ffb80024}.owner-status--none{color:var(--t3);background:#ffffff14}.settings-account-body{padding:16px 20px}.settings-offline-body{flex-direction:column;gap:12px;padding:14px 20px;display:flex}.settings-logout-btn{border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:var(--f-body);border:1.5px solid var(--danger,#f55);color:var(--danger,#f55);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;padding:10px 24px}.settings-logout-btn:hover{background:var(--danger,#f55);color:#fff}.logout-modal-text{color:var(--t2);margin:0;font-size:14px;line-height:1.6}.topbar-hamburger{border-radius:var(--r-md);cursor:pointer;width:36px;height:36px;color:var(--t2);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none}.topbar-hamburger span{width:18px;height:2px;transition:transform var(--tf),opacity var(--tf);background:currentColor;border-radius:1px;display:block}.mobile-tab-bar{background:var(--bg);border-top:1px solid var(--b1);z-index:200;height:60px;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tab-bar-inner{align-items:stretch;height:100%;display:flex}.mobile-tab-item{cursor:pointer;color:var(--t3);font-size:10px;font-family:var(--f-body);transition:color var(--tf);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-weight:500;text-decoration:none;display:flex;position:relative}.mobile-tab-item>span:last-child{text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.05;display:block}.mobile-tab-item--active{color:var(--accent)}.mobile-tab-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.mobile-tab-badge{background:var(--accent);color:#fff;border:1.5px solid var(--bg);border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:8px;font-weight:700;display:flex;position:absolute;top:8px;right:calc(50% - 18px)}.dash-loader-root{background:var(--bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dash-loader-glow{background:var(--accent);opacity:.18;border-radius:50%;width:56px;height:56px;animation:1.4s ease-in-out infinite dash-glow-pulse}@keyframes dash-glow-pulse{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.36;transform:scale(1.25)}}.topbar-theme-btn{border-radius:var(--r-md);width:32px;height:32px;color:var(--t2);cursor:pointer;transition:color var(--tf),background var(--tf);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.topbar-theme-btn svg{flex-shrink:0;width:16px;height:16px;display:block}.topbar-theme-btn:hover{background:var(--bg-3);color:var(--t1)}.profile-section-body{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.profile-avatar-row,.avatar-uploader-wrap{align-items:center;gap:16px;display:flex}.avatar-uploader-circle{background:var(--bg-3);border:2px solid var(--b1);width:64px;height:64px;color:var(--t3);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-uploader-img{object-fit:cover;width:100%;height:100%}.avatar-uploader-ph{display:flex}.avatar-uploader-edit-btn{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);color:var(--accent);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),border-color var(--tf);align-items:center;gap:6px;padding:7px 14px;display:flex}.avatar-uploader-edit-btn:hover:not(:disabled){background:var(--bg-4);border-color:var(--accent)}.avatar-uploader-edit-btn:disabled{opacity:.5;cursor:not-allowed}.profile-avatar-wrap{background:var(--bg-3);border:2px solid var(--b1);width:56px;height:56px;color:var(--t2);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;overflow:hidden}.profile-avatar-img{object-fit:cover;border-radius:9999px;width:100%;height:100%}.profile-avatar-placeholder{color:var(--t2);font-size:22px;font-weight:700;font-family:var(--f-display);line-height:1}.profile-avatar-actions{flex-direction:column;gap:6px;display:flex}.profile-upload-btn{align-items:center;gap:6px;font-size:13px;display:flex}.profile-file-input{display:none}.profile-form{flex-direction:column;gap:12px;display:flex}.profile-form-field{flex-direction:column;gap:5px;display:flex}.profile-form-label{color:var(--t2);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:600}.profile-form-input{background:var(--bg-3);border:1.5px solid var(--b1);border-radius:var(--r-md);width:100%;color:var(--t1);font-size:14px;font-family:var(--f-body);transition:border-color var(--tf);box-sizing:border-box;padding:9px 12px}.profile-form-input:focus{border-color:var(--b3);outline:none;box-shadow:0 0 0 3px #7c6bff24}.profile-form-textarea{background:var(--bg-3);border:1.5px solid var(--b1);border-radius:var(--r-md);width:100%;color:var(--t1);font-size:14px;font-family:var(--f-body);resize:vertical;min-height:72px;transition:border-color var(--tf);box-sizing:border-box;padding:9px 12px}.profile-form-textarea:focus{border-color:var(--b3);outline:none;box-shadow:0 0 0 3px #7c6bff24}.profile-form-actions{justify-content:flex-end;padding-top:4px;display:flex}.lang-pills{flex-wrap:wrap;gap:8px;display:flex}.lang-pill{border-radius:var(--ui-tab-pill-radius);border:var(--ui-tab-border);background:var(--ui-tab-bg);height:32px;color:var(--t2);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:border-color var(--tf),background var(--tf),color var(--tf);justify-content:center;align-items:center;padding:0 16px;display:inline-flex}.lang-pill:hover{border-color:var(--accent);color:var(--t1)}.lang-pill--active{background:var(--accent);border-color:var(--accent);color:#fff}@media (max-width:768px){.dash-root{grid-template-columns:1fr}.dash-sidebar,.topbar-hamburger{display:none}.dash-content{padding:20px 16px calc(96px + env(safe-area-inset-bottom,0px))}.dash-topbar{padding:0 16px}.mobile-tab-bar{display:block}.topbar-acting-btn span{display:none}.topbar-acting-btn{justify-content:center;width:36px;padding:0}.topbar-logout-btn span{display:none}.topbar-logout-btn{justify-content:center;width:36px;padding:0}.dash-stats-grid{grid-template-columns:1fr 1fr}.teacher-analytics-grid,.teacher-dashboard-secondary,.teacher-analytics-risk-row{grid-template-columns:1fr}.teacher-analytics-attention-head{flex-direction:column}.acting-banner{align-items:center;gap:10px;padding:8px 12px}.acting-banner-copy{flex:1;gap:2px}.acting-banner-copy strong{font-size:12px;line-height:1.35}.acting-banner-copy span{display:none}.acting-banner-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px}.acting-banner-action-btn{white-space:nowrap;min-height:30px;padding:4px 10px;font-size:11px}.acting-banner-exit-btn{display:none}.acting-role-grid,.owner-grid{grid-template-columns:1fr}.owner-list-card,.owner-detail-card{min-height:0}.owner-toolbar,.owner-policy-row,.owner-policy-actions{grid-template-columns:1fr}.owner-policy-actions{justify-self:stretch}.owner-policy-actions,.owner-inline-actions,.owner-detail-head{flex-direction:column;align-items:stretch}.owner-facts{grid-template-columns:1fr}.owner-status{align-self:flex-start}.modal-box{border-radius:var(--r-xl);max-width:100%}.toast-viewport{max-width:none;bottom:72px;left:16px;right:16px}.schedule-slot{flex-wrap:wrap}.slot-actions{justify-content:flex-end;width:100%}.queue-item{flex-direction:column;align-items:flex-start}.queue-item-actions{justify-content:flex-start;width:100%}}@media (max-width:480px){.dash-stats-grid{grid-template-columns:1fr}.dash-stat-value{font-size:26px}}.dash-content>*{max-width:1440px;margin-left:auto;margin-right:auto}.login-lang-seg{border:1.5px solid var(--b2);border-radius:var(--r-md);margin-bottom:16px;display:flex;overflow:hidden}.login-lang-opt{color:var(--t2);font-size:12px;font-weight:500;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf);letter-spacing:.04em;background:0 0;border:none;flex:1;padding:6px 14px}.login-lang-opt:hover{background:var(--bg-3);color:var(--t1)}.login-lang-opt--active{background:var(--accent);color:#fff;font-weight:600}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.num-input-wrap{border:1px solid var(--b1);border-radius:var(--r-md);background:var(--bg-3);align-items:center;width:fit-content;display:flex;overflow:hidden}.num-btn{width:36px;height:36px;color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf);font-size:18px;font-family:var(--f-body);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.num-btn:hover{background:var(--bg-4);color:var(--t1)}.num-input{border:none;border-left:1px solid var(--b1);border-right:1px solid var(--b1);text-align:center;width:52px;height:36px;color:var(--t1);font-size:14px;font-weight:600;font-family:var(--f-body);background:0 0;outline:none}.slot-type-toggle{border:1.5px solid var(--b1);border-radius:var(--r-md);width:fit-content;display:flex;overflow:hidden}.slot-type-btn{color:var(--t2);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;border:none;padding:8px 18px}.slot-type-btn+.slot-type-btn{border-left:1.5px solid var(--b1)}.slot-type-btn--active{background:var(--accent);color:#fff}.slot-type-badge{border-radius:var(--r-sm);color:var(--accent);font-size:11px;font-weight:600;font-family:var(--f-body);letter-spacing:.04em;background:#7c6bff24;align-items:center;padding:2px 8px;display:inline-flex}.duration-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.duration-chip{border-radius:var(--r-2xl);border:1px solid var(--b1);background:var(--bg-3);color:var(--t2);font-size:12px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:border-color var(--tf),background var(--tf),color var(--tf);padding:5px 12px}.duration-chip:hover{border-color:var(--accent);color:var(--t1)}.duration-chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.tg-modal-body{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 24px;display:flex}.tg-spinner{border:3px solid var(--b1);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite spin}.tg-waiting-text{color:var(--t1);font-size:14px;font-weight:600;font-family:var(--f-body)}.tg-countdown-text{color:var(--t3);font-size:13px;font-family:var(--f-body)}.tg-link-btn{border-radius:var(--r-md);color:#fff;font-size:14px;font-weight:600;font-family:var(--f-body);transition:opacity var(--tf);cursor:pointer;background:#2aabee;align-items:center;gap:8px;padding:9px 20px;text-decoration:none;display:inline-flex}.tg-link-btn:hover{opacity:.88}.crop-modal-box{max-width:480px}.crop-container{background:#000;height:300px;position:relative;overflow:hidden}.crop-controls{flex-direction:column;gap:6px;padding:12px 24px;display:flex}.crop-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}@media (max-width:480px){.crop-container{height:220px}.crop-modal-box{max-width:100%}}.cal-shell{flex-direction:column;min-width:0;min-height:0;display:flex}.cal-shell--list{overflow:visible}.cal-shell--week{height:calc(100svh - var(--topbar-h));overflow:hidden}.cal-topbar{border-bottom:1px solid var(--b1);background:var(--bg);flex-shrink:0;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:0;padding:8px 16px;display:grid}.cal-topbar-left{flex-shrink:0;align-items:center;gap:2px;display:flex}.cal-topbar-center{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.cal-topbar-right{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.cal-topbar-title{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.cal-topbar-btn{border-radius:var(--r-md);border:1px solid var(--b1);height:32px;color:var(--t2);cursor:pointer;white-space:nowrap;transition:background var(--tf),color var(--tf);background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:500;display:flex}.cal-topbar-left .cal-topbar-btn:first-child,.cal-topbar-left .cal-topbar-btn:last-child{width:32px;padding:0;font-size:18px}.cal-topbar-btn:hover{background:var(--bg-3);color:var(--t1)}.cal-topbar-btn--active{background:var(--bg-3);color:var(--accent);border-color:var(--accent)}.cal-topbar-sep{background:var(--b1);flex-shrink:0;width:1px;height:20px;margin:0 2px}.cal-load-chip{border-radius:var(--r-2xl);background:var(--bg-3);color:var(--t2);border:1px solid var(--b1);min-width:0;padding:2px 8px;font-size:11px}.cal-control-strip{justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0 8px;display:flex}.cal-control-strip-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.cal-control-strip-week{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-control-strip-meta{align-items:center;gap:8px;margin-left:auto;display:flex}.cal-topbar-right>.cal-view-mode-toggle,.cal-topbar-right>.cal-zoom-btns,.cal-topbar-right>.cal-topbar-sep,.cal-topbar-right>button.cal-topbar-btn:not(.cal-topbar-more-hide):not(.cal-topbar-more-btn){display:none}.cal-zoom-btns{border:1px solid var(--b1);border-radius:var(--r-md);flex-wrap:wrap;min-width:0;display:flex;overflow:hidden}.cal-view-mode-toggle{flex-shrink:0}.cal-zoom-btn{height:32px;color:var(--t2);cursor:pointer;white-space:nowrap;transition:background var(--tf),color var(--tf);background:0 0;border:none;padding:0 10px;font-size:13px;font-weight:500}.cal-zoom-btn:hover{background:var(--bg-3)}.cal-zoom-btn--active{background:var(--bg-3);color:var(--t1)}.cal-grid-outer{flex:1;min-height:0;position:relative;overflow:auto}.cal-day-headers{z-index:10;background:color-mix(in srgb,var(--bg-2)94%,transparent);border-bottom:1px solid var(--b1);grid-template-columns:48px repeat(7,1fr);display:grid;position:sticky;top:0}.cal-time-col-header{display:block}.cal-day-header{min-height:52px;color:var(--t2);border-left:1px solid var(--b1);background:color-mix(in srgb,var(--bg-3)80%,transparent);flex-direction:column;justify-content:center;align-items:center;padding:8px 6px;font-size:12px;display:flex}.cal-day-header--today .cal-day-weekday,.cal-day-header--today .cal-day-date{color:var(--accent)}.cal-day-weekday{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cal-day-date{margin-top:1px;font-size:11px}.cal-day-nav{justify-content:center;gap:6px;padding:8px 0 4px;display:none}.cal-day-dot{background:var(--b2);cursor:pointer;width:8px;height:8px;transition:background var(--tf);border:none;border-radius:50%;padding:0}.cal-day-dot--active{background:var(--accent)}.cal-day-dot--today{box-shadow:0 0 0 2px var(--accent)}.cal-mobile-view-tabs{background:var(--bg-3);border-radius:var(--r-md);gap:0;margin:8px 0 4px;padding:3px;display:none}.cal-mobile-tab{border-radius:calc(var(--r-md) - 2px);color:var(--t2);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;border:none;flex:1;padding:6px 12px}.cal-mobile-tab--active{background:var(--bg-5);color:var(--accent)}.cal-week-overview{flex-direction:column;gap:2px;padding:4px 0 8px;display:flex}.cal-week-overview-row{border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--b1);text-align:left;cursor:pointer;width:100%;transition:background var(--tf);font-family:var(--f-body);align-items:center;gap:10px;padding:11px 14px;display:flex}.cal-week-overview-row:active{background:var(--bg-3)}.cal-week-overview-row--today{border-color:var(--accent)}.cal-week-overview-row--selected{background:color-mix(in srgb,var(--bg-4)85%,transparent);border-color:color-mix(in srgb,var(--accent)65%,var(--b2))}.cal-week-ov-day{flex-direction:column;min-width:52px;display:flex}.cal-week-ov-weekday{color:var(--t1);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.cal-week-ov-date{color:var(--t3);font-size:11px}.cal-week-ov-range{color:var(--t2);font-variant-numeric:tabular-nums;flex:1;font-size:13px}.cal-week-ov-count{text-align:center;background:var(--accent);color:#fff;border-radius:12px;min-width:24px;padding:2px 8px;font-size:12px;font-weight:700}.cal-week-ov-free{color:var(--t3);font-size:12px}.cal-grid--hidden{display:none}.cal-grid{grid-template-columns:48px repeat(7,1fr);display:grid;position:relative}.cal-time-col{border-right:1px solid var(--b1);flex-shrink:0;position:relative}.cal-time-label{color:var(--t3);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:10px;position:absolute;right:6px;transform:translateY(-50%)}.cal-day-col{border-left:1px solid var(--b1);cursor:crosshair;background:linear-gradient(#ffffff04,#fff0),linear-gradient(90deg,#ffffff03,#fff0);position:relative}.cal-grid-line{background:var(--b1);pointer-events:none;height:1px;position:absolute;left:0;right:0}.cal-now-line{background:var(--danger);z-index:5;pointer-events:none;height:2px;position:absolute;left:0;right:0}.cal-now-line:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.cal-slot{border-radius:var(--r-md);cursor:pointer;border-left:4px solid var(--b2);background:var(--bg-3);border-top:1px solid var(--b1);border-right:1px solid var(--b1);border-bottom:1px solid var(--b1);transition:box-shadow var(--tf),opacity var(--tf);z-index:2;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;left:4px;right:4px}.cal-slot:hover{box-shadow:0 2px 8px #0000004d}.cal-slot--cancelled{opacity:.45}.cal-slot--conflict{box-shadow:0 0 0 2px var(--danger)}.cal-slot--selected{box-shadow:0 0 0 2px var(--accent);background:var(--bg-4)}.cal-slot--dragging{opacity:.35}.cal-slot--overlay{pointer-events:none;opacity:.9;box-shadow:0 4px 20px #0006}.cal-slot--pending{animation:1.2s ease-in-out infinite slot-pulse}@keyframes slot-pulse{0%,to{opacity:1}50%{opacity:.55}}.cal-slot-inner{flex-direction:column;gap:2px;height:100%;padding:4px 6px;display:flex;overflow:hidden}.cal-slot-title{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.cal-slot-time{color:var(--t2);white-space:nowrap;font-size:11px}.cal-slot-capacity{color:var(--t3);font-size:10px}.cal-slot-badges{flex-wrap:wrap;gap:3px;display:flex}.cal-slot-badge{border-radius:var(--r-sm);padding:1px 5px;font-size:10px;line-height:1.4}.cal-slot-badge--full{color:var(--warning,#f59e0b);background:#ffa50026}.cal-slot-badge--cancelled{color:var(--danger);background:#ef44441f}.cal-slot-badge--pending{background:var(--bg-4);color:var(--t3)}.cal-resize-handle{cursor:ns-resize;z-index:3;justify-content:center;align-items:center;height:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.cal-resize-grip{background:var(--b2);border-radius:2px;width:20px;height:3px}.cal-details-backdrop{display:none}@media (max-width:768px){.cal-details-backdrop{z-index:210;background:#00000080;display:block;position:fixed;inset:0}}.cal-details-panel{right:0;top:var(--topbar-h);height:calc(100svh - var(--topbar-h));background:var(--bg-2);border-left:1px solid var(--b1);width:320px;transition:transform .22s var(--ease,ease);z-index:200;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translate(100%);container-type:inline-size}.cal-details-panel--open{transform:translate(0)}.cal-details-header{border-bottom:1px solid var(--b1);background:var(--bg-2);z-index:1;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:18px 16px 14px;display:flex;position:sticky;top:0}.cal-details-header-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-details-title{color:var(--t1);font-size:15px;font-weight:700;line-height:1.25}.cal-details-subtitle{color:var(--t3);font-size:12px;line-height:1.45}.cal-details-close{width:32px;height:32px;color:var(--t3);cursor:pointer;border-radius:var(--r-md);transition:background var(--tf),color var(--tf);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.cal-details-close:hover{background:var(--bg-3);color:var(--t1)}.cal-details-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.cal-details-footer{border-top:1px solid var(--b1);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 16px;display:flex}.cal-details-footer-main{flex-direction:column;gap:10px;display:flex}.cal-details-footer-support{flex-direction:column;gap:8px;padding-top:4px;display:flex}.cal-details-footer-danger{padding-top:2px}.cal-details-main-surface{flex-direction:column;gap:12px;display:flex}.cal-details-main-card{border:1px solid var(--b1);background:color-mix(in srgb,var(--bg-2)96%,transparent);border-radius:18px;flex-direction:column;gap:12px;padding:14px;display:flex}.cal-details-main-card--time{border-color:color-mix(in srgb,var(--accent)22%,var(--b1));background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent)10%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--bg-2)96%,transparent),var(--bg-3))}.cal-details-main-card--cancelled{gap:10px}.cal-details-main-card--readonly{background:color-mix(in srgb,var(--bg-2)94%,transparent)}.cal-details-main-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cal-details-main-card-head--stacked{flex-direction:column}.cal-details-main-card-copy{min-width:0}.cal-details-main-card-title{color:var(--t1);font-size:13px;font-weight:700;line-height:1.35}.cal-details-main-card-subtitle{color:var(--t3);margin-top:4px;font-size:12px;line-height:1.45}.cal-details-main-inline-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cal-details-main-inline-meta--stacked{justify-content:flex-start}.cal-details-inline-chip{border:1px solid var(--b1);background:var(--bg-3);white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.cal-details-inline-chip--status{color:var(--t1)}.cal-details-main-metrics{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;display:grid}.cal-details-main-metric-card{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.cal-details-main-metric-card .form-label{margin-bottom:0}.cal-details-main-metric-card--summary{grid-column:1/-1;justify-content:space-between}.cal-details-main-metric-value{font-variant-numeric:tabular-nums;color:var(--t1);font-size:18px;font-weight:700;line-height:1.2}.cal-details-readonly-grid{grid-template-columns:1fr;gap:12px;display:grid}.cal-details-readonly-field{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.cal-details-readonly-label{color:var(--t3);font-size:12px}.cal-details-readonly-value{min-width:0;color:var(--t1);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.cal-details-summary-label{color:var(--t3);font-size:12px}.cal-details-summary-value{font-variant-numeric:tabular-nums;color:var(--t1);font-size:22px;font-weight:700;line-height:1}.cal-details-time{color:var(--t2);background:var(--bg-3);border-radius:var(--r-md);border:1px solid var(--b1);padding:8px 12px;font-size:13px}.cal-details-stat{color:var(--t2);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.cal-details-stat-val{color:var(--t1);font-weight:600}.cal-roster-section{border-top:1px solid var(--b1);flex-direction:column;gap:10px;padding-top:12px;display:flex}.cal-student-shell{border-top:1px solid var(--b1);flex-direction:column;gap:12px;padding-top:14px;display:flex}.cal-student-shell-head{flex-direction:column;gap:10px;display:flex}.cal-student-shell-copy{flex-direction:column;gap:3px;display:flex}.cal-student-shell-title{color:var(--t1);font-size:14px;font-weight:700}.cal-student-shell-subtitle{color:var(--t3);font-size:12px}.cal-student-shell-summary{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.cal-student-shell-summary-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cal-student-shell-summary-label{color:var(--t3);font-size:12px;font-weight:600}.cal-student-shell-summary-value{color:var(--t1);font-size:14px;font-weight:700}.cal-student-shell-summary-status{flex-direction:column;gap:4px;display:flex}.cal-student-shell-summary-signal{color:var(--t1);font-size:13px;font-weight:600;line-height:1.4}.cal-student-shell-summary-signal--open,.cal-student-shell-summary-signal--inactive{color:var(--t2)}.cal-student-shell-summary-support{flex-direction:column;gap:4px;display:flex}.cal-student-shell-summary-hint,.cal-student-shell-summary-context{color:var(--t3);font-size:12px;line-height:1.45}.cal-student-shell-summary-context{color:var(--t2);font-weight:600}.cal-student-shell-body{flex-direction:column;gap:12px;display:flex}.cal-roster-section--nested{border-top:none;gap:8px;padding-top:0}.cal-roster-section--waitlist{border-top:1px dashed var(--b1);padding-top:12px}.cal-roster-section--waitlist-empty{padding-top:10px}.cal-roster-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.cal-roster-head--nested{align-items:baseline}.cal-roster-title{color:var(--t1);font-size:13px;font-weight:700}.cal-roster-count{background:var(--bg-3);min-width:24px;color:var(--t2);text-align:center;border-radius:999px;padding:2px 8px;font-size:12px}.cal-roster-empty{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);color:var(--t3);padding:12px;font-size:13px}.cal-roster-empty-state{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);flex-direction:column;gap:6px;padding:12px;display:flex}.cal-roster-empty-state--waitlist{background:var(--bg-2)}.cal-roster-empty-state--supporting{border-style:dashed;padding:10px 12px}.cal-roster-empty-title{color:var(--t2);font-size:13px;font-weight:700}.cal-roster-empty-hint{color:var(--t3);font-size:12px;line-height:1.45}.cal-roster-list{flex-direction:column;gap:10px;display:flex}.cal-roster-card{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);flex-direction:column;gap:10px;padding:12px;display:flex}.cal-roster-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.cal-roster-card--roster{gap:12px}.cal-roster-card-head--roster{justify-content:flex-start}.cal-roster-student{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-roster-student--roster{gap:4px}.cal-roster-student-topline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cal-roster-student-topline .cal-roster-student-name{flex:150px;min-width:0}.cal-roster-student-topline .slot-status-badge{flex-shrink:0}.cal-roster-student-name{color:var(--t1);text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.cal-roster-student-phone,.cal-roster-source{color:var(--t3);font-size:12px}.cal-roster-student-phone{font-variant-numeric:tabular-nums}.cal-roster-meta{flex-wrap:wrap;gap:8px;display:flex}.cal-roster-package-panel{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-2);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.cal-roster-package-panel--unset{gap:6px}.cal-roster-package-main{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cal-roster-package-label{color:var(--t3);font-size:12px;font-weight:600}.cal-roster-package-value{color:var(--t1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.cal-roster-package-meta{flex-wrap:wrap;gap:8px;display:flex}.cal-roster-package-chip{border:1px solid var(--b1);background:var(--bg-3);min-height:30px;color:var(--t2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.cal-package-warning-badge{padding:var(--ui-badge-padding-y)var(--ui-badge-padding-x);border-radius:var(--ui-badge-radius);font-size:var(--ui-badge-font-size);font-weight:var(--ui-badge-font-weight);font-family:var(--f-body);background:var(--warning-bg);color:var(--warning);white-space:nowrap;align-items:center;display:inline-flex}.cal-package-warning-badge--empty{background:var(--danger-bg);color:var(--danger)}.cal-attendance-block{flex-direction:column;gap:8px;display:flex}.cal-attendance-label{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:700}.cal-attendance-actions{flex-wrap:wrap;gap:8px;display:flex}.cal-attendance-actions--roster{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.cal-roster-card--waitlist{background:var(--bg-2);gap:12px;container-type:inline-size}.cal-roster-card-head--waitlist{gap:12px}.cal-roster-student--waitlist{gap:4px}.cal-waitlist-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.cal-waitlist-add-shell{border:1px solid var(--b1);border-radius:var(--r-md);background:var(--bg-3);flex-direction:column;gap:12px;padding:12px;display:flex;container-type:inline-size}.cal-waitlist-add-copy{flex-direction:column;gap:4px;display:flex}.cal-waitlist-add-title{color:var(--t1);font-size:13px;font-weight:700}.cal-waitlist-add-hint{color:var(--t3);max-width:48ch;font-size:12px;line-height:1.45}.cal-waitlist-add .form-input{width:100%;min-width:0}.cal-waitlist-add .modal-btn{white-space:nowrap;min-width:124px}.cal-waitlist-action-block{flex-direction:column;gap:8px;display:flex}.cal-waitlist-action-label{letter-spacing:.04em;text-transform:uppercase;color:var(--t3);font-size:11px;font-weight:700}.cal-waitlist-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cal-waitlist-action-btn{white-space:nowrap;justify-content:center;width:100%;min-width:0}.cal-waitlist-action-btn--primary{color:var(--accent-lite);background:#7c6bff1f;border-color:#7c6bff3d}.cal-waitlist-action-btn--primary:hover{color:var(--accent-lite);background:#7c6bff2e;border-color:#7c6bff52}.cal-waitlist-action-btn--secondary{background:var(--bg-2);border-color:var(--b1);color:var(--t2)}.cal-waitlist-action-btn--secondary:hover{background:var(--bg-4);border-color:var(--b2);color:var(--t1)}.cal-time-input-col{min-width:0}.cal-blocks-list{border-top:1px solid var(--b1);margin-top:18px;padding-top:18px}.cal-blocks-list-title{color:var(--t1);margin-bottom:10px;font-size:13px;font-weight:700}.cal-attendance-btn{border-radius:var(--r-md);border:1px solid var(--b2);background:var(--bg-2);min-width:88px;color:var(--t2);font-size:12px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),border-color var(--tf),color var(--tf);flex:88px;padding:8px 10px}.cal-attendance-btn:hover{background:var(--bg-4);color:var(--t1)}.cal-attendance-btn:disabled{opacity:.5;cursor:not-allowed}.cal-attendance-btn--active{color:var(--accent-lite);background:#7c6bff1f;border-color:#7c6bff4d}.cal-attendance-actions--roster .cal-attendance-btn{white-space:nowrap;flex:none;min-width:0;padding:9px 8px;font-size:11px}.cal-attendance-btn--attended.cal-attendance-btn--active{color:var(--teal);background:#00e5c81f;border-color:#00e5c83d}.cal-attendance-btn--missed.cal-attendance-btn--active{background:var(--warning-bg);color:var(--warning);border-color:#ffb80038}.cal-attendance-btn--cancelled.cal-attendance-btn--active{background:var(--danger-bg);color:var(--danger);border-color:#ff6b6b3d}.cal-color-palette{flex-wrap:wrap;gap:6px;display:flex}.cal-color-swatch{cursor:pointer;width:22px;height:22px;transition:transform var(--tf),border-color var(--tf);border:2px solid #0000;border-radius:50%}.cal-color-swatch--none{background:var(--b2)}.cal-color-swatch--violet{background:var(--accent)}.cal-color-swatch--blue{background:#4a90d9}.cal-color-swatch--green{background:#4caf50}.cal-color-swatch--orange{background:var(--warning)}.cal-color-swatch--red{background:var(--danger)}.cal-color-swatch:hover{transform:scale(1.15)}.cal-color-swatch--active{border-color:var(--t1)}.cal-details-danger-btn{border-radius:var(--r-md);border:1px solid var(--danger);color:var(--danger);font-size:14px;font-weight:700;font-family:var(--f-body);cursor:pointer;transition:background var(--tf);background:#ef444414;padding:9px 20px}.cal-details-danger-btn:hover{background:#ef44442e}.cal-details-dup-shell{border:1px solid color-mix(in srgb,var(--b1)84%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg-2)88%,transparent);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.cal-details-dup-copy{flex-direction:column;gap:3px;display:flex}.cal-details-dup-title{letter-spacing:.04em;text-transform:uppercase;color:var(--t2);font-size:11px;font-weight:700}.cal-details-dup-hint{color:var(--t3);font-size:12px;line-height:1.4}.cal-details-dup-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cal-details-dup-btn{border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--b2)88%,transparent);background:color-mix(in srgb,var(--bg-3)96%,transparent);min-width:0;color:var(--t2);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf);padding:9px 14px}.cal-details-dup-btn:hover{background:color-mix(in srgb,var(--bg-4)98%,transparent);border-color:color-mix(in srgb,var(--b1)96%,transparent);color:var(--t1)}.cal-details-dup-btn:disabled{opacity:.5;cursor:not-allowed}.cal-move-section{border-top:1px solid var(--b1);flex-direction:column;gap:8px;padding-top:12px;display:flex}.cal-move-quick-row{gap:6px;display:flex}.cal-move-quick-btn{flex:1;padding:7px 4px!important;font-size:12px!important}.cal-move-custom-row{align-items:center;gap:6px;display:flex}.cal-move-date{flex:2;min-width:0}.cal-move-time{flex:1;min-width:0}.cal-move-error{color:var(--danger);margin:0;font-size:12px}.cal-time-row{align-items:center;gap:8px;display:flex}.cal-time-input{flex-shrink:0;width:110px}.cal-time-status{color:var(--t3);font-size:12px}.cal-time-error{color:var(--danger);font-size:12px}.cal-extra-details{border:1px solid var(--b1);border-radius:var(--r-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2)97%,transparent),color-mix(in srgb,var(--bg-3)94%,transparent));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bg-4)64%,transparent);margin-top:4px;overflow:clip;container-type:inline-size}.cal-extra-summary{color:var(--t2);border-bottom:1px solid color-mix(in srgb,var(--b1)84%,transparent);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 12px;display:flex}.cal-extra-summary-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.cal-extra-summary-title{letter-spacing:.04em;text-transform:uppercase;color:var(--t2);font-size:12px;font-weight:700}.cal-extra-summary-hint{color:var(--t3);font-size:12px;line-height:1.45}.cal-extra-body{flex-direction:column;gap:12px;padding:14px;display:flex}.cal-extra-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.cal-extra-field{border:1px solid color-mix(in srgb,var(--b1)84%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg-2)90%,transparent);min-width:0;margin:0;padding:12px}.cal-extra-field .form-label{color:var(--t3);margin-bottom:6px}.cal-extra-field--color .form-label{margin-bottom:8px}.cal-extra-field--notes .form-textarea{resize:vertical;min-height:104px}.cal-confirm-block{flex-direction:column;gap:10px;display:flex}.cal-confirm-row{gap:8px;display:flex}.cal-confirm-btn{flex:1}.cal-bulk-bar{bottom:0;left:var(--sidebar-w,240px);background:var(--bg-2);border-top:1px solid var(--b2);z-index:300;transition:transform .2s var(--ease,ease);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex;position:fixed;right:0;transform:translateY(100%)}.cal-bulk-bar--visible{transform:translateY(0)}.cal-bulk-count{color:var(--t1);margin-right:4px;font-size:13px;font-weight:600}.cal-bulk-btn{border-radius:var(--r-md);border:1px solid var(--b1);color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;padding:7px 14px;font-size:13px}.cal-bulk-btn:hover{background:var(--bg-3);color:var(--t1)}.cal-bulk-btn--danger{border-color:var(--danger);color:var(--danger)}.cal-bulk-btn--danger:hover{background:#ef44441a}.cal-bulk-spacer{flex:1}.cal-bulk-close{width:30px;height:30px;color:var(--t3);cursor:pointer;border-radius:var(--r-md);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.modal-box--lg{width:100%;max-width:600px}.modal-box--xl{width:100%;max-width:840px}.cal-copy-week-modal,.cal-templates-modal{padding:0;overflow:hidden}.cal-copy-week-modal .modal-title,.cal-templates-modal .modal-title{margin:0}.cal-modal-header{padding:24px 24px 0}.cal-modal-header--split{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cal-modal-body{padding:18px 24px}.cal-modal-footer{padding:0 24px 24px}.cal-copy-week-modal .cal-quick-actions,.cal-templates-modal .cal-quick-actions{margin-top:0}@media (max-width:640px){.cal-modal-header{padding:20px 16px 0}.cal-modal-body{padding:16px}.cal-modal-footer{padding:0 16px 16px}.cal-copy-week-modal,.cal-templates-modal{overflow:auto}}.cal-modal-section{margin-bottom:16px}.cal-modal-label{color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px}.cal-modal-week-chip{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);color:var(--t1);padding:6px 14px;font-size:13px;display:inline-block}.cal-mode-btns{gap:8px;display:flex}.cal-mode-btn{border-radius:var(--ui-tab-radius);border:1px solid var(--b1);color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf);background:0 0;flex:1;padding:8px;font-size:13px}.cal-mode-btn--active{background:var(--bg-3);color:var(--accent);border-color:var(--accent)}.cal-mode-hint{color:var(--t3);margin-top:6px;font-size:12px;line-height:1.4}.cal-warn-card{border-radius:var(--r-md);color:var(--danger);background:#ef444414;border:1px solid #ef444440;margin-top:8px;padding:10px 14px;font-size:13px}.cal-week-picker{align-items:center;gap:10px;display:flex}.cal-include-label{color:var(--t2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.cal-tpl-list-loading{text-align:center;color:var(--t3);padding:24px 0}.cal-tpl-empty{text-align:center;padding:24px 0}.cal-tpl-empty-title{color:var(--t2);margin:0 0 4px;font-size:14px;font-weight:600}.cal-tpl-empty-hint{color:var(--t3);margin:0;font-size:12px}.cal-tpl-card{border-radius:var(--r-md);border:1px solid var(--b1);background:var(--bg-3);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;display:flex}.cal-tpl-name{color:var(--t1);font-size:14px;font-weight:600}.cal-tpl-meta{color:var(--t3);margin-top:2px;font-size:12px}.cal-tpl-actions{gap:6px;display:flex}.cal-tpl-action-btn{border-radius:var(--r-md);border:1px solid var(--b1);color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;padding:5px 10px;font-size:12px}.cal-tpl-action-btn:hover{background:var(--bg-4);color:var(--t1)}.cal-tpl-action-btn--danger{border-color:var(--danger);color:var(--danger)}.cal-tpl-action-btn--danger:hover{background:#ef44441a}.cal-tpl-items{border-collapse:collapse;width:100%;font-size:12px}.cal-tpl-items th{text-align:left;border-bottom:1px solid var(--b1);color:var(--t3);white-space:nowrap;padding:6px 8px;font-weight:500}.cal-tpl-items td{border-bottom:1px solid var(--b1);color:var(--t2);padding:4px 8px}.cal-tpl-items input,.cal-tpl-items select{background:var(--bg-4);border:1px solid var(--b1);border-radius:var(--r-sm);color:var(--t1);width:100%;min-width:0;padding:3px 6px;font-size:12px}.cal-tpl-add-btn{border-radius:var(--r-md);border:1px dashed var(--b2);color:var(--t3);cursor:pointer;width:100%;transition:background var(--tf),color var(--tf);background:0 0;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:7px 12px;font-size:13px;display:flex}.cal-tpl-add-btn:hover{background:var(--bg-3);color:var(--t1)}.cal-error-banner{color:var(--danger);flex-shrink:0;align-items:center;gap:4px;padding:8px 16px;font-size:13px;display:flex}.cal-error-retry-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:13px}.cal-empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.cal-empty-icon{color:var(--t3);opacity:.5}.cal-empty-title{color:var(--t2);margin:0;font-size:16px;font-weight:600}.cal-empty-hint{color:var(--t3);margin:0;font-size:13px}.cal-empty-cta{max-width:200px;margin-top:8px}.cal-quick-row{gap:10px;display:flex}.cal-quick-col{flex:1}.cal-quick-actions{gap:10px;margin-top:8px;display:flex}.cal-create-modal-head{align-items:flex-start;padding-top:28px;padding-bottom:6px}.cal-create-modal-title-wrap{flex-direction:column;gap:8px;min-width:0;display:flex}.cal-create-modal-body{padding:10px 24px 24px}.cal-create-form{flex-direction:column;gap:14px;display:flex}.cal-create-section{border:1px solid var(--b1);background:color-mix(in srgb,var(--bg-2)92%,transparent);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.cal-create-section--primary{border-color:color-mix(in srgb,var(--accent)18%,var(--b1));background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent)10%,transparent),transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--bg-2)95%,transparent),var(--bg-3));gap:14px}.cal-create-section--secondary{gap:10px;padding-block:14px}.cal-create-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cal-create-section-hint{color:var(--t3);margin-top:4px;font-size:12px;line-height:1.45}.cal-create-date-chip{background:color-mix(in srgb,var(--accent)14%,transparent);border:1px solid color-mix(in srgb,var(--accent)24%,var(--b1));color:var(--t1);border-radius:999px;align-items:center;margin-top:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.cal-create-time-group{flex-direction:column;gap:8px;display:flex}.cal-create-time-labels,.cal-create-time-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cal-create-time-labels{color:var(--t2);font-size:12px;font-weight:600}.cal-create-time-cell{min-width:0}.cal-create-time-input{width:100%;min-height:52px;font-size:18px;font-weight:700}.cal-create-metrics-row{align-items:flex-start}.cal-create-repeat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cal-create-repeat-btn{border-radius:var(--r-md);border:1px solid var(--b2);background:var(--bg-3);min-height:46px;color:var(--t2);font-size:13px;font-weight:600;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf)}.cal-create-repeat-btn:hover{background:var(--bg-4);color:var(--t1)}.cal-create-repeat-btn--active{background:color-mix(in srgb,var(--accent)16%,var(--bg-3));border-color:color-mix(in srgb,var(--accent)45%,var(--b2));color:var(--t1)}.cal-create-actions{z-index:1;background:linear-gradient(180deg,#fff0,color-mix(in srgb,var(--ui-modal-bg)82%,transparent)24%,color-mix(in srgb,var(--ui-modal-bg)98%,transparent)72%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;align-items:stretch;gap:8px;margin-top:4px;padding:12px 0 0;position:sticky;bottom:0}.cal-create-actions .modal-btn--secondary{width:auto;color:var(--t2);background:0 0;border-color:#0000;justify-content:center;align-self:center;padding-inline:12px;display:inline-flex}.cal-create-actions .modal-btn--secondary:hover{color:var(--t1);background:0 0}.cal-time-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.cal-time-arrow{color:var(--t3);text-align:center;padding-bottom:10px;font-size:16px}.cal-time-end{color:var(--t2);cursor:default;-webkit-user-select:none;user-select:none}.cal-duration-btns{gap:6px;display:flex}.cal-duration-btn{border-radius:var(--r-sm);border:1px solid var(--b2);background:var(--bg-3);color:var(--t2);font-size:13px;font-family:var(--f-body);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf);flex:1;padding:7px 0}.cal-duration-btn:hover{background:var(--bg-4);color:var(--t1)}.cal-duration-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.cal-create-title{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;margin-bottom:16px;font-size:16px;font-weight:700;overflow:hidden}.cal-time-input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.5px}.form-input--error{border-color:var(--danger)!important}.cal-duration-btn:focus-visible,.cal-mode-btn:focus-visible,.cal-topbar-btn:focus-visible,.auth-btn:focus-visible,.cal-create-repeat-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (min-width:768px){.cal-create-actions{flex-direction:row;align-items:center;padding-top:14px;bottom:0}.cal-create-actions .modal-btn--primary{flex:1}.cal-create-actions .modal-btn--secondary{width:auto;padding-inline:var(--ui-btn-padding-x);background:var(--bg-3);border-color:var(--b1);color:var(--t1);align-self:auto}.cal-create-actions .modal-btn--secondary:hover{background:var(--bg-4)}}@media (max-width:640px){.cal-create-modal-head{gap:12px;padding-top:24px}.cal-create-modal-body{padding:8px 20px 22px}.cal-create-section{padding:14px}.cal-create-actions{padding-top:10px;bottom:0}}@container (min-width:420px){.cal-details-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-extra-grid{grid-template-columns:minmax(0,1fr) minmax(140px,.72fr);align-items:start}.cal-extra-field--location,.cal-extra-field--color{min-height:100%}.cal-extra-field--notes{grid-column:1/-1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-block{border-radius:var(--r-md);background:linear-gradient(90deg,var(--bg-2)25%,var(--bg-3)50%,var(--bg-2)75%);background-size:800px 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-list{flex-direction:column;gap:2px;padding:8px 0;display:flex}.skeleton-list-day{padding:10px 14px}.skeleton-list-header{width:120px;height:16px;margin-bottom:10px}.skeleton-list-card{height:54px;margin-bottom:2px}.schedule-list{flex-direction:column;gap:14px;padding:6px 0 10px;display:flex}.schedule-mobile-mode-row{display:none!important}.schedule-list-tools{flex-direction:column;gap:10px;padding:4px 0 2px;display:flex}.schedule-day-tabs{--schedule-day-tabs-end-space:12px;--schedule-day-tabs-trailing-space:0px;box-sizing:border-box;scrollbar-width:none;width:100%;padding:0 calc(var(--schedule-day-tabs-end-space) + var(--schedule-day-tabs-trailing-space))2px 12px;overscroll-behavior-x:contain;gap:8px;scroll-padding-inline:12px;display:flex;overflow-x:auto}.schedule-day-tabs::-webkit-scrollbar{display:none}.schedule-day-tab{border:1px solid var(--b1);background:color-mix(in srgb,var(--bg-2)94%,transparent);min-width:96px;color:var(--t2);cursor:pointer;transition:background var(--tf),border-color var(--tf),color var(--tf),box-shadow var(--tf);scroll-snap-align:start;border-radius:16px;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.schedule-day-tab:hover{background:var(--bg-3);border-color:var(--b2)}.schedule-day-tab--active{background:color-mix(in srgb,var(--bg-4)86%,transparent);border-color:color-mix(in srgb,var(--accent)60%,var(--b2));color:var(--t1);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)18%,transparent)}.schedule-day-tab--today:not(.schedule-day-tab--active){border-color:color-mix(in srgb,var(--accent)35%,var(--b1))}.schedule-day-tab-main{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.schedule-day-tab-weekday{text-transform:uppercase;letter-spacing:.04em;color:currentColor;font-size:11px;font-weight:700}.schedule-day-tab-date{color:currentColor;white-space:nowrap;font-size:13px;font-weight:600}.schedule-day-tab-count{background:var(--bg-4);min-width:22px;height:22px;color:var(--t1);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.schedule-day-tab--active .schedule-day-tab-count{background:var(--accent);color:#fff}.schedule-mobile-filter-row{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.schedule-mobile-filter-row::-webkit-scrollbar{display:none}.schedule-mobile-filter-chip{border-radius:var(--r-pill);border:1px solid var(--b1);background:var(--bg-2);min-width:0;color:var(--t2);cursor:pointer;white-space:nowrap;flex:none;padding:8px 12px;font-size:12px;font-weight:600}.schedule-mobile-filter-chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.schedule-list-day{border-radius:var(--r-lg);border:1px solid var(--b1);background:color-mix(in srgb,var(--bg-2)90%,transparent);overflow:hidden}.schedule-list-day--selected{border-color:color-mix(in srgb,var(--accent)42%,var(--b2));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)12%,transparent)}.schedule-list-day--today .schedule-list-header{background:color-mix(in srgb,var(--bg-4)88%,transparent)}.schedule-list-day--selected .schedule-list-header{background:color-mix(in srgb,var(--bg-4)92%,transparent)}.schedule-list-day--today .schedule-list-weekday{color:var(--accent)}.schedule-list-header{z-index:3;background:color-mix(in srgb,var(--bg-3)92%,transparent);border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}.schedule-list-date{align-items:baseline;gap:8px;display:flex}.schedule-list-weekday{font-family:var(--f-display);color:var(--t1);text-transform:capitalize;font-size:13px;font-weight:600}.schedule-list-daymonth{color:var(--t3);font-size:13px}.schedule-list-add-btn{border-radius:var(--r-sm);border:1px solid var(--b1);width:28px;height:28px;color:var(--t2);cursor:pointer;transition:background var(--tf),color var(--tf),border-color var(--tf);background:0 0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.schedule-list-add-btn:hover{background:var(--bg-3);color:var(--accent);border-color:var(--accent)}.schedule-list-empty{color:var(--t3);padding:12px 14px;font-size:13px}.schedule-list-empty-card{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.schedule-list-empty-copy{min-width:0}.schedule-list-empty-title{color:var(--t1);margin:0;font-size:14px;font-weight:600}.schedule-list-empty-text{color:var(--t3);margin:6px 0 0;font-size:13px;line-height:1.45}.schedule-list-empty-action{border-radius:var(--r-pill);border:1px solid var(--accent);background:color-mix(in srgb,var(--accent)14%,transparent);min-height:38px;color:var(--accent);cursor:pointer;white-space:nowrap;transition:background var(--tf),border-color var(--tf),color var(--tf);flex-shrink:0;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.schedule-list-empty-action:hover{background:color-mix(in srgb,var(--accent)18%,transparent)}.schedule-list-cards{flex-direction:column;gap:8px;padding:8px;display:flex}.schedule-list-card{border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--b1);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;transition:background var(--tf),border-color var(--tf),box-shadow var(--tf);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.schedule-list-card:hover{background:var(--bg-3);border-color:var(--b2);box-shadow:0 1px 4px #00000026}.schedule-list-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.schedule-list-card--cancelled{opacity:.5}.schedule-list-card--conflict{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.schedule-list-card--pending{animation:1.2s ease-in-out infinite slot-pulse}.schedule-list-card-color{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.schedule-list-card-time{font-variant-numeric:tabular-nums;color:var(--t1);white-space:nowrap;flex-direction:column;flex-shrink:0;gap:2px;min-width:90px;font-size:14px;font-weight:600;display:flex}.schedule-list-card-dur{color:var(--t3);font-size:11px;font-weight:400}.schedule-list-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.schedule-list-card-title{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.schedule-list-card-type{color:var(--t3);font-size:12px}.schedule-list-card-meta{color:var(--t2);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.schedule-list-card-seats{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.schedule-list-card-price{color:var(--t3);font-size:12px}.schedule-list-card-badge{border-radius:var(--r-sm);color:var(--warning,#f59e0b);white-space:nowrap;background:#ffa50026;padding:1px 6px;font-size:10px;line-height:1.4}.schedule-list-card-badge--cancel{color:var(--danger);background:#ef44441f}.schedule-list-card-delete-btn{border-radius:var(--r-sm);color:var(--danger);cursor:pointer;white-space:nowrap;transition:background var(--tf);background:0 0;border:1px solid #ef444466;padding:2px 8px;font-size:11px}.schedule-list-card-delete-btn:hover{background:#ef44441a}.schedule-list-card-delete-btn:disabled{opacity:.5;cursor:default}.schedule-list-cancelled-toggle{color:var(--t3);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin:0 8px 8px;padding:6px 10px;font-size:12px;text-decoration:underline}.schedule-list-cancelled-toggle:hover{color:var(--t2)}.booking-slot-title{color:var(--t1);margin-top:2px;font-size:13px;font-weight:500}.booking-slot-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.booking-slot-type,.booking-slot-location,.booking-slot-price{color:var(--t3);font-size:12px}.booking-slot-price{color:var(--t2);font-weight:500}.public-layout{background:var(--g-hero),var(--g-mesh),var(--bg);justify-content:center;min-height:100svh;padding:48px 20px 80px;display:flex}.public-page{width:100%;max-width:520px}.public-lang-seg{background:var(--bg-2);border:1px solid var(--b1);border-radius:var(--r-pill);align-self:flex-end;gap:2px;width:fit-content;margin-bottom:24px;padding:3px;display:flex}.public-lang-btn{border-radius:var(--r-pill);color:var(--t3);letter-spacing:.07em;cursor:pointer;transition:background var(--tf),color var(--tf);background:0 0;border:none;padding:5px 12px;font-size:11px;font-weight:700}.public-lang-btn:hover{color:var(--t2)}.public-lang-btn--active{background:var(--bg-4);color:var(--t1)}.public-header{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:40px;display:flex}.public-avatar{object-fit:cover;border:2px solid #ffffff26;border-radius:50%;flex-shrink:0;width:84px;height:84px;box-shadow:0 0 0 5px #7c6bff2e,0 8px 24px #0006}.public-teacher-info{min-width:0}.public-teacher-name{font-family:var(--f-display);color:var(--t1);letter-spacing:-.04em;overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(24px,4vw,32px);font-weight:800;line-height:1.1}.public-teacher-bio{color:var(--t2);overflow-wrap:anywhere;max-width:360px;margin:0;font-size:14px;line-height:1.55}.public-section-title{color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;font-size:11px;font-weight:600}.public-error{text-align:center;color:var(--t2);flex-direction:column;align-items:center;gap:12px;padding:40px 0;font-size:14px;display:flex}.public-error p{margin:0}.public-empty{text-align:center;color:var(--t3);padding:56px 0}.public-empty-icon{color:var(--t3);margin-bottom:14px}.public-empty-title{color:var(--t2);margin:0 0 4px;font-size:15px;font-weight:600}.public-empty-hint{color:var(--t3);margin:0;font-size:13px}.public-slots{flex-direction:column;gap:14px;display:flex}.public-day{flex-direction:column;gap:4px;display:flex}.public-day-header{align-items:center;gap:8px;padding:0 2px;display:flex}.public-day--today .public-day-weekday{color:var(--accent)}.public-day-weekday{font-family:var(--f-display);color:var(--t2);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.public-day-date{color:var(--t3);letter-spacing:.02em;font-size:12px}.public-day-header:after{content:"";background:linear-gradient(to right,var(--b1),transparent);flex:1;height:1px;margin-left:4px}.public-day-cards{flex-direction:column;gap:4px;display:flex}.public-slot-card{border-radius:var(--r-xl);background:var(--bg-2);transition:border-color var(--tf),box-shadow var(--tf),transform var(--tf);border:1px solid #ffffff17;align-items:center;gap:14px;padding:15px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000059,0 0 0 1px #ffffff0a,0 0 0 1px #7c6bff0f}.public-slot-card:before{content:"";background:var(--g-card);pointer-events:none;opacity:0;transition:opacity var(--tf);position:absolute;inset:0}.public-slot-card:hover{border-color:#7c6bff59;transform:translateY(-1px);box-shadow:0 4px 20px #00000073,0 0 0 1px #7c6bff33,0 0 28px #7c6bff1a}.public-slot-card:hover:before{opacity:1}[data-theme=light] .public-slot-card{border-color:#00000014;box-shadow:0 2px 8px #00000012,0 0 0 1px #0000000a}[data-theme=light] .public-slot-card:hover{border-color:#7c6bff4d;transform:translateY(-1px);box-shadow:0 4px 16px #0000001a,0 0 0 1px #7c6bff2e}.public-slot-left{z-index:1;flex-direction:column;flex:1;gap:5px;min-width:0;display:flex;position:relative}.public-slot-right{z-index:1;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;gap:8px;display:flex;position:relative}.public-slot-time{font-family:var(--f-display);font-variant-numeric:tabular-nums;color:var(--t1);letter-spacing:-.02em;white-space:nowrap;font-size:16px;font-weight:700}.public-slot-body{flex-direction:column;gap:2px;display:flex}.public-slot-title{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.public-slot-type{color:var(--t3);font-size:12px}.public-slot-meta{color:var(--t3);flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;display:flex}.public-slot-spots{font-variant-numeric:tabular-nums}.public-slot-price{color:var(--t2);font-size:13px;font-weight:600}.public-book-btn{border-radius:var(--r-pill);letter-spacing:.01em;flex-shrink:0;height:40px;padding:0 22px;font-size:13px;font-weight:600;width:auto!important}.public-booking-modal{background:var(--bg-2);border:1px solid #ffffff21;max-width:420px;padding:32px 36px 40px;overflow:hidden;box-shadow:0 2px 4px #0009,0 0 0 1px #fff1,0 48px 120px #0000009e,0 0 0 1px #7c6bff24,0 0 48px #7c6bff1c}[data-theme=light] .public-booking-modal{border-color:#0000001c;box-shadow:0 2px 16px #00000014,0 0 0 1px #00000012,0 32px 80px #0000001f,0 0 0 1px #7c6bff1a,0 0 36px #7c6bff12}.public-booking-modal:before{content:"";background:var(--g-card);pointer-events:none;position:absolute;inset:0}.public-booking-slot-info,.public-booking-step,.public-booking-close{z-index:1;position:relative}.public-booking-slot-info{text-align:center;border-bottom:1px solid #ffffff14;margin-bottom:24px;padding:0 0 24px}.public-booking-eyebrow{letter-spacing:.11em;text-transform:uppercase;color:var(--t3);opacity:.7;margin-bottom:12px;font-size:11px;font-weight:700}[data-theme=light] .public-booking-slot-info{border-bottom-color:#00000014}.public-booking-date{color:var(--t2);text-transform:capitalize;letter-spacing:.02em;margin-bottom:6px;font-size:14px}.public-booking-time{font-family:var(--f-display);color:var(--t1);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1.1}.public-booking-title{color:var(--t2);margin-top:8px;font-size:15px;font-weight:500}.public-booking-price{color:var(--t2);margin-top:4px;font-size:14px;font-weight:600}.public-booking-step{flex-direction:column;gap:10px;display:flex}.public-booking-step .auth-sub{color:var(--t1);letter-spacing:-.01em;margin-bottom:0;font-size:15px;font-weight:600}.public-booking-step .phone-wrap{border-radius:var(--r-lg);min-height:54px;padding:0 16px}.public-booking-step .phone-input,.public-booking-step .phone-prefix{font-size:16px}.public-booking-step .auth-btn{height:54px;font-size:16px}.public-booking-step .auth-error-wrap{min-height:0}.public-booking-step .auth-legal{text-align:center;color:var(--t3);margin-top:2px;font-size:12.5px;line-height:1.65}.public-booking-step .auth-legal a{color:var(--t2);text-underline-offset:2px;-webkit-text-decoration:underline #ffffff2e;text-decoration:underline #ffffff2e}.public-booking-step .auth-legal a:hover{color:var(--t1)}.public-booking-step--center{text-align:center;align-items:center;padding:12px 0}.public-booking-loading{color:var(--t3);padding:20px 0;font-size:14px}.public-booking-close{z-index:2;width:32px;height:32px;color:var(--t3);cursor:pointer;border-radius:var(--r-md);transition:background var(--tf),color var(--tf);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.public-booking-close:hover{background:var(--bg-3);color:var(--t1)}.public-booking-success-icon{margin-bottom:8px}.public-booking-success-text{color:var(--t1);margin-bottom:8px;font-size:18px;font-weight:700}@media (max-width:768px){.cal-day-headers{grid-template-columns:40px 1fr}.cal-day-header--hidden{display:none}.cal-grid{grid-template-columns:40px 1fr}.cal-day-col--hidden{display:none}.cal-day-nav,.cal-mobile-view-tabs{display:flex}.schedule-mobile-tools{flex-direction:column;gap:10px;padding:4px 0 10px;display:flex}.cal-topbar-more-hide{display:none}.cal-topbar-more-btn{display:flex}.cal-details-panel{border-left:none;border-top:1px solid var(--b1);border-radius:var(--r-2xl)var(--r-2xl)0 0;z-index:220;flex-direction:column;width:100%;height:100dvh;display:flex;top:auto;bottom:0;overflow:hidden;transform:translateY(100%)}.cal-details-panel--open{transform:translateY(0)}.cal-details-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.cal-details-footer{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex-shrink:0}.cal-details-main-surface .cal-time-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-bulk-bar{left:0}.cal-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right""center center";gap:8px;padding:6px 8px 4px}.cal-topbar-left{grid-area:left;gap:6px;min-width:0}.cal-topbar-center{grid-area:center;align-items:flex-start;gap:6px}.cal-topbar-sep{display:none}.cal-topbar-right{grid-area:right;justify-self:end;gap:4px}.cal-topbar-title{white-space:normal;text-overflow:clip;font-size:13px;line-height:1.25;overflow:visible}.cal-load-chip{display:none}.cal-topbar-btn{height:30px;padding:0 8px;font-size:12px}.cal-topbar-left .cal-topbar-btn:first-child,.cal-topbar-left .cal-topbar-btn:last-child{width:30px;height:30px}.cal-control-strip{flex-direction:column;align-items:stretch;gap:8px;padding:8px 0 4px}.cal-control-strip-main{justify-content:space-between;width:100%}.cal-control-strip .cal-view-mode-toggle{width:100%}.cal-control-strip .cal-view-mode-toggle .cal-zoom-btn{flex:1 1 0}.schedule-mobile-mode-row{display:none!important}.teacher-dashboard-head{gap:10px;margin-bottom:0!important}.teacher-dashboard-head-copy{gap:4px}.teacher-dashboard-greeting{font-size:22px;line-height:1.08}.teacher-dashboard-greeting-sub{max-width:none}.teacher-dashboard-status{min-width:0;max-width:none}.teacher-dashboard-status--compact{padding:10px 12px}.teacher-dashboard-status--quiet{border-radius:14px;max-width:none;padding:8px 12px}.teacher-dashboard-status--inline{border-radius:16px;gap:6px 10px}.teacher-dashboard-status--micro{gap:3px 7px;padding:4px 8px}.teacher-dashboard-upcoming-head{align-items:flex-start;gap:10px;margin-bottom:14px}.teacher-dashboard-upcoming-card--hero{padding:18px 16px}.teacher-dashboard-upcoming-actions{justify-content:flex-start;gap:12px;width:100%}.teacher-dashboard-upcoming-title-wrap{gap:6px}.teacher-dashboard-secondary{grid-template-columns:1fr;gap:14px}.teacher-dashboard-attention-card{order:1}.teacher-dashboard-stats-card{order:2}.teacher-dashboard-meta-row{margin-top:-2px}.teacher-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-dashboard-kpi-card{padding:14px}.teacher-dashboard-next-slot{flex-direction:column;align-items:flex-start;padding:16px}.teacher-dashboard-next-slot-time{font-size:28px}.teacher-dashboard-next-slot-meta{justify-content:flex-start;width:100%}.teacher-dashboard-upcoming-status-row{margin-top:-2px}.teacher-dashboard-upcoming-card .schedule-list{padding-top:0}.students-retry-btn{white-space:nowrap;min-width:max-content;height:34px;padding:0 12px;font-size:12px}.teacher-dashboard-refresh-btn{height:32px;color:var(--t2);align-self:flex-start;padding:0 12px;font-size:12px}.modal-shell{padding:max(16px,env(safe-area-inset-top,0px) + 12px)16px 16px;align-items:flex-start;overflow-y:auto}.modal-card{width:min(100%,420px);margin:0 auto}.cal-time-row{grid-template-columns:1fr}.cal-time-arrow{display:none}.schedule-day-tab{min-width:88px;padding:9px 11px}.schedule-day-tab-main{gap:1px}.schedule-day-tab-weekday{font-size:10px}.schedule-day-tab-date{font-size:12px}.schedule-day-tab-count{min-width:20px;height:20px;font-size:10px}.schedule-list-empty-card{flex-direction:column;align-items:stretch;gap:12px}.schedule-list-empty-action{width:100%}.schedule-list-card-time{min-width:78px;font-size:13px}.schedule-list-card-title{font-size:13px}}@media (min-width:769px){.schedule-day-tabs{--schedule-day-tabs-trailing-space:0px;grid-template-columns:repeat(7,minmax(0,1fr));padding-right:12px;display:grid;overflow:visible}.schedule-day-tab{width:100%;min-width:0}.teacher-dashboard-primary{gap:16px}.teacher-dashboard-head{gap:6px}.teacher-dashboard-upcoming-card--hero{min-height:0}.teacher-dashboard-secondary{grid-template-columns:minmax(0,.98fr) minmax(300px,.86fr);gap:16px}.teacher-dashboard-stats-card,.teacher-dashboard-attention-card{align-self:start}}@media (min-width:769px) and (max-width:900px){.schedule-day-tabs{gap:6px;padding-right:6px}.schedule-day-tab{padding:8px 9px}.schedule-day-tab-date{font-size:12px}.schedule-day-tab-count{min-width:18px;height:18px;padding-inline:5px}}@media (max-width:1100px){.cal-topbar-more-hide{display:none}.cal-topbar-more-btn{display:flex}}@media (max-width:480px){.cal-slot-title{display:none}.cal-slot-time{font-size:10px}.cal-zoom-btns{display:none}.cal-control-strip .cal-zoom-btns{display:flex}.mobile-tab-bar{height:64px}.mobile-tab-item{gap:2px;font-size:9px}.mobile-tab-item>span:last-child{letter-spacing:-.01em;font-size:9px;line-height:1.1}.mobile-tab-icon{width:20px;height:20px}.teacher-dashboard-eyebrow{margin-bottom:6px;font-size:10px}.teacher-dashboard-head-status-row .teacher-dashboard-status--micro{max-width:100%}.teacher-dashboard-head-status-row .teacher-dashboard-status--inline{justify-content:flex-start;width:100%}.teacher-dashboard-section-head{flex-direction:column;align-items:stretch;gap:10px}.teacher-dashboard-upcoming-actions{gap:10px}.teacher-dashboard-greeting-sub{font-size:12px}.teacher-dashboard-section-head{margin-bottom:12px}.teacher-dashboard-meta-row{margin-top:-4px}.teacher-dashboard-status--inline{width:auto;max-width:100%;padding:6px 9px}.teacher-dashboard-status--micro{padding:4px 7px}.teacher-dashboard-upcoming-card--hero{border-radius:18px;padding:16px 14px}.teacher-dashboard-upcoming-title-wrap{gap:5px}.teacher-dashboard-upcoming-actions .u-link-accent{font-size:13px}.teacher-analytics-risk-row{gap:8px}.teacher-analytics-risk-card{padding:12px}.teacher-analytics-risk-label{font-size:11px}.schedule-list-card{gap:8px;padding:8px 10px}.schedule-list-card-meta{flex-direction:column;align-items:flex-end;gap:2px}.schedule-mobile-filter-chip{padding-inline:10px;font-size:11px}.schedule-mobile-filter-row{gap:6px;margin-top:-2px}.schedule-day-tabs{--schedule-day-tabs-end-space:12px;scroll-snap-type:x mandatory;gap:6px;padding-left:12px}.schedule-day-tab{scroll-snap-stop:always;border-radius:14px;min-width:82px;padding:8px 10px}.schedule-day-tab-date{font-size:11px}.schedule-day-tab-count{min-width:18px;height:18px;padding-inline:6px}.public-layout{padding:32px 16px 64px}.public-slot-card{flex-direction:column;align-items:stretch;gap:10px;padding:14px}.public-slot-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.public-slot-meta{flex-direction:row;align-items:center;gap:10px}.public-book-btn{height:44px;padding:0 24px;width:auto!important}.public-booking-modal{padding:28px 24px 36px}}@media (max-width:1100px){.owner-grid{grid-template-columns:1fr}.owner-list-card,.owner-detail-card{min-height:0}.owner-detail-head{flex-direction:column;align-items:stretch}}.students-modal-title{margin-bottom:20px}.students-modal-actions{justify-content:flex-end;gap:10px;display:flex}.students-error-area{min-height:28px;margin-bottom:12px}.cal-more-wrap{position:relative}.cal-topbar-more-btn{letter-spacing:2px;font-size:18px;line-height:1;display:none}.cal-more-menu{z-index:200;background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-md);z-index:300;flex-direction:column;min-width:180px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000004d}.cal-more-menu-item{text-align:left;font-size:14px;font-family:var(--f-body);color:var(--t1);cursor:pointer;transition:background var(--tf);background:0 0;border:none;padding:11px 16px}.cal-more-menu-item:hover{background:var(--bg-4)}.cal-more-menu-item+.cal-more-menu-item{border-top:1px solid var(--b1)}.notif-reminder-select{background:var(--bg-3);border:1px solid var(--b2);border-radius:var(--r-md);color:var(--t1);font-family:var(--f-body);cursor:pointer;transition:border-color var(--tf);outline:none;padding:6px 10px;font-size:13px}.notif-reminder-select:focus{border-color:var(--b3)}.notif-reminder-select:disabled{opacity:.45;cursor:default}.settings-row--muted{opacity:.45}.create-student-legal{color:var(--t2);padding:8px 0 4px;font-size:12px;line-height:1.6}.create-student-legal a{color:var(--t2);text-underline-offset:2px;text-decoration:underline}.create-student-legal a:hover{color:var(--t1)}.create-student-consent{color:var(--t1);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 0 4px;font-size:13px;display:flex}.create-student-consent input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:15px;height:15px}.students-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.students-title{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700}.students-add-btn{flex-shrink:0;width:auto!important;height:36px!important;padding:0 16px!important;font-size:13px!important}.students-search{margin-bottom:14px}.students-filter-grid{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(0,1fr)) auto;gap:10px;margin-bottom:14px;display:grid}.students-filter-grid>*{min-width:0}.students-filter-reset{white-space:nowrap;width:auto!important}@media (max-width:1120px){.students-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-filter-reset{justify-self:flex-start}}.students-loading{color:var(--t3);text-align:center;padding:16px 0;font-size:14px}.students-error{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.students-error-text{color:var(--danger);font-size:14px}.students-retry-btn{background:var(--bg-3);border:1px solid var(--b1);border-radius:var(--r-md);color:var(--t1);cursor:pointer;font-size:13px;font-family:var(--f-body);padding:6px 14px}.student-row-left{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-row{align-items:flex-start}.student-row-topline{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.student-row-name{font-family:var(--f-display);color:var(--t1);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:14px;font-weight:600}.student-row-phone{color:var(--t3);font-size:12px}.student-row-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.student-row-warning{background:var(--warning-bg);color:var(--warning);border-radius:999px;align-items:center;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.student-row-warning--empty{background:var(--danger-bg);color:var(--danger)}.student-row-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.student-badge{padding:var(--ui-badge-padding-y)var(--ui-badge-padding-x);border-radius:var(--ui-badge-radius);font-size:var(--ui-badge-font-size);font-weight:var(--ui-badge-font-weight);font-family:var(--f-body);color:var(--accent-lite);white-space:nowrap;font-variant-numeric:tabular-nums;background:#7c6bff1f;align-items:center;display:inline-flex}.student-chevron{color:var(--t3);flex-shrink:0}.student-chip-list{flex-wrap:wrap;gap:8px;display:flex}.student-chip{background:var(--bg-3);color:var(--t2);border:1px solid var(--b1);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.student-chip--status{color:var(--accent-lite);background:#7c6bff1f;border-color:#7c6bff2e}.student-chip--segment{color:var(--warning);background:#ffb02e1f;border-color:#ffb02e33}.student-chip--tag{color:var(--success);background:#00aa961f;border-color:#00aa9633}.student-chip--button{cursor:pointer;font-family:var(--f-body)}.u-hidden{display:none!important}.u-link-reset{color:inherit;text-decoration:none}.u-link-accent{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.u-text-muted{color:var(--t3)}.u-text-danger{color:var(--danger)}.u-text-center{text-align:center}.u-fs-13{font-size:13px}.u-fs-14{font-size:14px}.u-opacity-45{opacity:.45}.u-row-between{justify-content:space-between;align-items:center;display:flex}.u-row-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.u-stack-v-10-start{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.u-flex-1{flex:auto}.u-flex-1-min-200{flex:auto;min-width:200px}.u-scroll-x{overflow-x:auto}.u-mb-12{margin-bottom:12px}.u-mb-16{margin-bottom:16px}.u-mt-16{margin-top:16px}.u-py-16{padding-top:16px;padding-bottom:16px}.u-w-56{width:56px}.u-w-60{width:60px}.u-w-70{width:70px}.student-profile-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.student-profile-title-block{flex-direction:column;gap:3px;min-width:0;display:flex}.student-profile-name{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700}.student-profile-phone{color:var(--t3);font-size:13px}.student-danger-btn{border:1px solid var(--danger);color:var(--danger);border-radius:var(--r-sm);font-size:12px;font-family:var(--f-body);cursor:pointer;transition:background var(--tf);white-space:nowrap;background:0 0;flex-shrink:0;padding:5px 12px;font-weight:600}.student-danger-btn:hover{background:var(--danger-bg)}.student-danger-btn:disabled{opacity:.5;pointer-events:none}.student-package-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.student-pkg-col{flex-direction:column;gap:6px;display:flex}.student-pkg-value--muted{cursor:default;-webkit-user-select:none;user-select:none;color:var(--t3)!important;background:var(--bg-3)!important;font-weight:500!important}.students-error-area p{margin:0}.student-detail-root{flex-direction:column;gap:16px;display:flex}.student-summary-strip{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.student-summary-text,.student-muted-copy{color:var(--t3);font-size:13px}.student-crm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-tag-input-row{flex-wrap:wrap;gap:10px;display:flex}.student-pkg-section{border-top:1px solid var(--b1);margin-top:4px;margin-bottom:16px;padding-top:16px}.student-pkg-label{color:var(--t2);margin-bottom:12px;font-size:13px;font-weight:600}.student-package-warning{border-radius:var(--r-md);background:var(--warning-bg);color:var(--warning);border:1px solid #ffb02e47;margin-top:12px;padding:10px 12px;font-size:13px;font-weight:600}.student-package-warning--empty{background:var(--danger-bg);color:var(--danger);border-color:#ff5a5a42}.student-save-area{min-height:28px;margin-bottom:10px}.student-save-area p{color:var(--danger);margin:0;font-size:13px}.student-delete-error-area{min-height:22px;margin-bottom:10px}.student-delete-error-area p{color:var(--danger);margin:0;font-size:13px}.student-section-title{font-family:var(--f-display);color:var(--t1);letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:16px;font-size:14px;font-weight:600}.student-note-form{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.student-note-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.student-timeline-list{flex-direction:column;gap:12px;display:flex}.student-timeline-item{border:1px solid var(--b1);border-radius:var(--r-md);background:var(--bg-2);padding:14px}.student-timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.student-timeline-type{color:var(--t1);font-size:13px;font-weight:700}.student-timeline-time{color:var(--t3);overflow-wrap:anywhere;font-size:12px}.student-timeline-body{color:var(--t2);flex-direction:column;gap:6px;font-size:13px;display:flex}.student-timeline-body span,.student-timeline-body p{overflow-wrap:anywhere}@media (max-width:768px){.students-filter-grid,.student-crm-grid{grid-template-columns:1fr}.student-tag-input-row,.student-note-actions,.student-timeline-head{flex-direction:column;align-items:stretch}.student-package-grid{grid-template-columns:1fr 1fr}.student-pkg-remaining{grid-column:1/-1}}@media (max-width:640px){.cal-student-shell-head{gap:8px}.cal-student-shell-summary-main{flex-direction:column;align-items:flex-start;gap:4px}.cal-waitlist-add{grid-template-columns:1fr;align-items:stretch}.cal-waitlist-add .modal-btn{width:100%}.cal-waitlist-actions{grid-template-columns:1fr}.cal-roster-empty-state{gap:5px}.cal-roster-empty-state--supporting{padding:9px 11px}}@container (max-width:500px){.cal-waitlist-add{grid-template-columns:1fr;align-items:stretch}.cal-waitlist-add .modal-btn{width:100%;min-width:0}}@container (max-width:420px){.cal-waitlist-actions{grid-template-columns:1fr}}@container (max-width:340px){.cal-waitlist-add{grid-template-columns:1fr;align-items:stretch}.cal-waitlist-add .modal-btn{width:100%;min-width:0}}.subscription-page{flex-direction:column;gap:16px;display:flex}.subscription-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subscription-hero-copy{flex-direction:column;gap:10px;min-width:0;display:flex}.subscription-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:16px;display:grid}.subscription-main,.subscription-side{flex-direction:column;gap:16px;min-width:0;display:flex}.subscription-summary-card,.subscription-renew-card{flex-direction:column;gap:16px;display:flex}.subscription-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.subscription-status-pill{border:1px solid var(--b1);background:var(--bg-3);color:var(--t1);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.subscription-status-pill svg{flex-shrink:0}.subscription-status-pill--success{color:var(--teal);background:#00aa961f;border-color:#00aa9638}.subscription-status-pill--warning{color:var(--warning);background:#ffb02e1f;border-color:#ffb02e3d}.subscription-status-pill--danger{color:var(--danger);background:#ff5a5a1f;border-color:#ff5a5a38}.subscription-status-pill--muted{background:var(--bg-3);border-color:var(--b1);color:var(--t2)}.subscription-copy,.subscription-inline-note{color:var(--t2);font-size:14px;line-height:1.7}.subscription-inline-note{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);padding:12px 14px}.subscription-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.subscription-fact{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.subscription-fact-label{color:var(--t3);font-size:12px}.subscription-fact strong{color:var(--t1);overflow-wrap:anywhere;font-size:14px}.subscription-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subscription-plan-card{border-radius:var(--r-lg);border:1px solid var(--b1);background:var(--bg-3);min-width:0;color:var(--t1);text-align:left;cursor:pointer;transition:border-color var(--tf),transform var(--tf),box-shadow var(--tf);flex-direction:column;gap:12px;padding:16px;display:flex}.subscription-plan-card:hover{border-color:var(--b3);transform:translateY(-1px)}.subscription-plan-card:disabled{opacity:.6;cursor:default;transform:none}.subscription-plan-card--active{border-color:#7c6bff66;box-shadow:0 0 0 1px #7c6bff33}.subscription-plan-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.subscription-plan-name{color:var(--t1);font-size:15px;font-weight:700}.subscription-plan-badge{color:var(--accent-lite);background:#7c6bff24;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.subscription-plan-price{color:var(--t1);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:24px;font-weight:800;display:flex}.subscription-plan-price span{color:var(--t3);font-size:13px;font-weight:500}.subscription-plan-total{color:var(--t2);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.subscription-plan-total strong{color:var(--t1);font-size:14px}.subscription-pending-box{border-radius:var(--r-md);background:#7c6bff1a;border:1px solid #7c6bff2e;flex-direction:column;gap:10px;padding:14px;display:flex}.subscription-pending-box p{color:var(--t2);font-size:14px;line-height:1.65}.subscription-pending-meta{color:var(--t2);flex-wrap:wrap;gap:10px 14px;font-size:13px;display:flex}.subscription-submit-row{justify-content:flex-start;display:flex}.subscription-submit-row .modal-btn{width:auto!important}.subscription-limit-list{flex-direction:column;gap:10px;display:flex}.subscription-limit-item{color:var(--t2);padding-left:18px;font-size:14px;line-height:1.6;position:relative}.subscription-limit-item:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:0}.subscription-dashboard-banner{border-radius:var(--r-lg);border:1px solid var(--b1);background:var(--bg-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.subscription-dashboard-banner--warning{background:#ffb02e1a;border-color:#ffb02e33}.subscription-dashboard-banner--danger{background:#ff5a5a1a;border-color:#ff5a5a33}.subscription-dashboard-banner-copy{flex-direction:column;flex:320px;gap:6px;min-width:0;display:flex}.subscription-dashboard-banner-copy strong{color:var(--t1);font-size:15px}.subscription-dashboard-banner-copy p{color:var(--t2);overflow-wrap:anywhere;font-size:14px;line-height:1.65}.subscription-dashboard-banner-meta{color:var(--accent-lite);font-size:12px}.owner-renewal-card{border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--b1);flex-direction:column;gap:10px;padding:14px;display:flex}.owner-renewal-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.subscription-denial-notice{border-radius:var(--r-md);background:#ffb02e1a;border:1px solid #ffb02e33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;padding:14px 16px;display:flex}.subscription-denial-notice--compact{margin:10px 0;padding:12px 14px}.subscription-denial-copy{flex-direction:column;flex:240px;gap:6px;min-width:0;display:flex}.subscription-denial-copy strong{color:var(--t1);font-size:14px}.subscription-denial-copy p{color:var(--t2);font-size:13px;line-height:1.6}@media (max-width:900px){.subscription-grid,.subscription-facts,.subscription-plans-grid{grid-template-columns:1fr}}@media (max-width:768px){.subscription-dashboard-banner,.subscription-denial-notice,.subscription-summary-head,.owner-renewal-row{align-items:stretch}.subscription-submit-row .modal-btn,.subscription-denial-notice .modal-btn{width:100%!important}}
