@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=Hanken+Grotesk:wght@400..800&display=swap";:root{--c-primary:#0054A5;--c-primary-700:#073A6B;--c-navy:#08183A;--c-navy-2:#0E2A5C;--c-green:#54BE5A;--c-green-700:#157F3F;--c-coral:#FF6B5B;--c-coral-700:#C53A1E;--c-coral-btn:#D13F22;--ink:#0B2440;--muted:#5B6B86;--line:#DDE7F4;--cloud:#EEF4FC;--paper:#FFFFFF;--grad-brand:linear-gradient(120deg,#54BE5A 0%,#2E9E55 32%,#0054A5 100%);--grad-spectrum:linear-gradient(90deg,var(--c-coral),var(--c-primary) 50%,var(--c-green));--font-display:"Bricolage Grotesque";--font-body:"Hanken Grotesk";--radius:22px;--radius-sm:14px;--pill:999px;--maxw:1200px;--s:1;--sec:calc(104px * var(--s));--gap:calc(24px * var(--s));--shadow:0 18px 50px -18px rgba(16,30,80,.3);--shadow-sm:0 8px 26px -14px rgba(16,30,80,.28)}body.den-cozy{--s:.78}body.den-airy{--s:1.22}body.shape-sharp{--radius:6px;--radius-sm:5px}body.shape-round{--radius:26px;--radius-sm:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body),system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display),system-ui,sans-serif;line-height:1.02;letter-spacing:-.02em;margin:0;font-weight:800;color:var(--ink)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.spectrum{background:var(--grad-spectrum)}.kicker{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12.5px;color:var(--c-primary)}.kicker:before{content:"";width:24px;height:3px;border-radius:3px;background:currentColor}.kicker.k-coral{color:var(--c-coral-700)}.kicker.k-green{color:var(--c-green-700)}.kicker.on-dark{color:#fff}.kc{justify-content:center}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:16px;padding:15px 26px;border-radius:var(--pill);cursor:pointer;border:2px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background .16s;white-space:nowrap;line-height:1}.btn:hover{transform:translateY(-2px)}.btn:disabled,.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;filter:grayscale(.35)}.btn:disabled:hover,.btn[disabled]:hover,.btn[aria-disabled=true]:hover{transform:none}.btn svg{width:18px;height:18px}.btn-coral{background:var(--c-coral-btn);color:#fff;box-shadow:0 12px 26px -10px var(--c-coral-btn)}.btn-coral:hover{background:var(--c-coral-700)}.btn-primary{background:var(--c-primary);color:#fff;box-shadow:0 12px 26px -10px var(--c-primary)}.btn-primary:hover{background:var(--c-primary-700)}.btn-dark{background:var(--c-navy);color:#fff}.btn-ghost{background:transparent;color:var(--ink);border-color:#0e17332e}.btn-ghost:hover{border-color:var(--ink)}.btn-ghost.on-dark{color:#fff;border-color:#fff6}.btn-ghost.on-dark:hover{border-color:#fff;background:#ffffff14}.btn-sm{font-size:14px;padding:11px 18px}body.shape-outline .btn-coral{background:transparent;color:var(--c-coral);border-color:var(--c-coral);box-shadow:none}body.shape-outline .btn-coral:hover{background:var(--c-coral);color:#fff}body.shape-outline .btn-primary{background:transparent;color:var(--c-primary);border-color:var(--c-primary);box-shadow:none}body.shape-outline .btn-primary:hover{background:var(--c-primary);color:#fff}.section{padding:var(--sec) 0}.section.cloud{background:var(--cloud)}.section.navy{background:var(--c-navy);color:#fff}.section.navy h1,.section.navy h2,.section.navy h3{color:#fff}.sec-head{max-width:680px;margin:0 0 calc(52px*var(--s))}.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}.sec-head h2{font-size:clamp(32px,4.4vw,52px);margin:14px 0}.sec-head p{font-size:18px;color:var(--muted);margin:0;text-wrap:pretty}.section.navy .sec-head p{color:#ffffffbd}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}body.shape-outline .card{box-shadow:none}body.shape-outline .card:hover{box-shadow:0 0 0 2px var(--c-primary) inset}.nav{position:sticky;top:0;z-index:60;background:#ffffffc7;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line);transition:background .3s,box-shadow .3s}.nav.scrolled{box-shadow:0 10px 30px -18px #0b244059}.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand img{height:46px;width:auto;display:block;flex:none}.brand .bt{font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1;color:var(--ink)}.brand .bt small{display:block;font-family:var(--font-body);font-weight:700;font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:3px}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{font-weight:600;font-size:15px;color:#36436b;transition:color .15s;white-space:nowrap;position:relative}.nav-links a.btn,.nav-links a.btn:hover{color:#fff}.nav-links a.btn:after{display:none}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--c-primary);border-radius:2px;transition:right .25s ease}.nav-links a:hover{color:var(--c-primary)}.nav-links a:hover:after{right:0}.nav-links a.active{color:var(--c-primary)}.nav-links a.active:after{right:0;background:var(--c-coral)}.nav-right{display:flex;align-items:center;gap:13px}.nav-links .portal-link{display:none}.lang{display:inline-flex;background:var(--cloud);border:1px solid var(--line);border-radius:var(--pill);padding:3px}.lang button{border:none;background:transparent;font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--muted);padding:6px 12px;border-radius:var(--pill);cursor:pointer;transition:.15s}.lang button.on{background:var(--c-primary);color:#fff}.nav-toggle{display:none;border:none;background:transparent;cursor:pointer;flex-direction:column;gap:5px;padding:8px}.nav-toggle span{width:24px;height:2.5px;background:var(--ink);border-radius:3px;transition:.25s}.nav-dd{position:relative}.nav-dd>button{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:15px;color:#36436b;background:none;border:none;cursor:pointer;padding:0;white-space:nowrap;transition:color .15s}.nav-dd>button:hover{color:var(--c-primary)}.nav-dd>button .cv{width:15px;height:15px;transition:transform .2s ease}.nav-dd.open>button .cv{transform:rotate(180deg)}.nav-dd-menu{position:absolute;top:calc(100% + 14px);left:0;min-width:212px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -16px #0b24404d;padding:10px 0;z-index:70;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.nav-dd.open>.nav-dd-menu{opacity:1;visibility:visible;transform:none}.nav-dd-menu a{display:block;padding:10px 22px;font-size:14.5px;color:#36436b;font-weight:500;white-space:nowrap;transition:.15s}.nav-dd-menu a:hover{color:var(--c-primary);background:#0054a50f;padding-left:27px}@media (min-width:721px){.nav-dd:hover>.nav-dd-menu{opacity:1;visibility:visible;transform:none}.nav-dd:hover>button .cv{transform:rotate(180deg)}}@media (max-width:720px){.nav-dd>button{font-size:15px;color:#36436b}.nav-dd-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-left:2px solid var(--line);border-radius:0;padding:4px 0 4px 6px;margin-top:8px;min-width:0}.nav-dd.open>.nav-dd-menu{display:block}.nav-dd-menu a{padding:8px 14px}}.orb{position:absolute;border-radius:50%;filter:blur(8px);opacity:.5;pointer-events:none;z-index:1}.orb.o1{width:340px;height:340px;left:-90px;top:-120px;background:radial-gradient(circle at 35% 35%,#2F8BFF,transparent 70%)}.orb.o2{width:300px;height:300px;right:-80px;bottom:-130px;background:radial-gradient(circle at 50% 50%,#54BE5A,transparent 70%);opacity:.4}.orb.o3{width:180px;height:180px;right:24%;top:18%;background:radial-gradient(circle at 50% 50%,#FF6B5B,transparent 70%);opacity:.32}@media (prefers-reduced-motion:no-preference){.orb{animation:floaty 14s ease-in-out infinite}.orb.o2{animation-duration:18s;animation-direction:reverse}.orb.o3{animation-duration:11s}}@keyframes floaty{0%,to{transform:translate(0)}50%{transform:translate(26px,-22px)}}.reveal{opacity:1}@media (prefers-reduced-motion:no-preference){html.js .reveal:not(.in){transform:translateY(22px)}html.js .reveal{transition:transform .7s cubic-bezier(.2,.75,.2,1)}}.tilt{transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;will-change:transform}.tilt:hover{box-shadow:0 30px 60px -28px #101e5066}.tilt .lift{transform:translateZ(40px)}.tilt .lift-sm{transform:translateZ(22px)}.gtile{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 14px 26px -12px #0054a58c;position:relative}.gtile.green{background:var(--grad-brand)}.gtile.blue{background:linear-gradient(160deg,#2f8bff,#0054a5)}.gtile.coral{background:linear-gradient(160deg,#ff8a6b,#ee4a33)}.gtile svg{width:30px;height:30px}.footer{background:var(--c-navy);color:#fff;padding:74px 0 30px;position:relative;overflow:hidden}.footer .orb{opacity:.18}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;position:relative;z-index:2}.footer .fbrand img{height:52px;width:auto;margin-bottom:18px}.footer p.about{color:#fff9;font-size:15px;margin:0 0 22px;max-width:30em;line-height:1.6}.socials{display:flex;gap:10px}.socials a{width:40px;height:40px;border-radius:12px;background:#ffffff14;display:grid;place-items:center;transition:.2s;color:#fff}.socials a:hover{background:var(--c-primary);transform:translateY(-3px)}.socials svg{width:19px;height:19px}.fcol h5{font-family:var(--font-display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin:0 0 18px}.fcol a{display:block;color:#ffffffc7;font-size:15px;padding:7px 0;transition:.15s}.fcol a:hover{color:#fff;padding-left:5px}.fcontact div{display:flex;gap:11px;color:#ffffffc7;font-size:15px;margin-bottom:14px}.fcontact svg{width:18px;height:18px;color:var(--c-green);flex:none;margin-top:2px}.foot-bottom{margin-top:54px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:#ffffff80;font-size:14px}.foot-bottom a{color:#ffffff80}.foot-bottom a:hover{color:#fff}@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:720px){.wrap{padding:0 20px}.nav-links{display:none}.nav-toggle{display:flex}#navPortal{display:none}.nav-links .portal-link{display:block}.nav-links.show{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:#fff;padding:18px 24px;gap:14px;border-bottom:1px solid var(--line);align-items:flex-start;box-shadow:0 20px 40px -20px #0b24404d}.foot-grid{grid-template-columns:1fr}}:root{--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--fs-sm: 13px;--fs-md: 16px;--fs-lg: 18px;--lh-body: 1.55;--r-ctl: 12px;--r-md: 16px;--r-pill: 999px;--el-1: 0 1px 2px rgba(11,36,64,.06);--el-2: 0 6px 18px -8px rgba(11,36,64,.2);--dur: .16s;--neutral-bg: #F1F5FB;--ctl-bd-hover: #BFD1EA;--info-bd: #CBDDF5;--ok: var(--c-green-700);--ok-bg: #E7F6EC;--ok-bd: #BFE6CB}body{margin:0;background:#f4f6fa;color:var(--ink);font-family:var(--font-body),system-ui,sans-serif}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.aside{background:#0b1f3f;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}.aside-top{display:flex;align-items:center;gap:11px;padding:18px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.aside-top img{height:34px;width:auto}.aside-top .nm{font-family:var(--font-display);font-weight:800;font-size:15px;line-height:1.05;color:#fff}.aside-top .nm small{display:block;font-family:var(--font-body);font-weight:600;font-size:11px;color:#ffffff8c;margin-top:2px;letter-spacing:.02em}.aside-scroll{flex:1;overflow-y:auto;padding:6px 12px 12px}.aside-scroll::-webkit-scrollbar{width:7px}.aside-scroll::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.aside .grp{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#fff6;font-weight:800;padding:16px 12px 7px}.ai{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:#ffffffb8;font-weight:600;font-size:14px;cursor:pointer;transition:.14s;position:relative;text-decoration:none}.ai svg{width:18px;height:18px;flex:none;color:#ffffff80}.ai:hover{background:#ffffff14;color:#fff}.ai:hover svg{color:#fff}.ai.on{background:linear-gradient(100deg,#0054a5,#2f6fd0);color:#fff;font-weight:700;box-shadow:0 8px 20px -10px #2f6fd0cc}.ai.on svg{color:#fff}.ai.on:after{content:"›";position:absolute;right:12px;font-size:17px;font-weight:700}.aside-help{margin:10px 12px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px}.aside-help b{font-size:13px;display:block;margin-bottom:8px;color:#fff}.aside-help div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#ffffffb3;font-weight:600;margin-top:6px}.aside-help svg{width:14px;height:14px;color:var(--c-coral)}.main{min-width:0;display:flex;flex-direction:column}.atop{position:sticky;top:0;z-index:20;background:#f4f6fadb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;gap:16px;padding:14px 30px}.atop .sp{flex:1}.atop .pill-badge{position:relative;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:#4a5670;cursor:pointer}.atop .pill-badge .n{position:absolute;top:-5px;right:-5px;background:var(--c-coral-btn);color:#fff;font-size:10px;font-weight:800;border-radius:9px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}.atop .notif-wrap{position:relative;display:grid;place-items:center}.atop .notif-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.atop .notif-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:31;width:280px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #10182824;overflow:hidden}.atop .notif-pop-h{padding:12px 16px;font-weight:800;font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--line)}.atop .notif-empty{padding:22px 16px;font-size:13px;color:#64708a;text-align:center}.atop .who{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:5px 12px}.atop .who .nmw{display:flex;flex-direction:column;line-height:1.1}.atop .who .nmw b{font-size:13px;font-weight:800;color:var(--ink)}.atop .who .nmw small{font-size:11px;color:var(--muted);font-weight:600}.atop .signout{display:inline-flex;align-items:center;gap:7px;margin-left:6px;padding:7px 12px;border:1px solid var(--line);border-radius:11px;background:none;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:color .16s,border-color .16s,background .16s}.atop .signout:hover{color:var(--c-coral-btn, #d13f22);border-color:currentColor;background:var(--paper, #fff)}.atop .signout:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.atop .signout svg{width:18px;height:18px;flex:none}.atop .who .av{width:30px;height:30px;border-radius:8px;background:var(--c-navy);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:12px}.menu-btn{display:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;cursor:pointer;place-items:center;color:#4a5670}.menu-btn svg{width:20px;height:20px}.atop .lang{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.atop .lang button{border:none;background:none;font-family:var(--font-display);font-weight:800;font-size:12px;padding:8px 11px;color:var(--muted);cursor:pointer;transition:.14s}.atop .lang button.on{background:var(--c-primary);color:#fff}.atop .stu-switch{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px 10px 4px 12px}.atop .stu-switch-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.atop .stu-switch-label svg{width:16px;height:16px;color:var(--c-primary)}.atop .stu-switch-select{border:none;background:none;font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--ink);cursor:pointer;max-width:160px}.atop .stu-switch-select:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:4px}.acontent{padding:8px 30px 44px;display:flex;flex-direction:column;gap:22px}.ahead{background:#fff;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--c-primary);border-radius:16px;padding:22px 26px;display:flex;align-items:center;gap:18px;box-shadow:0 1px 2px #101e500a}.ahead .hic{width:46px;height:46px;border-radius:12px;background:#eef2f8;border:1px solid var(--line);display:grid;place-items:center;flex:none}.ahead .hic svg{width:24px;height:24px;color:var(--c-primary)}.ahead h2{color:var(--ink);font-size:clamp(22px,2.6vw,28px);margin:0;line-height:1.05;letter-spacing:-.01em}.ahead p{color:var(--muted);margin:5px 0 0;font-size:14.5px}.btn-app{display:inline-flex;align-items:center;gap:8px;background:var(--c-primary);color:#fff;border:none;border-radius:11px;padding:11px 18px;font-family:var(--font-display);font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.btn-app:hover{background:var(--c-primary-700)}.btn-app svg{width:16px;height:16px}.btn-app.ghost{background:#fff;color:#4a5670;border:1px solid var(--line)}.btn-app.ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}.card2{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s}.card2.hov:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px #101e5066}.card2 h3{font-size:17px;margin:0 0 16px}.grid2{display:grid;gap:20px}.kgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.kc:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px #101e5066}.kc:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac, #0054a5)}.kc .kl{font-size:12px;font-weight:700;color:#64708a;margin:0 0 7px}.kc .kv{font-family:var(--font-display);font-weight:800;font-size:27px;line-height:1;color:var(--ink)}.kc .ks{font-size:12px;color:#64708a;font-weight:600;margin-top:6px}.kc .ki{position:absolute;right:13px;top:13px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--ac, #0054a5)}.kc .ki svg{width:17px;height:17px}.cols{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.panel-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.panel-h h3{font-size:16px;margin:0}.panel-h .link{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--c-primary);background:none;border:none;cursor:pointer;font-family:var(--font-body)}.next{background:linear-gradient(115deg,#073a6b,#0054a5);color:#fff;border-radius:18px;padding:24px 26px;position:relative;overflow:hidden}.next .lab{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9ec3ef}.next h2{font-family:var(--font-display);font-weight:800;font-size:30px;margin:6px 0 4px;color:#fff;line-height:1}.next .sub{color:#cfe0f7;font-size:14px}.next .meta{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}.next .meta div{font-size:13.5px;color:#dce9fb;display:flex;align-items:center;gap:7px}.next .meta svg{width:15px;height:15px;opacity:.85}.next .cd{position:absolute;right:24px;top:24px;text-align:right}.next .cd b{font-family:var(--font-display);font-size:34px;display:block;line-height:1}.next .cd span{font-size:12px;color:#9ec3ef}.clist{display:flex;flex-direction:column}.crow{display:flex;align-items:center;gap:13px;padding:14px 20px;border-bottom:1px solid var(--line)}.crow:last-child{border-bottom:none}.crow:hover{background:#fafcff}.cic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:800;font-size:13px;flex:none}.crow .info{flex:1;min-width:0}.crow .info b{font-size:14px;display:block}.crow .info small{color:#64708a;font-weight:600}.crow .when{font-size:12.5px;color:#64708a;font-weight:700;text-align:right;flex:none}.ann{padding:15px 20px;border-bottom:1px solid var(--line)}.ann:last-child{border-bottom:none}.ann .tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--pill);margin-bottom:8px}.ann .tag.ev{background:#eaf2fd;color:#0054a5}.ann .tag.pay{background:#fdecea;color:#c53a1e}.ann .tag.ac{background:#e7f6ec;color:#157f3f}.ann p{margin:0;font-size:13.5px;color:var(--ink);line-height:1.5}.ann small{color:#94a3b8;font-weight:600;font-size:12px}.ptable{width:100%;border-collapse:collapse}.ptable th,.ptable td{text-align:left;padding:12px 20px;font-size:13.5px;border-bottom:1px solid var(--line)}.ptable th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#64708a;font-weight:800}.ptable tbody tr:last-child td{border-bottom:none}.ptable tbody tr:hover{background:#fafcff}html.js .reveal{transform:translateY(14px);transition:transform .6s cubic-bezier(.2,.7,.2,1)}html.js .reveal.in{transform:none}.scrim{display:none}@media (max-width: 1000px){.app{grid-template-columns:1fr}.aside{position:fixed;left:0;top:0;z-index:60;width:230px;transform:translate(-100%);transition:.25s;box-shadow:0 0 60px #00000040}.aside.open{transform:none}.menu-btn{display:grid}.scrim.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#08183a73}}@media (max-width: 980px){.cols{grid-template-columns:1fr}.kgrid{grid-template-columns:repeat(2,1fr)}.next .cd{display:none}}@media (max-width: 560px){.acontent{padding:8px 16px 40px}.atop{padding:12px 16px}.atop .who .nmw,.atop .signout span{display:none}.atop .signout{padding:7px 9px}.atop .stu-switch-label span{display:none}.atop .stu-switch-select{max-width:110px}}:root{--va-h: 34px}.va-bar{position:fixed;top:0;left:0;right:0;z-index:3000;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:var(--va-h);padding:6px 12px;background:#7c2d12;color:#fff;font-size:13.5px}.va-who{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.va-note{opacity:.75}.va-btn{flex:0 0 auto;border-radius:999px;font-size:12.5px;line-height:1.4;white-space:nowrap;cursor:pointer}.va-switch{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:3px 12px}.va-exit{border:none;background:#fff;color:#7c2d12;padding:4px 12px;font-weight:700}body.view-as-on .app{padding-top:var(--va-h)}body.view-as-on .aside{top:var(--va-h);height:calc(100vh - var(--va-h))}body.view-as-on .atop{top:var(--va-h)}@media (max-width: 640px){:root{--va-h: 30px}.va-bar{gap:6px;padding:4px 8px;font-size:12px}.va-note{display:none}.va-btn{padding:2px 9px;font-size:11.5px}}.ck-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}.ck{border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper);overflow:hidden;display:flex;flex-direction:column;min-width:0;position:relative;transition:border-color var(--dur),box-shadow var(--dur)}.ck-hd{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3)}.ck-t{padding-right:118px}.ck-date{flex:none;width:56px;text-align:center;border-radius:var(--r-ctl);padding:8px 0;background:var(--cloud);border:1px solid var(--line)}.ck-date b{display:block;font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1;color:var(--ink)}.ck-date span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}.ck-t{flex:1;min-width:0}.ck-t h3{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);margin:0 0 3px;color:var(--ink);text-wrap:pretty}.ck-t .ko{font-size:12.5px;color:var(--muted);font-weight:600}.ck-bd{padding:0 var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);flex:1}.ck-bd p{margin:0;font-size:13px;color:var(--muted);line-height:1.55;text-wrap:pretty}.ck-meta{display:flex;flex-wrap:wrap;gap:6px var(--sp-4);font-size:12.5px;color:var(--muted)}.ck-meta span{display:flex;align-items:center;gap:6px}.ck-meta svg{width:14px;height:14px;flex:none}.ck-ft{margin-top:auto;padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.ck-price{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);color:var(--ink)}.ck-price small{font-size:11.5px;color:var(--muted);font-weight:600;font-family:var(--font-body)}.ck-ft .ds-btn{margin-left:auto}.ck.open{border-color:var(--line)}.ck.open:hover{border-color:var(--c-primary);box-shadow:var(--el-2)}.ck.soon{border-color:var(--warn-bd);background:linear-gradient(180deg,var(--warn-bg),var(--paper) 46%)}.ck.soon .ck-date{background:var(--warn-bg);border-color:var(--warn-bd)}.ck.soon .ck-date b{color:var(--warn)}.ck.closed{border-style:dashed;background:#fafbfd}.ck.closed .ck-date{background:var(--neutral-bg);opacity:.7}.ck.closed .ck-t h3,.ck.closed .ck-price{color:var(--muted)}.ck.closed .ck-bd p{opacity:.75}.ck.mine{border-color:var(--ok-bd);background:linear-gradient(180deg,var(--ok-bg),var(--paper) 46%)}.ck.mine .ck-date{background:var(--ok-bg);border-color:var(--ok-bd)}.ck.mine .ck-date b{color:var(--ok)}.ck-flag{position:absolute;top:0;right:0;padding:5px 12px;border-radius:0 var(--r-md) 0 var(--r-ctl);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;max-width:118px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck:not(:has(.ck-flag)) .ck-t{padding-right:0}.ck.mine .ck-flag{background:var(--ok)}.ck.soon .ck-flag{background:var(--warn)}.ck.closed .ck-flag{background:var(--muted)}.ck-deadline{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700}.ck-deadline svg{width:13px;height:13px;flex:none}.ck.open .ck-deadline{color:var(--muted)}.ck.soon .ck-deadline{color:var(--warn)}.ck.closed .ck-deadline{color:var(--muted)}.ck-rule{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3);background:var(--c-navy);border-radius:var(--r-md);padding:var(--sp-5);color:#fff}.ck-rule .r{min-width:0}.ck-rule .r b{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:14px;margin-bottom:5px}.ck-rule .r b svg{width:16px;height:16px;flex:none;color:var(--c-coral)}.ck-rule .r p{margin:0;font-size:12.5px;color:#ffffffb3;line-height:1.5;text-wrap:pretty}.cal-list{display:flex;flex-direction:column;gap:var(--sp-2)}.cal-row{display:flex;align-items:stretch;gap:var(--sp-3);border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);padding:var(--sp-3);min-width:0;min-height:64px;position:relative}.cal-row .d{flex:none;width:52px;text-align:center;display:flex;flex-direction:column;justify-content:center}.cal-row .d b{font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1;color:var(--ink)}.cal-row .d span{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:3px}.cal-row .bar{width:4px;border-radius:4px;flex:none;background:var(--line)}.cal-row .tx{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.cal-row .tx b{font-family:var(--font-display);font-weight:800;font-size:14.5px;color:var(--ink);text-wrap:pretty}.cal-row .tx span{font-size:12px;color:var(--muted);line-height:1.4;text-wrap:pretty}.cal-row .wk{flex:none;align-self:center;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--cloud);border-radius:6px;padding:4px 8px}.cal-row.class .bar{background:var(--c-primary)}.cal-row.mine{border-color:var(--c-primary);background:#0054a50a}.cal-row.mine:after{content:"";position:absolute;left:-1.5px;top:-1.5px;bottom:-1.5px;width:4px;border-radius:var(--r-ctl) 0 0 var(--r-ctl);background:var(--c-primary)}.cal-row.off{border-style:dashed;background:#fafbfd}.cal-row.off .bar{background:var(--line)}.cal-row.off .tx b{color:var(--muted)}.cal-row.cook{border-color:var(--c-coral-btn);background:linear-gradient(100deg,rgba(209,63,34,.07),var(--paper) 60%)}.cal-row.cook .bar{background:var(--c-coral-btn)}.cal-row.cook .d b{color:var(--c-coral-btn)}.cal-row.event{border-color:var(--c-green-700);background:linear-gradient(100deg,rgba(21,127,63,.07),var(--paper) 60%)}.cal-row.event .bar{background:var(--c-green-700)}.cal-row.event .d b{color:var(--c-green-700)}.cal-split{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.cal-sub{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 9px;border-radius:8px;background:#d13f2217;color:var(--c-coral-btn);font-weight:700;min-width:0}.cal-sub svg{width:13px;height:13px;flex:none}.cal-sub .t{margin-left:auto;font-weight:800;flex:none}.cal-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);font-size:11.5px;color:var(--muted);font-weight:600}.cal-legend span{display:flex;align-items:center;gap:6px}.cal-legend i{width:11px;height:11px;border-radius:3px;flex:none;display:block}.fd{display:flex;flex-direction:column;gap:0}.fd-row{display:flex;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);min-width:0}.fd-row:last-child{border-bottom:none}.fd-time{flex:none;width:104px;text-align:right}.fd-time b{display:block;font-family:var(--font-display);font-weight:800;font-size:14.5px;color:var(--ink);line-height:1.3}.fd-time span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.fd-time.none b{color:var(--muted);font-size:12.5px;font-weight:700}.fd-dot{flex:none;width:12px;position:relative}.fd-dot i{position:absolute;left:50%;top:6px;transform:translate(-50%);width:11px;height:11px;border-radius:50%;background:var(--paper);border:2.5px solid var(--c-primary)}.fd-dot:before{content:"";position:absolute;left:50%;top:18px;bottom:-18px;width:2px;transform:translate(-50%);background:var(--line)}.fd-row:last-child .fd-dot:before{display:none}.fd-row.tbd .fd-dot i{border-color:var(--warn);border-style:dashed}.fd-row.tbd .fd-dot:before{border-left:2px dashed var(--line);background:none;width:0}.fd-bd{flex:1;min-width:0}.fd-bd b{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);color:var(--ink);margin-bottom:3px;text-wrap:pretty}.fd-bd p{margin:0;font-size:13px;color:var(--muted);line-height:1.55;text-wrap:pretty}.fd-who{display:inline-flex;align-items:center;gap:6px;background:var(--cloud);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:700;color:var(--c-primary-700);margin-top:8px}.bd-tabs{display:flex;gap:var(--sp-2);padding:4px;background:var(--cloud);border-radius:var(--r-pill)}.bd-tabs button{flex:1;border:none;background:none;cursor:pointer;border-radius:var(--r-pill);padding:11px 14px;font-family:var(--font-body);font-weight:700;font-size:13.5px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:0}.bd-tabs button svg{width:16px;height:16px;flex:none}.bd-tabs button .n{background:var(--c-coral-btn);color:#fff;font-size:10.5px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px;flex:none}.bd-tabs button.on{background:var(--paper);color:var(--ink);box-shadow:var(--el-1)}.bd-tabs button.on.office{background:var(--c-navy);color:#fff}.bd-dir{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-ctl);font-size:12.5px;font-weight:700;min-width:0;text-wrap:pretty}.bd-dir svg{width:17px;height:17px;flex:none}.bd-dir.in{background:var(--c-navy);color:#fff}.bd-dir.in svg{color:var(--c-coral)}.bd-dir.out{background:var(--cloud);color:var(--c-primary-700);border:1px solid var(--info-bd)}.bp{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);overflow:hidden}.bp+.bp{margin-top:var(--sp-3)}.bp.office{background:#0c1f45;border-color:#ffffff24;color:#fff}.bp-hd{display:flex;align-items:flex-start;gap:11px;padding:var(--sp-4) var(--sp-4) var(--sp-3);min-width:0}.bp-hd .who{flex:1;min-width:0}.bp-hd .who b{display:block;font-size:13.5px;font-weight:700;color:var(--ink)}.bp-hd .who span{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.bp.office .bp-hd .who b{color:#fff}.bp.office .bp-hd .who span{color:#ffffff8c}.bp-kind{flex:none;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:6px}.bp-bd{padding:0 var(--sp-4) var(--sp-4)}.bp-bd h4{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);margin:0 0 6px;color:var(--ink);text-wrap:pretty}.bp.office .bp-bd h4{color:#fff}.bp-bd p{margin:0;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body);text-wrap:pretty}.bp.office .bp-bd p{color:#ffffffb8}.bp-aud{display:inline-flex;align-items:center;gap:7px;background:var(--cloud);border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:800;color:var(--c-primary-700);margin-top:var(--sp-3)}.bp-aud svg{width:13px;height:13px;flex:none}.bp-aud.one{background:#d13f221a;color:var(--c-coral-btn)}.bp-aud.lvl{background:var(--ok-bg);color:#0e5a34}.bp-ft{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:#fafcff;flex-wrap:wrap;min-width:0}.bp.office .bp-ft{background:#ffffff0d;border-top-color:#ffffff1f}.bp-stat{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:700}.bp-stat svg{width:14px;height:14px;flex:none}.bp-ft .ds-btn{margin-left:auto}.bp-thread{border-top:1px solid var(--line);background:#fafcff;padding:var(--sp-3) var(--sp-4)}.bp-msg{display:flex;gap:10px;padding:7px 0;min-width:0}.bp-msg .bub{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:12.5px;color:var(--ink);line-height:1.5;max-width:82%;text-wrap:pretty}.bp-msg.me{flex-direction:row-reverse}.bp-msg.me .bub{background:var(--cloud);border-color:var(--info-bd)}.bp-msg time{display:block;font-size:10.5px;color:var(--muted);margin-top:4px}.bp-private{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.bp-private svg{width:12px;height:12px;flex:none}.sell-person{display:flex;align-items:center;gap:12px;padding:var(--sp-3);border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);cursor:pointer;min-width:0}.sell-person+.sell-person{margin-top:var(--sp-2)}.sell-person:hover{border-color:var(--ctl-bd-hover)}.sell-person.on{border-color:var(--c-primary);background:#0054a50d;box-shadow:0 0 0 3px #0054a51a}.sell-person .tx{flex:1;min-width:0}.sell-person .tx b{display:block;font-size:14px;font-weight:700;color:var(--ink)}.sell-person .tx span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.sell-tot{background:var(--c-navy);color:#fff;border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5)}.sell-tot .l{display:flex;justify-content:space-between;gap:var(--sp-4);padding:7px 0;font-size:13.5px;color:#ffffffb8}.sell-tot .l b{color:#fff;font-weight:700}.sell-tot .l.disc b{color:var(--c-coral)}.sell-tot .l.grand{border-top:1px solid rgba(255,255,255,.2);margin-top:6px;padding-top:12px;align-items:baseline}.sell-tot .l.grand span{font-family:var(--font-display);font-weight:800;font-size:15px;color:#fff}.sell-tot .l.grand b{font-family:var(--font-display);font-weight:800;font-size:28px;line-height:1}.sell-why{border:1.5px solid var(--warn-bd);background:var(--warn-bg);border-radius:var(--r-ctl);padding:var(--sp-4)}.sell-why .lb{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);margin-bottom:10px}@media (max-width:760px){.ck-list{grid-template-columns:1fr}.fd-time{width:80px}.fd-row{gap:var(--sp-3)}.cal-row .wk{display:none}.bd-tabs button{font-size:12.5px;padding:11px 8px}}.fday{--warn: #8a5b00;--warn-bg: #fdf3e0;--warn-bd: #f0dcb4;--info-bg: var(--cloud, #eef4fc);--info-bd: #cbddf5}.fday .ahead p:first-letter{text-transform:uppercase}.fday-banner{display:flex;align-items:flex-start;gap:var(--sp-3, 12px);padding:var(--sp-3, 12px) var(--sp-4, 16px);border:1px solid var(--info-bd);background:var(--info-bg);border-radius:var(--r-ctl, 12px);color:var(--ink, #0b2440);flex-wrap:wrap}.fday-banner>svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--c-primary, #0054a5)}.fday-banner .tx{flex:1 1 220px;min-width:0}.fday-banner .tx b{display:block;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:15px;line-height:1.35}.fday-banner .tx p{margin:3px 0 0;font-size:var(--fs-sm, 13px);color:var(--muted, #5b6b86);line-height:1.35;text-wrap:pretty}.fday-panel{background:var(--paper, #fff);border:1px solid var(--line, #dde7f4);border-radius:var(--r-md, 16px);padding:var(--sp-5, 20px);overflow:hidden}.fday .fd-bd b{font-size:var(--fs-lg, 18px)}.fday .fd-bd p{font-size:13.5px}.fday-note{margin:0;font-size:12.5px;color:var(--muted, #5b6b86);text-align:center;text-wrap:pretty}@media (max-width: 560px){.fday-panel{padding:var(--sp-4, 16px) var(--sp-3, 12px)}.fday .fd-time{width:74px}.fday .fd-bd b{font-size:var(--fs-md, 16px)}}.tnp-err{margin:0 0 14px;padding:10px 13px;border-radius:10px;background:#fdeae5;border:1px solid #f7c9bd;color:#c53a1e;font-size:13.5px}.tnp-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:28px 22px;text-align:center;background:#f8fafc}.tnp-empty b{display:block;font-size:15px;color:#0b2440;margin-bottom:4px}.tnp-empty span{font-size:13.5px;color:#64748b}.tnp-list{display:flex;flex-direction:column;gap:10px}.tnp-item{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:15px 17px}.tnp-item.overdue{border-color:#f6c9bd;background:#fffaf9}.tnp-item.done{opacity:.68}.tnp-item.done .tnp-top b{text-decoration:line-through}.tnp-check{flex:0 0 auto;width:24px;height:24px;margin-top:1px;border-radius:7px;border:2px solid #cbd5e1;background:#fff;cursor:pointer;display:grid;place-items:center;color:#fff;transition:.15s}.tnp-check:hover{border-color:#0054a5}.tnp-check.on{background:#157f3f;border-color:#157f3f}.tnp-check svg{width:14px;height:14px}.tnp-check:disabled{opacity:.5;cursor:not-allowed}.tnp-dot{flex:0 0 auto;width:9px;height:9px;margin-top:8px;border-radius:50%;background:#0054a5}.tnp-main{flex:1;min-width:0}.tnp-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tnp-top b{font-size:15px;color:#0b2440}.tnp-kind{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tnp-kind.note{background:#dbeafe;color:#1d4ed8}.tnp-kind.task{background:#fef3c7;color:#92400e}.tnp-new{background:#dcfce7;color:#15803d;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tnp-main p{margin:7px 0 0;font-size:13.5px;color:#475569;line-height:1.55;white-space:pre-wrap}.tnp-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px;font-size:12.5px;color:#94a3b8;align-items:center}.tnp-meta .due{background:#fff8e6;border:1px solid #f6d488;color:#7a4f00;border-radius:999px;padding:1px 9px;font-weight:600}.tnp-meta .due.late{background:#fdeae5;border-color:#f7c9bd;color:#c53a1e}.tnp-meta .ok{color:#15803d;font-weight:600}.tnav-badge{margin-left:auto;background:#ee4a33;color:#fff;border-radius:999px;min-width:19px;height:19px;padding:0 6px;font-size:11.5px;font-weight:800;display:inline-grid;place-items:center}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100vh;font-family:var(--font-body);background:#0a1430;display:grid;place-items:center;padding:24px;overflow:auto}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(50% 60% at 18% 12%,rgba(0,84,165,.55),transparent 60%),radial-gradient(45% 55% at 85% 22%,rgba(84,190,90,.32),transparent 60%),radial-gradient(60% 60% at 70% 95%,rgba(7,58,107,.6),transparent 60%);pointer-events:none}.login-card{position:relative;z-index:2;width:100%;max-width:410px;background:#fff;border-radius:24px;padding:38px 34px 32px;box-shadow:0 40px 90px -30px #0009}.login-logo{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#0054a5,#073a6b);display:grid;place-items:center;margin:0 auto 18px}.login-logo img{width:40px;height:40px;object-fit:contain}.login-card h1{font-family:var(--font-display);font-weight:800;font-size:26px;text-align:center;margin:0 0 4px;color:var(--ink);letter-spacing:-.02em}.login-card .sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 20px}.login-error{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.875rem}.login-card .fld{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.login-card .fld label{font-size:12.5px;font-weight:700;color:#64708a}.login-card .fld input{border:1px solid var(--line);border-radius:11px;padding:13px 14px;font-family:var(--font-body);font-size:15px;color:var(--ink)}.login-card .fld input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #0054a521}.login-card .fld input[aria-invalid=true]{border-color:#dc2626}.login-card .fld input[aria-invalid=true]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262624}.login-card .fld .login-field-err{font-size:12px;font-weight:600;color:#dc2626}.login-card .row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:20px}.login-card .row label{display:flex;align-items:center;gap:7px;color:#64708a;font-weight:600}.login-card .row .link{color:var(--c-primary);font-weight:700;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:13px}.login-card .signin{width:100%;background:var(--c-primary);color:#fff;border:none;border-radius:12px;padding:14px;font-family:var(--font-display);font-weight:800;font-size:15.5px;cursor:pointer;transition:.15s}.login-card .signin:hover{background:var(--c-primary-700)}.login-card .or{text-align:center;color:#94a3b8;font-size:12.5px;font-weight:600;margin:18px 0;position:relative}.login-card .or:before,.login-card .or:after{content:"";position:absolute;top:50%;width:38%;height:1px;background:var(--line)}.login-card .or:before{left:0}.login-card .or:after{right:0}.login-card .goog{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font-family:var(--font-body);font-weight:700;font-size:14.5px;color:var(--ink);cursor:pointer}.login-card .goog:hover{border-color:#bcc8dc}.login-card .goog svg{width:18px;height:18px}.login-card .foot{text-align:center;margin-top:22px;font-size:13px;color:var(--muted)}.login-card .foot a{color:var(--c-primary);font-weight:700}.login-card.role-card{max-width:520px}.role-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.role-opt{display:flex;flex-direction:column;gap:10px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px 20px;text-decoration:none;transition:.16s;cursor:pointer}.role-opt:hover{border-color:var(--c-primary);transform:translateY(-3px);box-shadow:0 18px 36px -18px #0054a573}.role-opt .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#fff}.role-opt.stu .ic{background:linear-gradient(135deg,#0054a5,#073a6b)}.role-opt.tea .ic{background:linear-gradient(135deg,#54be5a,#157f3f)}.role-opt b{font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--ink);letter-spacing:-.01em}.role-opt .desc{font-size:13.5px;color:var(--muted);line-height:1.5}.role-opt .go{margin-top:2px;font-size:13px;font-weight:700;color:var(--c-primary);display:flex;align-items:center;gap:6px}.role-opt.tea .go{color:#157f3f}@media (max-width: 520px){.role-opts{grid-template-columns:1fr}}.login-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted);text-decoration:none;margin-bottom:10px;align-self:flex-start}.login-back:hover{color:var(--c-primary)}.login-rolechip{display:flex;width:fit-content;align-items:center;gap:7px;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:0 auto 12px}.login-rolechip.stu{background:#0054a51a;color:var(--c-primary)}.login-rolechip.tea{background:#157f3f1c;color:#157f3f}.role-mismatch{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:11px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.role-mismatch .rm-ic svg{width:18px;height:18px;display:block;margin-top:1px}.role-mismatch p{margin:0;font-size:13.5px;line-height:1.5;flex:1}.role-mismatch button{background:none;border:0;color:inherit;font-size:19px;line-height:1;cursor:pointer;padding:0 2px;opacity:.65}.role-mismatch button:hover{opacity:1}.home .ahead .reg{margin-left:auto;align-self:center}.home .next .sub{margin-top:2px}.classes .ahead .reg{margin-left:auto;flex:none}.classes .cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.classes .cc{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}.classes .cc:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px #101e5073}.classes .cc .top{height:96px;position:relative;display:flex;align-items:flex-end;padding:15px 18px}.classes .cc .top h3{color:#fff;font-family:var(--font-display);font-weight:800;font-size:22px;margin:0;position:relative;z-index:2}.classes .cc .top:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 70%)}.classes .cc .bd{padding:16px 18px 18px}.classes .cc .tch{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);font-weight:600;margin-bottom:13px}.classes .cc .tav{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800;font-family:var(--font-display);flex:none}.classes .crow2{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-top:1px solid var(--line)}.classes .crow2 span{color:#64708a;font-weight:600}.classes .crow2 b{color:var(--ink)}.classes .prog{margin-top:13px}.classes .prog .pl{display:flex;justify-content:space-between;font-size:12px;color:#64708a;font-weight:700;margin-bottom:6px}.classes .pbar{height:7px;border-radius:6px;background:#eef1f7;overflow:hidden}.classes .pbar i{display:block;height:100%;border-radius:6px;background:var(--grad-brand)}.classes .cfoot{display:flex;gap:8px;margin-top:15px}.classes .cfoot .btn-app{flex:1;justify-content:center}.classes .cdetails{margin-top:4px;border-top:1px dashed var(--line);padding-top:4px}.classes .cls-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#08183a73;display:grid;place-items:center;padding:20px}.classes .cls-modal{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;width:100%;max-width:420px;box-shadow:0 30px 70px -30px #101e5099}.classes .cls-modal h3{font-size:18px;margin:0 0 4px}.classes .cls-modal-sub{margin:0 0 16px;font-size:13px;color:var(--muted)}.classes .cls-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 12px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;color:#64708a}.classes .cls-empty svg{width:40px;height:40px;color:#aeb8cc}.classes .cls-empty p{margin:0;font-size:13.5px;line-height:1.5}.classes .cls-close{margin-top:16px;width:100%;justify-content:center}.tch-nm{display:flex;flex-direction:column;line-height:1.25;min-width:0}.tch-nm b{font-size:14px}.tch-nm small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #64748b)}.cdetails-contact{display:inline-block;margin-top:10px}.cdetails a{color:var(--c-primary, #0054A5)}.schedule .cols{grid-template-columns:1.7fr 1fr}.schedule .panel-h .wknav{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:700;color:var(--ink)}.schedule .panel-h .ib{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:#64708a}.schedule .panel-h .ib svg{width:15px;height:15px}.schedule .panel-h .ib:hover{border-color:var(--c-primary);color:var(--c-primary)}.schedule .tt{display:grid;grid-template-columns:64px 1fr;gap:0}.schedule .ttrow{display:contents}.schedule .tt .hr{padding:14px 10px;font-size:12px;color:#94a3b8;font-weight:700;text-align:right;border-top:1px solid var(--line)}.schedule .tt .cell{border-top:1px solid var(--line);border-left:1px solid var(--line);min-height:58px;padding:7px;position:relative}.schedule .ev{border-radius:11px;padding:9px 12px;color:#fff;height:100%;display:flex;flex-direction:column;justify-content:center}.schedule .ev b{font-family:var(--font-display);font-size:14px;line-height:1.1}.schedule .ev small{font-size:11.5px;opacity:.9}.schedule .up{display:flex;align-items:center;gap:13px;padding:14px 20px;border-bottom:1px solid var(--line)}.schedule .up:last-child{border-bottom:none}.schedule .up:hover{background:#fafcff}.schedule .up .dt{text-align:center;flex:none;width:48px}.schedule .up .dt b{font-family:var(--font-display);font-size:20px;display:block;line-height:1;color:var(--c-primary)}.schedule .up .dt span{font-size:11px;color:#94a3b8;font-weight:700;text-transform:uppercase}.schedule .up .info{flex:1;min-width:0}.schedule .up .info b{font-size:14px;display:block}.schedule .up .info small{color:#64708a;font-weight:600}.schedule .up .tm{font-size:12.5px;color:#64708a;font-weight:700;flex:none}@media (max-width: 980px){.schedule .cols{grid-template-columns:1fr}}.attendance .gtbl{width:100%;border-collapse:collapse}.attendance .gtbl th{text-align:left;font-size:12px;color:#4a5670;font-weight:800;padding:13px 20px;border-bottom:1px solid var(--line);background:#fafbfe}.attendance .gtbl td{padding:13px 20px;border-bottom:1px solid var(--line);font-size:13.5px}.attendance .gtbl tr:last-child td{border-bottom:none}.attendance .gtbl tr:hover td{background:#fafcff}.attendance .cw{display:flex;align-items:center;gap:10px}.attendance .cw .d{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800;font-family:var(--font-display),system-ui,sans-serif}.attendance .st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 11px;border-radius:var(--pill)}.attendance .st.p{background:#e7f6ec;color:#157f3f}.attendance .st.a{background:#fdecea;color:#c53a1e}.attendance .st.l{background:#fff4e5;color:#b45309}.attendance .st i{width:7px;height:7px;border-radius:50%;background:currentColor}.attendance .dots{display:flex;gap:5px}.attendance .dots i{width:13px;height:13px;border-radius:4px}.attendance .dots i.p{background:#54be5a}.attendance .dots i.a{background:#ff6b5b}.attendance .dots i.l{background:#f59e0b}.attendance .dots i.n{background:#e7ecf3}.attendance .panel-h{justify-content:space-between}.attendance .filter select{font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer}.attendance .filter select:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}.attendance .vis-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tuition .cols{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;align-items:start}.tuition .bal{background:linear-gradient(120deg,#073a6b,#0054a5);color:#fff;border-radius:18px;padding:24px 26px;position:relative;overflow:hidden}.tuition .bal .lab{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9ec3ef}.tuition .bal .amt{font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:44px;line-height:1;margin:8px 0 4px}.tuition .bal .due{font-size:13px;color:#cfe0f7}.tuition .bal .btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;width:100%;background:#fff;color:#0054a5;border:none;border-radius:12px;padding:13px;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:15px;cursor:pointer;transition:transform .15s ease}.tuition .bal .btn:hover{transform:translateY(-2px)}.tuition .bal .btn svg{width:18px;height:18px}.tuition .pm{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin-top:18px}.tuition .pm h3{font-size:15px;margin:0 0 14px}.tuition .pmrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.tuition .pmrow .br{width:42px;height:28px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;font-family:var(--font-display),system-ui,sans-serif;flex:none}.tuition .pmrow b{font-size:13.5px}.tuition .pmrow small{color:#64708a;font-weight:600;display:block;font-size:12px}.tuition .pmrow .df{margin-left:auto;font-size:11px;font-weight:800;color:#157f3f;background:#e7f6ec;padding:3px 10px;border-radius:var(--pill)}.tuition .gtbl{width:100%;border-collapse:collapse}.tuition .gtbl th{text-align:left;font-size:12px;color:#4a5670;font-weight:800;padding:13px 20px;border-bottom:1px solid var(--line);background:#fafbfe}.tuition .gtbl td{padding:14px 20px;border-bottom:1px solid var(--line);font-size:13.5px}.tuition .gtbl tr:last-child td{border-bottom:none}.tuition .gtbl tbody tr:hover td{background:#fafcff}.tuition .amt2{font-family:var(--font-display),system-ui,sans-serif;font-weight:800}.tuition .st{font-size:11.5px;font-weight:800;padding:4px 11px;border-radius:var(--pill);display:inline-block}.tuition .st.paid{background:#e7f6ec;color:#157f3f}.tuition .st.due{background:#fff4e5;color:#b45309}.tuition .lk{color:var(--c-primary);font-weight:700;text-decoration:none;font-size:13px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.tuition .lk:hover{text-decoration:underline}.tuition .lk.add{display:inline-block;margin-top:12px}.tuition .howpay{scroll-margin-top:90px}.tuition .howpay.open{outline:2px solid var(--c-primary);outline-offset:2px}.tuition .howpay-intro{margin:-4px 0 14px;font-size:13px;color:#64708a;line-height:1.5}.tuition .payopt{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.tuition .payopt b{font-size:13.5px;display:block}.tuition .payopt small{color:#64708a;font-weight:600;display:block;font-size:12px;margin:2px 0}.tuition .payaddr{color:var(--c-primary);font-weight:800;text-decoration:none;font-size:13.5px}.tuition .payaddr:hover{text-decoration:underline}@media (max-width: 980px){.tuition .cols{grid-template-columns:1fr}}.profile.cols{grid-template-columns:.85fr 1.4fr}.profile .pcol{display:flex;flex-direction:column;gap:20px}.profile .pcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center}.profile .pcard .av{width:88px;height:88px;border-radius:24px;margin:0 auto 14px;background:linear-gradient(135deg,#0054a5,#073a6b);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:800;font-size:34px}.profile .pcard h3{font-size:20px;margin:0 0 3px}.profile .pcard .role{color:#64708a;font-size:13.5px;font-weight:600}.profile .pcard .chips{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:14px}.profile .chip{font-size:11.5px;font-weight:700;color:#0054a5;background:#eaf2fd;border-radius:var(--pill);padding:4px 11px}.profile .pmeta{margin-top:18px;text-align:left;border-top:1px solid var(--line);padding-top:16px}.profile .pmeta div{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);padding:6px 0}.profile .pmeta svg{width:16px;height:16px;color:#94a3b8;flex:none}.profile .panel-h .btn-app{margin-left:auto}.profile .panel-h .save-grp{margin-left:auto;display:flex;align-items:center;gap:10px}.profile .panel-h .save-grp .btn-app{margin-left:0}.profile .save-msg{font-size:12.5px;font-weight:700}.profile .save-msg.saved{color:#157f3f}.profile .save-msg.error{color:#c0392b}.profile .frm{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile .fld{display:flex;flex-direction:column;gap:6px}.profile .fld.full{grid-column:1 / -1}.profile .fld label{font-size:12px;font-weight:700;color:#64708a}.profile .fld input,.profile .fld select{border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-family:var(--font-body);font-size:14px;color:var(--ink);background:#fff}.profile .fld input:focus,.profile .fld select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #0054a51f}.profile .fld input[aria-invalid=true],.profile .fld select[aria-invalid=true]{border-color:#dc2626}.profile .fld input[aria-invalid=true]:focus,.profile .fld select[aria-invalid=true]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262624}.profile .fld .fld-err{font-size:12px;font-weight:600;color:#dc2626}@media (max-width: 980px){.profile.cols,.profile .frm{grid-template-columns:1fr}}.profile .panel-note{margin:0;padding:0 20px;font-size:13px;line-height:1.5;color:#5b6b86}.register .reg-link{margin-left:auto;flex:none}.register .cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.register .cc{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.register .cc:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px #101e5073}.register .cc .top{height:84px;position:relative;display:flex;align-items:flex-end;padding:13px 16px}.register .cc .top h3{color:#fff;font-family:var(--font-display);font-weight:800;font-size:20px;margin:0;position:relative;z-index:2}.register .cc .top:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 70%)}.register .rtag{position:absolute;top:11px;right:12px;z-index:2;font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:var(--pill);background:#ffffffeb;color:#157f3f}.register .rtag.few{color:#b45309}.register .rtag.full{color:#94a3b8}.register .cc .bd{padding:15px 17px 17px;display:flex;flex-direction:column;flex:1}.register .crow2{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}.register .crow2 span{color:#64708a;font-weight:600}.register .crow2 b{color:var(--ink)}.register .seats{margin:12px 0 4px}.register .seats .sl{display:flex;justify-content:space-between;font-size:12px;color:#64708a;font-weight:700;margin-bottom:5px}.register .pbar{height:7px;border-radius:6px;background:#eef1f7;overflow:hidden}.register .pbar i{display:block;height:100%;border-radius:6px;background:var(--grad-brand)}.register .enr{margin-top:auto;padding-top:14px}.register .enr .btn-app{width:100%;justify-content:center}.register .enr .full{width:100%;text-align:center;padding:11px;border-radius:11px;background:#f1f3f8;color:#94a3b8;font-family:var(--font-display);font-weight:700;font-size:13.5px;border:none}.register .enr .full.as-btn{cursor:pointer;transition:.15s}.register .enr .full.as-btn:hover{background:#e7ebf3;color:#64708a}.register .reg-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#08183a73;display:grid;place-items:center;padding:20px}.register .reg-modal{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;width:100%;max-width:420px;box-shadow:0 30px 70px -30px #101e5099}.register .reg-modal h3{font-size:18px;margin:0 0 8px}.register .reg-modal p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.5}.register .reg-field{display:block;margin-bottom:18px}.register .reg-field span{display:block;font-size:12.5px;font-weight:700;color:#64708a;margin-bottom:6px}.register .reg-field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;font-size:13.5px;color:var(--ink);resize:vertical;outline:none}.register .reg-field textarea:focus{border-color:var(--c-primary)}.register .reg-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 560px){.register .reg-link{display:none}}.teacher .teacher-kgrid{grid-template-columns:repeat(3,1fr)}.teacher .teacher-crow-link{text-decoration:none;color:inherit;cursor:pointer}.teacher .teacher-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.teacher .teacher-cc{text-align:left;font:inherit;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;padding:0;transition:transform .2s,box-shadow .2s}.teacher .teacher-cc:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px #101e5073}.teacher .teacher-cc .top{height:88px;position:relative;display:flex;align-items:flex-end;padding:15px 18px}.teacher .teacher-cc .top h3{color:#fff;font-family:var(--font-display);font-weight:800;font-size:21px;margin:0;position:relative;z-index:2}.teacher .teacher-cc .top:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 70%)}.teacher .teacher-cc .bd{padding:14px 18px 16px}.teacher .crow2{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-top:1px solid var(--line)}.teacher .crow2 span{color:#64708a;font-weight:600}.teacher .crow2 b{color:var(--ink)}.teacher .teacher-cc .cfoot{margin-top:14px}.teacher .teacher-back{padding:8px 12px}.teacher .teacher-roster .ahead{flex-wrap:wrap}.teacher .teacher-take-att{margin-left:auto}.teacher .teacher-count{margin-left:auto;font-size:12.5px;font-weight:700;color:#64708a}.teacher .teacher-student-row{flex-direction:column;align-items:stretch;gap:0}.teacher .teacher-student-main{display:flex;align-items:center;gap:13px;width:100%}.teacher .teacher-student-open{flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:8px}.teacher .teacher-student-open:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px}.teacher .teacher-student-open b{display:block}.teacher .teacher-student-open small{display:block;text-wrap:pretty}.teacher .teacher-student-open:hover b{text-decoration:underline;text-underline-offset:2px}.teacher .teacher-student-detail{width:100%;margin:8px 0 2px 53px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.teacher .teacher-student-detail a{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--c-primary);text-decoration:none;word-break:break-all}.teacher .teacher-student-detail a:hover{text-decoration:underline}.teacher .teacher-student-detail a svg{width:15px;height:15px;flex:none}.teacher .teacher-student-detail .who{font-size:12.5px;color:var(--muted)}.teacher .teacher-student-detail .who.warn{color:#8a5b00;font-weight:600}.teacher .teacher-note-btn{margin-left:auto;flex:none;padding:8px 13px;font-size:12.5px}.teacher .teacher-note-editor{width:100%;margin:10px 0 2px 53px;display:flex;flex-direction:column;gap:10px}.teacher .teacher-note-editor textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:13.5px;resize:vertical;color:var(--ink);background:#fafcff}.teacher .teacher-note-editor textarea:focus{outline:none;border-color:var(--c-primary)}.teacher .teacher-note-actions{display:flex;gap:8px}.teacher .teacher-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 20px;color:#64708a}.teacher .teacher-empty svg{width:44px;height:44px;color:#aeb8cc}.teacher .teacher-empty p{margin:0;font-size:14px;line-height:1.5;max-width:360px}.teacher .teacher-att-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;padding:18px 20px}.teacher .teacher-field{display:flex;flex-direction:column;gap:6px}.teacher .teacher-field label{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;color:#64708a}.teacher .teacher-field select,.teacher .teacher-field input[type=date]{border:1px solid var(--line);border-radius:11px;padding:10px 13px;font:inherit;font-size:14px;color:var(--ink);background:#fff;min-width:200px}.teacher .teacher-field select:focus,.teacher .teacher-field input[type=date]:focus{outline:none;border-color:var(--c-primary)}.teacher .teacher-att-summary{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:2px}.teacher .teacher-att-summary span{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--ink)}.teacher .teacher-att-summary small{font-size:12px;font-weight:700;color:#c53a1e}.teacher .teacher-att-row{gap:12px}.teacher .teacher-status-group{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}.teacher .teacher-status{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;font-family:var(--font-display);font-weight:700;font-size:12.5px;color:#64708a;cursor:pointer;transition:.12s}.teacher .teacher-status:hover{border-color:#c4cede}.teacher .teacher-status.on{color:#fff;border-color:transparent}.teacher .teacher-status-present.on{background:#157f3f}.teacher .teacher-status-absent.on{background:#c53a1e}.teacher .teacher-status-late.on{background:#d97706}.teacher .teacher-status-excused.on{background:#6d3bd1}.teacher .teacher-savebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 0 4px}.teacher .teacher-savebar .btn-app{padding:12px 28px;font-size:14px}.teacher .teacher-saved{font-size:13px;font-weight:700;color:#157f3f}@media (max-width: 720px){.teacher .teacher-kgrid{grid-template-columns:1fr}.teacher .teacher-att-row{flex-wrap:wrap}.teacher .teacher-status-group{width:100%;justify-content:flex-start;margin-left:53px}.teacher .teacher-att-summary{margin-left:0;text-align:left;width:100%}.teacher .teacher-note-editor,.teacher .teacher-student-detail{margin-left:0}}.teacher-reason{margin-top:6px;width:100%;max-width:340px;border:1px solid #e2e8f0;border-radius:9px;padding:7px 10px;font:inherit;font-size:13px;color:#0b2440;background:#fff}.teacher-reason:focus{outline:none;border-color:#0054a5;box-shadow:0 0 0 3px #0054a51f}.teacher-needreason{color:#c53a1e;font-size:13px;font-weight:600}.teacher-level-pick{margin-top:4px;font-size:12px;padding:3px 8px;border-radius:8px;border:1px solid var(--line, #e2e8f0);background:#fff;max-width:160px}.teacher-level-pick:disabled{opacity:.5}.cb-head h2{margin:0;font-size:clamp(21px,2.4vw,26px);line-height:1.05;letter-spacing:-.01em}.cb-head p{margin:5px 0 0;font-size:14px;color:var(--muted);text-wrap:pretty}.cb-top{display:grid;gap:10px}.cb-classes{display:flex;gap:8px;flex-wrap:wrap}.cb-chip{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:13.5px;font-weight:700;cursor:pointer;transition:border-color var(--dur, .16s),background var(--dur, .16s)}.cb-chip:hover{border-color:var(--ctl-bd-hover)}.cb-chip.on{border-color:var(--c-primary);background:#0054a50f;color:var(--c-primary-700)}.cb-chip small{color:var(--muted);font-weight:600}.cb-chip.on small{color:var(--c-primary-700)}.cb-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cb-scope{font-size:11.5px;font-weight:800;letter-spacing:.02em;padding:4px 11px;border-radius:var(--r-pill);background:var(--cloud);color:var(--c-primary-700)}.cb-warn{font-size:11.5px;font-weight:800;padding:4px 11px;border-radius:var(--r-pill);background:var(--warn-bg, #fdf3e0);color:var(--warn, #8a5b00)}.cb-new{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;border:none;border-radius:var(--r-ctl);background:var(--c-coral-btn);color:#fff;font-family:var(--font-display);font-weight:800;font-size:14.5px;cursor:pointer;box-shadow:0 10px 22px -12px var(--c-coral-btn);transition:background var(--dur, .16s)}.cb-new:hover:not(:disabled){background:var(--c-coral-700)}.cb-new:disabled{background:var(--neutral-bg);color:var(--muted);box-shadow:none;cursor:not-allowed}.cb-new svg{width:18px;height:18px;flex:none}.cb-list{display:grid;gap:12px}.cb-list .bp+.bp{margin-top:0}.cb-av{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--cloud);color:var(--c-primary-700)}.cb-av svg{width:17px;height:17px}.cb-av.sm{width:26px;height:26px}.cb-av.sm svg{width:13px;height:13px}.cb-av.fam{background:#d13f221a;color:var(--c-coral-btn)}.bp-kind.k-task{background:var(--warn-bg, #fdf3e0);color:var(--warn, #8a5b00)}.bp-kind.k-material{background:var(--ok-bg);color:#0e5a34}.bp-kind.k-message{background:var(--cloud);color:var(--c-primary-700)}.cb-files{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:var(--sp-3)}.cb-file{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:36px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--cloud);color:var(--c-primary-700);font-family:var(--font-body);font-size:12.5px;font-weight:700;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-file svg{width:14px;height:14px;flex:none}.cb-file:disabled{opacity:.6;cursor:progress}.bp-ft .cb-stat-due{color:var(--c-coral-btn)}.cb-done{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:13px;cursor:pointer}.cb-done svg{width:15px;height:15px;flex:none}.cb-done.on{background:var(--ok-bg);border-color:var(--ok-bd);color:#0e5a34}.cb-more{margin-left:auto;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);color:var(--c-primary-700);font-family:var(--font-display);font-weight:700;font-size:12.5px;cursor:pointer}.cb-more svg{width:14px;height:14px;flex:none}.bp-msg .bub{display:inline-block}.cb-msg-b{flex:1;min-width:0}.bp-msg.me .cb-msg-b{text-align:right}.bp-msg.me .bub{text-align:left}.cb-msg-b .cb-files{margin-top:6px}.cb-msg-b>.bp-private{display:flex}.bp-msg.me .cb-msg-b>.bp-private{justify-content:flex-end}.cb-msg-meta{display:block;font-size:10.5px;color:var(--muted);margin-top:4px}.cb-composer{display:grid;gap:8px;margin-top:var(--sp-3)}.cb-composer textarea{width:100%;border-radius:var(--r-ctl);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px;font:inherit;font-size:14px;resize:vertical}.cb-composer textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #0054a51f}.cb-composer-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cb-composer-row .btn-app{margin-left:auto;min-height:42px}.cb-check{display:inline-flex;gap:8px;align-items:center;min-height:40px;font-size:13px;font-weight:700;color:var(--c-primary-700);cursor:pointer}.cb-check input{width:18px;height:18px;accent-color:var(--c-primary)}.cb-answering{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--c-coral-btn)}.cb-attach{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:var(--r-pill);border:1.5px dashed var(--line);color:var(--muted);font-size:12.5px;font-weight:700;cursor:pointer}.cb-attach svg{width:14px;height:14px;flex:none}.cb-attach:hover{border-color:var(--ctl-bd-hover);color:var(--c-primary-700)}.cb-attach input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.cb-attach:focus-within{border-style:solid;border-color:var(--c-primary);color:var(--c-primary-700);box-shadow:0 0 0 3px #0054a51f}.cb-linkbtn{background:none;border:none;padding:0;min-height:32px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;color:var(--c-primary);text-decoration:underline}.bp.inbound{background:#0c1f45;border-color:#ffffff24;color:#fff}.bp.inbound .bp-hd .who b,.bp.inbound .bp-bd h4{color:#fff}.bp.inbound .bp-hd .who span{color:#ffffff8c}.bp.inbound .bp-bd p{color:#ffffffb8}.bp.inbound .bp-ft,.bp.inbound .bp-thread{background:#ffffff0d;border-top-color:#ffffff1f}.bp.inbound .cb-av{background:#ffffff1f;color:#fff}.bp.inbound .cb-av.fam{background:#ff6b5b33;color:#ffb3a8}.bp.inbound .bp-kind.k-task{background:#ffb74d33;color:#ffd79a}.bp.inbound .bp-kind.k-material{background:#6ee7a033;color:#6ee7a0}.bp.inbound .bp-kind.k-message{background:#8fc0ff33;color:#8fc0ff}.bp.inbound .bp-aud{background:#ffffff1a;color:#ffffffd9}.bp.inbound .bp-aud.one{background:#ff6b5b29;color:#ffb3a8}.bp.inbound .bp-aud.lvl{background:#6ee7a024;color:#6ee7a0}.bp.inbound .bp-stat{color:#ffffffb3}.bp.inbound .bp-ft .cb-stat-due{color:#ffd79a}.bp.inbound .bp-private{color:#fff9}.bp.inbound .bp-msg time,.bp.inbound .cb-msg-meta{color:#ffffff9e}.bp.inbound .cb-file{background:#ffffff1a;border-color:#fff3;color:#fff}.bp.inbound .cb-more,.bp.inbound .cb-done{background:#ffffff1a;border-color:#ffffff3d;color:#fff}.bp.inbound .cb-done.on{background:#6ee7a02e;border-color:#6ee7a066;color:#6ee7a0}.bp.inbound .cb-attach{border-color:#ffffff47;color:#ffffffbf}.bp.inbound .cb-attach:hover{border-color:#ffffff80;color:#fff}.bp.inbound .cb-check{color:#ffffffd1}.bp.inbound .cb-answering{color:#ffb3a8}.bp.inbound .cb-linkbtn{color:#8fc0ff}.bp.inbound .cb-empty{color:#ffffff9e}.bp.inbound .cb-err{color:#ffb3a8}.bp.inbound .cb-composer textarea{border-color:#ffffff38;background:#ffffff0f;color:#fff}.bp.inbound .cb-composer textarea::placeholder{color:#ffffff73}.bp.inbound .cb-composer textarea:focus{border-color:#8fc0ffa6;box-shadow:0 0 0 3px #8fc0ff2e}.cb-compose{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);padding:var(--sp-4);display:grid;gap:var(--sp-4);box-shadow:var(--el-2)}.cb-compose label{display:grid;gap:6px}.cb-compose label>span,.cb-pick>span{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cb-compose input,.cb-compose select,.cb-compose textarea{width:100%;min-height:44px;border-radius:var(--r-ctl);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px;font:inherit;font-size:15px}.cb-compose textarea{resize:vertical}.cb-compose input:focus,.cb-compose select:focus,.cb-compose textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #0054a51f}.cb-compose-foot{display:flex;gap:10px;justify-content:flex-end}.cb-compose-foot .btn-app{min-height:44px}.cb-pick{display:grid;gap:8px}.cb-pick-list{display:flex;gap:8px;flex-wrap:wrap}.cb-intro{border:1px dashed var(--line);border-radius:var(--r-md);background:var(--paper);padding:var(--sp-5)}.cb-intro ul{margin:10px 0 0;padding-left:20px;display:grid;gap:7px;color:var(--muted)}.cb-intro li{font-size:var(--fs-sm);text-wrap:pretty}.cb-empty{margin:0;color:var(--muted);font-size:var(--fs-sm)}.cb-hint{margin:0;color:var(--muted);font-size:12.5px;text-wrap:pretty}.cb-err{margin:0;color:var(--danger, #b3261e);font-size:var(--fs-sm);font-weight:700}@media (max-width: 560px){.cb-compose-foot{flex-direction:column-reverse}.cb-compose-foot .btn-app{justify-content:center;width:100%}.cb-more,.cb-composer-row .btn-app{margin-left:0;width:100%;justify-content:center}}.cr-classnote{display:flex;flex-direction:column;gap:6px;padding:16px 18px}.cr-classnote span{font-size:13px;font-weight:700;color:#475569}.cr-classnote textarea{border:1px solid #e2e8f0;border-radius:11px;padding:11px 13px;font:inherit;font-size:15px;line-height:1.45;color:#0b2440;resize:vertical;background:#fff}.cr-classnote textarea:focus{outline:none;border-color:#0054a5;box-shadow:0 0 0 3px #0054a51f}.cr-list{display:flex;flex-direction:column;gap:12px}.cr-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;grid-template-areas:"who scores" "comment comment";gap:10px 16px;align-items:center;padding:14px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.cr-who{grid-area:who;display:flex;align-items:center;gap:10px;min-width:0}.cr-who b{font-size:14.5px;color:#0b2440;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-scores{grid-area:scores;display:flex;flex-wrap:wrap;gap:4px}.cr-score{width:32px;height:32px;border-radius:9px;border:1px solid #e2e8f0;background:#fff;font-family:inherit;font-weight:700;font-size:13px;color:#64748b;cursor:pointer;transition:.12s}.cr-score:hover{border-color:#0054a5;color:#0054a5}.cr-score.on{color:#fff;border-color:transparent}.cr-score.on.good{background:#157f3f}.cr-score.on.mid{background:#b45309}.cr-score.on.low{background:#c53a1e}.cr-comment{grid-area:comment;width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;line-height:1.45;color:#0b2440;background:#fff;resize:vertical;min-height:64px}.cr-comment:focus{outline:none;border-color:#0054a5;box-shadow:0 0 0 3px #0054a51f}@media (max-width: 760px){.cr-row{grid-template-columns:1fr;grid-template-areas:"who" "scores" "comment"}}.cr-written{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 14px}.cr-written-lbl{font-size:13px;font-weight:700;color:#475569}.cr-daybtn{min-height:36px;padding:0 12px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#0b2440;font-size:14px;font-weight:700;cursor:pointer}.cr-daybtn.on{background:#0054a5;border-color:#0054a5;color:#fff}.mv{display:flex;flex-direction:column;gap:10px;padding:4px clamp(16px,3vw,28px) 14px;min-width:0}.mv-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.mv-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted, #6b7a99);flex:none}.mv-head h1{margin:0;font-family:var(--font-display),inherit;font-size:clamp(15px,2.2vw,18px);font-weight:800;line-height:1.2;color:var(--ink, #0b1f3f);min-width:0}.mv-frame{display:block;width:100%;border:1px solid var(--line, #e2e7f0);border-radius:16px;background:#fff;box-shadow:0 1px 2px #0b1f3f0d;overflow:hidden}@media (max-width: 560px){.mv{gap:7px;padding:2px 10px 14px}.mv-frame{border-radius:12px}}.cooking .ck-sec{margin-top:26px}.ck-sec-h{margin:0 0 12px;font-family:var(--font-display);font-size:16px;color:var(--ink,#0B2440);letter-spacing:.01em}.ck-next{position:relative;overflow:hidden;border-radius:var(--radius,22px);padding:26px 28px;color:#fff;background:linear-gradient(135deg,#8e2c6b,#cd2e3a);box-shadow:var(--shadow)}.ck-next-lab{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:8px}.ck-next h2{margin:0 0 10px;font-family:var(--font-display);font-size:clamp(24px,4.6vw,32px);line-height:1.1}.ck-next-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14.5px;opacity:.94}.ck-next-meta span:first-letter{text-transform:uppercase}.ck-count{position:absolute;right:26px;top:50%;transform:translateY(-50%);text-align:center;background:#ffffff29;border-radius:18px;padding:12px 18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ck-count b{display:block;font-family:var(--font-display);font-size:30px;line-height:1}.ck-count span{display:block;font-size:11.5px;opacity:.9;margin-top:2px}.ck-owed{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding:15px 18px;border-radius:var(--radius-sm,14px);background:#fff8e6;border:1px solid #f6d488}.ck-owed b{font-size:15px;color:#7a4f00}.ck-owed span{flex:1;min-width:180px;font-size:13.5px;color:#8a6420}.ck-list{display:grid;gap:12px}.ck-card{background:#fff;border:1px solid var(--line,#DDE7F4);border-radius:var(--radius-sm,14px);overflow:hidden}.ck-card.past{opacity:.72;background:#fbfcfe}.ck-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px}.ck-card-info{min-width:0}.ck-card-info h3{margin:0 0 3px;font-family:var(--font-display);font-size:17px;color:var(--ink,#0B2440)}.ck-when{display:block;font-size:14px;color:var(--muted,#5B6B86)}.ck-when:first-letter{text-transform:uppercase}.ck-meta{display:block;margin-top:2px;font-size:12.5px;color:#8794a8}.ck-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.ck-pill{display:inline-block;padding:4px 11px;border-radius:var(--pill,999px);font-size:11.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.ck-pill.paid{background:#e8f6ec;color:#157f3f}.ck-pill.due{background:#fdecec;color:#b91c1c}.ck-pill.went{background:#eef3fb;color:#0054a5}.ck-pill.missed{background:#f3f4f6;color:#6b7280}.ck-toggle{width:100%;padding:11px 18px;border:none;border-top:1px solid var(--line,#DDE7F4);background:#f8fafd;color:var(--c-primary,#0054A5);font:inherit;font-size:13.5px;font-weight:700;text-align:left;cursor:pointer}.ck-toggle:hover{background:#eef3fb}.ck-thread{padding:16px 18px;border-top:1px solid var(--line,#DDE7F4);background:#fcfdff}.ck-post{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line,#DDE7F4);margin-bottom:10px}.ck-post.student{background:#f6f9ff;border-color:#dbe7f7}.ck-post header{display:flex;align-items:center;gap:9px;margin-bottom:5px;flex-wrap:wrap}.ck-post header b{font-size:14.5px;color:var(--ink,#0B2440)}.ck-post p{margin:0;font-size:14px;color:#475569;line-height:1.5}.ck-kind{padding:3px 9px;border-radius:var(--pill,999px);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ck-kind.material{background:#eef3fb;color:#0054a5}.ck-kind.task{background:#fff3e0;color:#b45309}.ck-kind.message{background:#f1f5f9;color:#475569}.ck-ask{display:flex;gap:10px;align-items:flex-end;margin-top:12px}.ck-ask textarea{flex:1;padding:10px 12px;border:1.5px solid var(--line,#DDE7F4);border-radius:12px;font:inherit;font-size:14px;resize:vertical;background:#fff}.ck-ask textarea:focus{outline:none;border-color:var(--c-primary,#0054A5)}.ck-panel{padding:16px 18px;border-top:1px solid var(--line,#DDE7F4);background:#fcfdff}.ck-postbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ck-ok{font-size:13px;font-weight:700;color:#157f3f}.ck-composer{display:grid;gap:10px;margin-bottom:16px;padding:14px;border-radius:12px;background:#fff;border:1px solid var(--line,#DDE7F4)}.ck-kinds{display:flex;gap:8px;flex-wrap:wrap}.ck-kindbtn{padding:7px 14px;border-radius:var(--pill,999px);border:1.5px solid var(--line,#DDE7F4);background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--muted,#5B6B86);cursor:pointer}.ck-kindbtn.on{border-color:var(--c-green-700,#157F3F);background:#f2faf4;color:var(--c-green-700,#157F3F)}.ck-input{width:100%;padding:11px 13px;border:1.5px solid var(--line,#DDE7F4);border-radius:12px;font:inherit;font-size:14.5px;background:#fff}.ck-input:focus{outline:none;border-color:var(--c-primary,#0054A5)}textarea.ck-input{resize:vertical}.ck-roster{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ck-roster li{display:flex;align-items:center;gap:13px;padding:11px 13px;background:#fff;border:1px solid var(--line,#DDE7F4);border-radius:12px}.ck-roster li.here{border-color:#bfe6c9;background:#f4fbf6}.ck-tick{width:42px;height:42px;flex:none;border-radius:12px;border:1.5px solid var(--line,#DDE7F4);background:#fff;color:#cbd5e1;display:grid;place-items:center;cursor:pointer;transition:.15s}.ck-tick svg{width:22px;height:22px}.ck-tick[aria-pressed=true]{background:var(--c-green,#54BE5A);border-color:var(--c-green,#54BE5A);color:#fff}.ck-tick:disabled{opacity:.5}.ck-roster-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ck-roster-name b{font-size:15px;color:var(--ink,#0B2440)}.ck-roster-name small{font-size:12.5px;color:var(--muted,#5B6B86)}.ck-phone{font-size:12.5px;color:var(--c-primary,#0054A5);text-decoration:none;font-weight:600}.ck-book{margin-top:26px;padding:20px 22px;background:#fff;border:1px solid var(--line,#DDE7F4);border-radius:var(--radius,22px)}.ck-book .ck-sec-h{margin-bottom:4px}.ck-who-lab{margin-top:16px;margin-bottom:8px;font-weight:700;color:var(--ink,#0B2440)}.ck-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.ck-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 15px;border-radius:var(--radius-sm,14px);border:1.5px solid var(--line,#DDE7F4);background:#fff;font:inherit;cursor:pointer;text-align:left;transition:.15s}.ck-chip b{font-size:14px;color:var(--ink,#0B2440)}.ck-chip small{font-size:11.5px;color:var(--muted,#5B6B86)}.ck-chip small:first-letter{text-transform:uppercase}.ck-chip:hover{border-color:#bcd3ee}.ck-chip.on{border-color:var(--c-green-700,#157F3F);background:#f2faf4}.ck-chip.on b{color:var(--c-green-700,#157F3F)}.ck-chip.person{padding:11px 16px}.ck-book-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#DDE7F4)}.ck-book-foot b{display:block;font-family:var(--font-display);font-size:23px;color:var(--ink,#0B2440);line-height:1.1}.ck-book-foot small{display:block;font-size:12.5px;color:var(--muted,#5B6B86)}.ck-fine{margin:12px 0 0;font-size:12.5px;color:#8794a8;line-height:1.5}.ck-empty{padding:44px 24px;text-align:center;background:#fff;border:1px solid var(--line,#DDE7F4);border-radius:var(--radius,22px)}.ck-empty-ic{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:#f1f5fb;color:#94a3b8}.ck-empty-ic svg{width:30px;height:30px}.ck-empty h3{margin:0 0 6px;font-family:var(--font-display);font-size:18px;color:var(--ink,#0B2440)}.ck-empty p{margin:0;color:var(--muted,#5B6B86);font-size:14.5px}.ck-muted{color:var(--muted,#5B6B86);font-size:14px;margin:0 0 10px}.ck-err{color:#b91c1c;font-size:13.5px;margin:0 0 10px}@media (max-width:640px){.ck-next{padding:22px 20px}.ck-count{position:static;transform:none;display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px}.ck-count b{font-size:22px}.ck-card-main{flex-direction:column;gap:10px}.ck-card-side{flex-direction:row;align-items:center}.ck-ask{flex-direction:column;align-items:stretch}}.ck-sign{margin-top:16px;padding:14px 16px;border-radius:var(--radius-sm,14px);background:#fff8e6;border:1px solid #f6d488}.ck-sign p{margin:0 0 10px;font-size:13px;color:#7a4f00;line-height:1.5}.cal-month{text-transform:capitalize}.cal-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cal-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#fff;border:1px solid var(--line,#DDE7F4);border-radius:12px}.cal-row.past{opacity:.5}.cal-row.no_class{background:#f7f8fb}.cal-row.no_class.has-cooking{background:#fff;border-color:#e6d3e0}.cal-row.event{background:#fffdf2;border-color:#f0e0a8}.cal-date{flex:none;width:46px;text-align:center;display:flex;flex-direction:column;gap:0}.cal-date b{font-family:var(--font-display);font-size:20px;color:var(--ink,#0B2440);line-height:1}.cal-date small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#5B6B86)}.cal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cal-body b{font-size:15px;color:var(--ink,#0B2440)}.cal-row.no_class .cal-body b{color:var(--muted,#5B6B86);font-weight:600}.cal-cook{font-size:12.5px;color:#8e2c6b;font-weight:700}.cal-you{flex:none;padding:4px 11px;border-radius:var(--pill,999px);background:#e8f6ec;color:#157f3f;font-size:11px;font-weight:800;white-space:nowrap}.ck-chip.mine{border-color:#bfe6c9;background:#f4fbf6;cursor:default}.ck-chip.mine b{color:var(--c-green-700,#157F3F)}.ck-chip.off{opacity:.5;cursor:not-allowed;background:#f7f8fb}.ck-chip:disabled{pointer-events:none}.ckf{--warn:#8A5B00;--warn-bg:#FDF3E0;--warn-bd:#F0DCB4}.ckf-h{margin:0 0 var(--sp-3,12px);font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--ink,#0B2440);letter-spacing:.01em}.ckf-lead{margin:-6px 0 var(--sp-4,16px);font-size:13px;color:var(--muted,#5B6B86);line-height:var(--lh-body,1.55);text-wrap:pretty}.ckf-kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3,12px)}.ckf-kpi{background:var(--paper,#fff);border:1px solid var(--line,#DDE7F4);border-radius:var(--r-md,16px);padding:var(--sp-4,16px);min-width:0}.ckf-kpi .v{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,6vw,30px);line-height:1;color:var(--ink,#0B2440);font-variant-numeric:tabular-nums}.ckf-kpi .l{margin-top:6px;font-size:var(--fs-sm,13px);color:var(--muted,#5B6B86);font-weight:600;text-wrap:pretty}.ckf-kpi.warn .v{color:var(--warn)}.ckf-kpi.ok .v{color:var(--ok,#157F3F)}.ckf-owed{display:flex;align-items:flex-start;gap:var(--sp-3,12px);flex-wrap:wrap;padding:var(--sp-3,12px) var(--sp-4,16px);border-radius:var(--r-ctl,12px);border:1px solid var(--warn-bd);background:var(--warn-bg)}.ckf-owed>svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--warn)}.ckf-owed .tx{flex:1 1 220px;min-width:0}.ckf-owed .tx b{display:block;font-family:var(--font-display);font-weight:800;font-size:15px;line-height:1.35;color:var(--warn);text-wrap:pretty}.ckf-owed .tx p{margin:3px 0 0;font-size:var(--fs-sm,13px);color:var(--muted,#5B6B86);line-height:1.4;text-wrap:pretty}.ckf-owed .btn-app{flex:none;align-self:center}.ckf-stack{display:flex;flex-direction:column;gap:10px}.ckf .ck-t h3{margin:0 0 3px}.ckf-next .ck-t h3{font-size:var(--fs-lg,18px)}.ckf-when{display:block;font-size:12.5px;color:var(--muted,#5B6B86);font-weight:600;text-wrap:pretty}.ckf-when:first-letter,.ckf-cap:first-letter{text-transform:uppercase}.ckf-facts{display:flex;flex-wrap:wrap;gap:6px var(--sp-4,16px);font-size:12.5px;color:var(--muted,#5B6B86)}.ckf-facts span{display:flex;align-items:center;gap:6px;min-width:0}.ckf-facts svg{width:14px;height:14px;flex:none}.ckf-facts b{color:var(--ink,#0B2440);font-weight:700}.ckf-okline{color:var(--ok,#157F3F)}.ckf-dueline{color:var(--warn)}.ck.ckf-went .ck-flag{background:var(--ok,#157F3F)}.ckf-note{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border-radius:var(--r-ctl,12px);border:1px solid var(--info-bd,#CBDDF5);background:var(--cloud,#EEF4FC)}.ckf-note>svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--c-primary,#0054A5)}.ckf-note b{font-family:var(--font-display);font-weight:800;font-size:13px;line-height:1.35;color:var(--ink,#0B2440);text-wrap:pretty}.ckf-note.warn{border-color:var(--warn-bd);background:var(--warn-bg)}.ckf-note.warn>svg,.ckf-note.warn b{color:var(--warn)}.ckf-note.ok{border-color:var(--ok-bd,#BFE6CB);background:var(--ok-bg,#E7F6EC)}.ckf-note.ok>svg{color:var(--ok,#157F3F)}.ckf-note.ok b{color:#0e5a34}.ckf-hint{font-size:12px;color:var(--muted,#5B6B86);font-weight:600;min-width:0;text-wrap:pretty}.ck-ft .ckf-cta{margin-left:auto;flex:none;padding:9px 15px;font-size:13px;border-radius:var(--r-ctl,12px)}.ckf-toggle{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:11px var(--sp-4,16px);border:none;border-top:1px solid var(--line,#DDE7F4);background:#fafcff;color:var(--c-primary,#0054A5);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:background var(--dur,.16s)}.ckf-toggle:hover{background:var(--cloud,#EEF4FC)}.ckf-toggle>svg{width:15px;height:15px;flex:none}.ckf-toggle .n{margin-left:auto;flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--c-primary,#0054A5);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.ckf .ck-thread{border-radius:0}.ckf-order{margin-top:var(--sp-4,16px);padding:var(--sp-4,16px) var(--sp-5,20px);background:var(--paper,#fff);border:1px solid var(--line,#DDE7F4);border-radius:var(--r-md,16px)}.ckf-order>.ckf-who-lab:first-child{margin-top:0}.ckf-order>.ckf-foot:first-child{margin-top:0;padding-top:0;border-top:none}.ckf-pick{margin-left:auto;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 18px;border-radius:var(--r-pill,999px);border:1.5px solid var(--c-coral-btn,#D13F22);background:var(--c-coral-btn,#D13F22);color:#fff;font:inherit;font-family:var(--font-display);font-size:13.5px;font-weight:800;cursor:pointer;transition:background var(--dur,.16s),border-color var(--dur,.16s),color var(--dur,.16s)}.ckf-pick>svg{width:15px;height:15px;flex:none}.ckf-pick:hover{background:var(--c-coral-700,#C53A1E);border-color:var(--c-coral-700,#C53A1E)}.ckf-pick.on{background:var(--ok-bg,#E7F6EC);border-color:var(--ok-bd,#BFE6CB);color:var(--ok,#157F3F)}.ckf-who-lab{margin:var(--sp-5,20px) 0 9px;font-size:13px;font-weight:700;color:var(--ink,#0B2440)}.ckf-people{display:flex;flex-wrap:wrap;gap:9px}.ckf-person{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;border-radius:var(--r-pill,999px);border:1.5px solid var(--line,#DDE7F4);background:var(--paper,#fff);font:inherit;font-size:14px;font-weight:700;color:var(--ink,#0B2440);cursor:pointer;transition:border-color var(--dur,.16s),background var(--dur,.16s)}.ckf-person:hover{border-color:var(--ctl-bd-hover,#BFD1EA)}.ckf-person.on{border-color:var(--ok-bd,#BFE6CB);background:var(--ok-bg,#E7F6EC);color:var(--ok,#157F3F)}.ckf-person i{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid var(--line,#DDE7F4);background:var(--paper,#fff);display:grid;place-items:center;color:#fff}.ckf-person i svg{width:12px;height:12px;opacity:0}.ckf-person.on i{background:var(--ok,#157F3F);border-color:var(--ok,#157F3F)}.ckf-person.on i svg{opacity:1}.ckf-sign{margin-top:var(--sp-5,20px);padding:var(--sp-4,16px);border-radius:var(--r-ctl,12px);border:1.5px solid var(--warn-bd);background:var(--warn-bg)}.ckf-sign p{margin:0 0 10px;font-size:12.5px;color:var(--warn);line-height:var(--lh-body,1.55);text-wrap:pretty}.ckf-input{width:100%;min-height:44px;padding:11px 13px;border:1.5px solid var(--line,#DDE7F4);border-radius:var(--r-ctl,12px);font:inherit;font-size:15px;background:var(--paper,#fff);color:var(--ink,#0B2440)}.ckf-input:focus{outline:none;border-color:var(--c-primary,#0054A5);box-shadow:0 0 0 3px #0054a51f}.ckf-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4,16px);flex-wrap:wrap;margin-top:var(--sp-5,20px);padding-top:var(--sp-4,16px);border-top:1px solid var(--line,#DDE7F4)}.ckf-tot{min-width:0}.ckf-tot b{display:block;font-family:var(--font-display);font-weight:800;font-size:26px;line-height:1.1;color:var(--ink,#0B2440);font-variant-numeric:tabular-nums}.ckf-tot small{display:block;margin-top:3px;font-size:12.5px;color:var(--muted,#5B6B86)}.ckf-foot .btn-app{flex:none;min-height:46px;padding:13px 22px;font-size:14.5px}.ckf-foot .btn-app:disabled{opacity:.5;cursor:not-allowed}.ckf-fine{margin:var(--sp-3,12px) 0 0;font-size:12px;color:var(--muted,#5B6B86);line-height:var(--lh-body,1.55);text-wrap:pretty}@media (max-width:640px){.ckf-order{padding:var(--sp-4,16px)}.ckf-owed .btn-app{width:100%;justify-content:center}.ckf-foot{flex-direction:column;align-items:stretch}.ckf-foot .btn-app{width:100%;justify-content:center}.ckf .ck-flag{max-width:100px;font-size:9px;padding:5px 9px;letter-spacing:.05em}.ckf .ck-t{padding-right:100px}.ckf .ck:not(:has(.ck-flag)) .ck-t{padding-right:0}}@media (max-width:420px){.ckf-pick{flex:1 1 100%;margin-left:0}}.lunch-page .ahead p{max-width:36rem}.lp-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.lp-switch button{border:1px solid var(--line, #dde7f4);background:#fff;color:var(--ink, #0b2440);border-radius:var(--pill, 999px);padding:8px 14px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.lp-switch button:hover{border-color:var(--c-primary, #0054a5)}.lp-switch button.on{background:var(--c-navy, #08183a);border-color:var(--c-navy, #08183a);color:#fff}.lp-switch button:focus-visible{outline:2px solid var(--c-primary, #0054a5);outline-offset:2px}.lp-pass{position:relative;overflow:hidden;border-radius:var(--radius, 22px);background:linear-gradient(155deg,#0e2a5c 0%,var(--c-navy, #08183a) 58%,#050f26 100%);color:#fff;padding:26px 24px 22px;box-shadow:0 18px 40px #08183a47}.lp-pass h1,.lp-pass h2,.lp-pass h3,.lp-pass h4{color:#fff}.lp-pass.pending:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-18deg,transparent,transparent 10px,rgba(255,255,255,.04) 10px,rgba(255,255,255,.04) 20px);pointer-events:none}.lp-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.82;margin-bottom:8px}.lp-pass h2{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(26px,5vw,34px);line-height:1.05;text-wrap:balance}.lp-balance{font-family:var(--font-display);font-size:clamp(28px,6vw,40px);color:#ffb4a8;margin:10px 0 4px;min-height:1.1em;line-height:1.1}.lp-hint{margin:0;font-size:13.5px;opacity:.88;text-wrap:pretty}.lp-hint.spaced{margin-top:12px}.lp-pass-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:20px;align-items:center}@media (max-width: 720px){.lp-pass-grid{grid-template-columns:1fr}}.lp-qr{background:#fff;border-radius:18px;padding:14px;display:grid;place-items:center;min-height:200px}.lp-qr img{width:min(200px,100%);height:auto;display:block}.lp-qr.locked{filter:grayscale(1) opacity(.45)}.lp-qr.ghost{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff24}.lp-qr-wait{width:60px;height:6px;border-radius:999px;background:#08183a2e}.lp-code{margin-top:14px;padding:12px 14px;border-radius:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.22)}.lp-code.locked b{opacity:.72}.lp-code-lab{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:4px}.lp-code b{display:block;font-family:var(--font-display);font-size:clamp(28px,6vw,36px);letter-spacing:.18em;line-height:1.1;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.lp-code small{display:block;margin-top:4px;font-size:12.5px;opacity:.85;text-wrap:pretty}.lp-stamps{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.lp-stamp{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:transparent;transition:background-color .25s ease,border-color .25s ease}.lp-stamp.full{background:#54be5a;border-color:#54be5a;box-shadow:0 0 0 2px #54be5a40}.lp-stamp.used{background:#ffffff1f;border-color:#fff3}.lp-banner{margin-top:14px;padding:12px 14px;border-radius:14px;background:#ffc1072e;border:1px solid rgba(255,213,79,.45);font-size:13.5px}.lp-banner b{display:block;margin-bottom:2px}.lp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.lp-mail .lp-actions{margin-top:0}.lp-note{margin:10px 0 0;min-height:19px;font-size:13.5px;color:var(--muted, #5b6b86)}.lp-panel{margin-top:22px;background:#fff;border:1px solid var(--line, #dde7f4);border-radius:var(--radius-sm, 14px);padding:18px}.lp-panel h3{margin:0 0 12px;font-family:var(--font-display);font-size:17px}.lp-hist{list-style:none;margin:0;padding:0}.lp-hist li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line, #dde7f4);font-size:14px}.lp-hist li:first-child{border-top:none}.lp-hist .muted{color:var(--muted, #5b6b86);font-size:12.5px}.lp-err{color:#b91c1c;font-size:13.5px;margin:0 0 10px}.lp-skeleton{pointer-events:none}.lp-sk{border-radius:10px;background:#ffffff24}.lp-sk-name{height:calc(clamp(26px,5vw,34px)*1.05);width:min(62%,260px);margin:0 0 6px}.lp-sk-bal{height:calc(clamp(28px,6vw,40px)*1.1);width:min(46%,190px);margin:10px 0 4px}.lp-sk-line{height:21px;width:min(46%,190px);margin:0}.lp-sk-code{height:120px;border-radius:14px;margin-top:14px}@media (prefers-reduced-motion: no-preference){.lp-sk{animation:lpPulse 1.5s ease-in-out infinite}.lp-qr img{animation:lpQrIn .28s ease-out both}.lp-qr-wait{animation:lpPulse 1.2s ease-in-out infinite}}@keyframes lpPulse{0%,to{opacity:.5}50%{opacity:.95}}@keyframes lpQrIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.tck .cal-list{display:flex;flex-direction:column;gap:var(--sp-2);list-style:none;margin:0;padding:0}.tck .cal-row{display:flex;align-items:stretch;gap:var(--sp-3);min-width:0;min-height:64px;padding:var(--sp-3);border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);position:relative}.tck .cal-row.class .bar{background:var(--c-primary)}.tck .cal-row.mine{border-color:var(--c-primary);background:#0054a50a}.tck .cal-row.off{border-style:dashed;background:#fafbfd}.tck .cal-row.off .bar{background:var(--line)}.tck .cal-row.off .tx b{color:var(--muted)}.tck .cal-row.cook{border-color:var(--c-coral-btn);background:linear-gradient(100deg,rgba(209,63,34,.07),var(--paper) 60%)}.tck .cal-row.cook .bar{background:var(--c-coral-btn)}.tck .cal-row.cook .d b{color:var(--c-coral-btn)}.tck .cal-row.event{border-color:var(--c-green-700);background:linear-gradient(100deg,rgba(21,127,63,.07),var(--paper) 60%)}.tck .cal-row.event .bar{background:var(--c-green-700)}.tck .cal-row.event .d b{color:var(--c-green-700)}.tck .cal-row.tck-past{opacity:.55}.tck .cal-legend{margin:0 0 var(--sp-3)}.tck .ck-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.tck-now{position:relative;overflow:hidden;color:#fff;border-radius:var(--r-md);padding:var(--sp-5);background:linear-gradient(125deg,var(--c-primary),#0a4a93 55%,var(--c-navy));box-shadow:var(--shadow-sm)}.tck-now:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-110px;background:#ffffff14}.tck-now:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:30px;bottom:-120px;border:1.5px solid rgba(255,255,255,.18)}.tck-now>*{position:relative}.tck-now .tag{display:inline-flex;align-items:center;gap:7px;background:#ffffff29;border-radius:var(--r-pill);padding:5px 11px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.tck-now .tag i{width:7px;height:7px;border-radius:50%;flex:none;background:#6ee7a0;box-shadow:0 0 0 3px #6ee7a04d}.tck-now h2{color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(23px,5.4vw,28px);line-height:1.1;margin:var(--sp-4) 0 6px;text-wrap:pretty}.tck-now .when{font-size:13.5px;color:#ffffffd9}.tck-now .when:first-letter{text-transform:uppercase}.tck-now .meta{display:flex;flex-wrap:wrap;gap:8px var(--sp-5);margin:var(--sp-3) 0 var(--sp-5)}.tck-now .meta span{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:#ffffffe6}.tck-now .meta svg{width:16px;height:16px;flex:none;opacity:.8}.tck-now.flat .meta{margin-bottom:0}.tck-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:300px;min-height:52px;padding:0 var(--sp-5);border:none;border-radius:var(--r-ctl);background:#fff;color:var(--c-primary-700);font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);cursor:pointer;transition:filter var(--dur)}.tck-go:hover{filter:brightness(.94)}.tck-go svg{width:18px;height:18px;flex:none}.tck .cal-row.tck-row{flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.tck-rowbtn{display:flex;align-items:stretch;gap:var(--sp-3);width:100%;min-width:0;min-height:64px;padding:var(--sp-3);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tck-rowbtn:hover{background:#0054a50b}.tck-rowbtn:focus-visible{outline:2px solid var(--c-primary);outline-offset:-3px}.tck-chev{flex:none;align-self:center;display:grid;place-items:center;width:34px;height:34px;color:var(--muted)}.tck-chev svg{width:18px;height:18px;transition:transform var(--dur)}.tck-rowbtn[aria-expanded=true] .tck-chev svg{transform:rotate(180deg)}.tck .cal-row .ck-panel{border-radius:0}.tck-prow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin:0 0 10px}.tck-prow h4{margin:0;font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--ink)}.tck-hint{margin:0 0 10px;font-size:12.5px;color:var(--muted);line-height:1.45;text-wrap:pretty}.tck .ck-tick{width:48px;height:48px}.tck .ck-roster li{gap:12px;padding:10px 12px}.tck .ck-roster-name b{font-size:15.5px}.tck .ck-phone{font-size:13px;padding:2px 0}.tck-badge{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 11px;border:1px solid;border-radius:var(--r-pill);font-size:11.5px;font-weight:800;white-space:nowrap}.tck-badge i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.tck-badge.paid{color:var(--ok, #157f3f);background:var(--ok-bg, #e7f6ec);border-color:var(--ok-bd, #bfe6cb)}.tck-badge.due{color:var(--warn, #8a5b00);background:var(--warn-bg, #fdf3e0);border-color:var(--warn-bd, #f0dcb4)}.tck .ck-postbar{flex-direction:column;align-items:stretch;gap:8px}.tck .ck-postbar .btn-app{justify-content:center;min-height:48px;font-size:14.5px}.tck .ck-ok{text-align:center}.tck .ck-composer .btn-app{justify-content:center;min-height:48px}.tck .ck-kindbtn{min-height:42px}.tck .ck-input{min-height:46px}@media (max-width: 760px){.tck .cal-row .wk{display:inline-block;font-size:9.5px;padding:3px 7px}}@media (max-width: 640px){.tck-now{padding:var(--sp-4)}.tck-go{max-width:none}.tck .cal-row .d{width:46px}.tck .ck-roster li{flex-wrap:wrap}.tck .ck-roster .tck-badge{margin-left:60px}}.tlunch{--tl-tear-bg: #f4f6fa}.tl-lp{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;color:#fff;width:100%;max-width:560px;background:linear-gradient(155deg,#0e2a5c 0%,var(--c-navy, #08183a) 58%,#050f26 100%);box-shadow:0 24px 60px -26px #050f26b8,0 2px #ffffff0f inset}.tl-lp h1,.tl-lp h2,.tl-lp h3,.tl-lp h4{color:#fff}.tl-stub h1,.tl-stub h2,.tl-stub h3,.tl-stub h4{color:var(--ink, #0b2440)}.tl-lp:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.11) 46%,rgba(255,255,255,.02) 54%,transparent 68%);transform:translate(-120%);animation:tlSheen 5.5s ease-in-out 1.2s infinite}@keyframes tlSheen{0%{transform:translate(-120%)}22%,to{transform:translate(120%)}}@media (prefers-reduced-motion: reduce){.tl-lp:after{animation:none;opacity:.35;transform:none}}.tl-lp:before{content:"";position:absolute;z-index:0;width:320px;height:320px;right:-130px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(0,84,165,.55),transparent 68%)}.tl-top{position:relative;z-index:2;display:flex;align-items:flex-start;gap:14px;padding:20px 20px 16px}.tl-mk{width:56px;height:44px;flex:none;object-fit:contain;object-position:left center}.tl-kind{margin-left:auto;flex:none;text-align:right}.tl-kind b{display:block;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.02em}.tl-kind span{display:block;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffffff94}.tl-name{position:relative;z-index:2;padding:0 20px 4px}.tl-name .who{margin-bottom:6px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffffff94}.tl-name h3{margin:0;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:30px;line-height:1;letter-spacing:-.02em;color:#fff;text-wrap:balance}.tl-name .sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.tl-gift{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.tl-bal{position:relative;z-index:2;display:flex;align-items:flex-end;gap:12px;padding:16px 20px 20px}.tl-bal .n{font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:64px;line-height:.82;letter-spacing:-.04em;color:var(--c-coral, #ff6b5b);text-shadow:0 4px 24px rgba(255,107,91,.32)}.tl-bal .lb{padding-bottom:7px;min-width:0}.tl-bal .lb b{display:block;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:15px;line-height:1.1}.tl-bal .lb>span{display:block;margin-top:2px;font-size:11.5px;line-height:1.4;color:#ffffff8c;text-wrap:pretty}.tl-lp.empty .tl-bal .n{color:#ffffff75;text-shadow:none}.tl-tear{position:relative;z-index:2;height:24px;display:flex;align-items:center}.tl-tear:before,.tl-tear:after{content:"";position:absolute;z-index:4;top:50%;width:26px;height:26px;border-radius:50%;background:var(--tl-tear-bg);transform:translateY(-50%)}.tl-tear:before{left:-13px}.tl-tear:after{right:-13px}.tl-tear i{display:block;flex:1;height:0;margin:0 16px;border-top:2px dashed rgba(255,255,255,.22)}.tl-stub{position:relative;z-index:2;background:#fff;color:var(--ink, #0b2440);padding:18px 20px 20px}.tl-stub .lb{margin-bottom:7px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted, #5b6b86)}.tl-stub .v{font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:clamp(40px,12vw,56px);line-height:1;letter-spacing:.16em;color:var(--c-navy, #08183a);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.tl-stub .hint{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:var(--muted, #5b6b86);text-wrap:pretty}.tl-stub-main{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tl-stub-txt{flex:1 1 190px;min-width:0}.tl-qr{flex:0 0 auto;width:104px;height:104px;border-radius:12px;background:#fff;border:1px solid var(--line, #dde7f4);display:grid;place-items:center;overflow:hidden}.tl-qr img{width:100%;height:100%;display:block}.tl-foot{position:relative;z-index:2;display:flex;align-items:flex-start;gap:10px;padding:13px 20px 15px;background:#fff;border-top:1px dashed var(--line, #dde7f4);font-size:11.5px;color:var(--muted, #5b6b86)}.tl-foot>svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--muted, #5b6b86)}.tl-foot.done>svg{color:var(--ok, #17803d)}.tl-foot>span{min-width:0;line-height:1.45;text-wrap:pretty}.tl-foot b{display:block;font-size:13px;color:var(--ink, #0b2440)}.tl-foot.done b{color:var(--ok, #17803d)}.tl-msg{margin:0;color:var(--muted, #5b6b86);font-size:14.5px}.tl-empty{display:flex;align-items:flex-start;gap:12px;max-width:560px;padding:16px 18px;background:#fff;border:1px solid var(--line, #dde7f4);border-radius:16px}.tl-empty>svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--c-primary, #0054a5)}.tl-empty b{display:block;font-family:var(--font-display),system-ui,sans-serif;font-weight:800;font-size:15px;color:var(--ink, #0b2440)}.tl-empty p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted, #5b6b86);text-wrap:pretty}.tl-ghost{pointer-events:none}.tl-ghost:after{animation:none;opacity:0}.tl-sk{display:block;border-radius:10px;background:#ffffff24}.tl-stub .tl-sk{background:#0b24401a}.tl-sk-name{height:30px;width:min(58%,240px)}.tl-sk-n{height:53px;width:74px}.tl-sk-lb{height:35px;width:min(62vw,190px)}.tl-sk-code{height:clamp(40px,12vw,56px);width:min(70%,260px)}.tl-sk-foot{height:35px;width:min(80%,360px)}@media (prefers-reduced-motion: no-preference){.tl-sk{animation:tlPulse 1.5s ease-in-out infinite}}@keyframes tlPulse{0%,to{opacity:.5}50%{opacity:.95}}@media (max-width: 760px){.tl-bal .n{font-size:54px}.tl-name h3{font-size:26px}.tl-sk-n{height:45px;width:62px}.tl-sk-name{height:26px}}
