@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--finik-gold-50: #fffbeb;--finik-gold-100: #fef3c7;--finik-gold-300: #fcd34d;--finik-gold-500: #f59e0b;--finik-gold-700: #b45309;--finik-gold-900: #78350f;--finik-gold-text: #92400e;--finik-glow: rgba(251, 191, 36, .55)}[data-theme=dark]{--finik-gold-50: rgba(251, 191, 36, .08);--finik-gold-100: rgba(251, 191, 36, .16);--finik-gold-text: #fcd34d;--finik-glow: rgba(251, 191, 36, .4)}.finik-coin{display:block;border-radius:50%;filter:drop-shadow(0 4px 6px rgba(120,53,15,.28));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.finik-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:18px;border:1px solid var(--finik-gold-100);background:radial-gradient(circle at 12% 50%,var(--finik-gold-100),transparent 55%),linear-gradient(135deg,var(--finik-gold-50),var(--card-bg));color:var(--text);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.finik-card:hover{box-shadow:0 10px 24px -14px var(--finik-glow)}.finik-card-coin{width:64px;height:64px;flex:none;animation:finik-float 3.2s ease-in-out infinite}.finik-card-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.finik-card-label{font-size:13px;font-weight:600;color:var(--finik-gold-text);text-transform:uppercase;letter-spacing:.05em}.finik-card-balance{font-size:26px;font-weight:800;line-height:1.15}.finik-card-hint{font-size:13px;color:var(--text-muted)}.finik-card-open{flex:none;font-size:14px;font-weight:600;color:var(--accent);white-space:nowrap}.finiks-page{display:flex;flex-direction:column;gap:20px}.finiks-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:24px;padding:28px;border-radius:24px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.22),transparent 40%),linear-gradient(135deg,#b45309,#d97706 45%,#f59e0b);box-shadow:0 18px 40px -22px #b45309cc}.finiks-hero-coin{width:112px;height:112px;flex:none;animation:finik-float 3.2s ease-in-out infinite}.finiks-hero-copy h1{margin:0 0 4px;font-size:15px;font-weight:600;color:#ffffffe6}.finiks-hero-balance{color:#fff}.finiks-hero-balance{font-size:40px;font-weight:800;line-height:1.1}.finiks-hero-copy p{margin:8px 0 0;font-size:14px;color:#ffffffeb;max-width:460px}.finiks-hero-sparkle{position:absolute;color:#ffffffd9;animation:finik-twinkle 2.4s ease-in-out infinite;pointer-events:none}.finiks-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finiks-rule{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--finik-gold-50);border:1px solid var(--finik-gold-100)}.finiks-rule img{width:48px;height:48px;flex:none}.finiks-rule-title{font-weight:600}.finiks-rule-amount{font-size:13px;font-weight:700;color:var(--finik-gold-text)}.finiks-note{margin:12px 0 0;font-size:13px;color:var(--text-muted)}.finiks-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.finiks-history-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.finiks-history-item:first-child{border-top:0}.finiks-history-item img{width:36px;height:36px;flex:none}.finiks-history-copy{flex:1;min-width:0;display:flex;flex-direction:column}.finiks-history-title{font-weight:600}.finiks-history-sub{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finiks-history-amount{font-weight:800;color:var(--finik-gold-text);white-space:nowrap}@media (max-width: 720px){.finiks-hero{padding:20px;gap:16px}.finiks-hero-coin{width:80px;height:80px}.finiks-hero-balance{font-size:30px}.finiks-rules{grid-template-columns:1fr}.finik-card{padding:14px 16px}.finik-card-coin{width:52px;height:52px}.finik-card-open{display:none}}.finik-wow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#78350f73,#0f172aad);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:finik-fade-in .3s ease both}.finik-wow.is-leaving{animation:finik-fade-out .5s ease .15s both}.finik-wow-card{position:relative;width:min(420px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:8px 24px 20px;border-radius:28px;text-align:center;background:radial-gradient(circle at 50% 0%,var(--finik-gold-100),transparent 60%),var(--card-bg);color:var(--text);box-shadow:0 30px 80px -24px #0000008c,0 0 0 1px #fbbf2440;animation:finik-pop-in .5s cubic-bezier(.2,1.4,.4,1) both}.is-leaving .finik-wow-card{animation:finik-card-out .45s ease .1s both}.finik-wow-stage{position:relative;height:200px;perspective:700px}.finik-wow-rays{position:absolute;left:50%;top:50%;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(251,191,36,.3) 0deg 8deg,transparent 8deg 24deg);mask-image:radial-gradient(circle,#000 20%,transparent 68%);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 68%);animation:finik-fade-in .6s ease .3s both,finik-spin 14s linear infinite}.finik-wow-glow{position:absolute;left:50%;top:50%;width:230px;height:230px;margin:-115px 0 0 -115px;border-radius:50%;background:radial-gradient(circle,var(--finik-glow) 0%,transparent 65%);animation:finik-glow 1.8s ease-in-out infinite}.finik-wow-coin{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;transform-style:preserve-3d;animation:finik-big-in 1s cubic-bezier(.25,1.4,.45,1) both,finik-wobble 3.6s ease-in-out 1.1s infinite}.finik-wow-coin img{width:100%;height:100%;filter:drop-shadow(0 14px 22px rgba(120,53,15,.45)) drop-shadow(0 0 24px rgba(251,191,36,.55))}.finik-wow-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;pointer-events:none}.finik-wow-shine:before{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skew(-18deg);animation:finik-shine 3.2s ease-in-out 1.2s infinite}.is-leaving .finik-wow-coin{visibility:hidden}.finik-wow-mini{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;opacity:0;animation:finik-burst 1.1s cubic-bezier(.2,.8,.3,1) both}.finik-wow-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.finik-wow-confetti span{position:absolute;top:-20px;height:14px;border-radius:3px;opacity:0;animation-name:finik-confetti;animation-timing-function:cubic-bezier(.3,.6,.5,1);animation-fill-mode:both}.finik-wow-title{margin:0;font-size:30px;font-weight:800;color:var(--text);animation:finik-slide-in .4s ease .55s both}.finik-wow-amount{margin:4px 0 0;font-size:22px;font-weight:800;color:var(--finik-gold-text);font-variant-numeric:tabular-nums;animation:finik-slide-in .4s ease .65s both}.finik-wow-reason{margin:10px auto 0;padding:8px 14px;width:fit-content;max-width:100%;border-radius:999px;background:var(--finik-gold-50);border:1px solid var(--finik-gold-100);font-size:14px;color:var(--text);animation:finik-slide-in .4s ease .8s both}.finik-wow-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left}.finik-wow-list li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--finik-gold-50);font-size:14px;animation:finik-slide-in .4s ease both}.finik-wow-list li img{width:26px;height:26px;flex:none}.finik-wow-list li span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finik-wow-list li strong{color:var(--finik-gold-text)}.finik-wow-list li.finik-wow-more{justify-content:center;background:none;color:var(--text-muted);font-size:13px}.finik-wow-collect{width:100%;min-height:50px;margin-top:18px;padding:12px 16px;border:0;border-radius:16px;font:inherit;font-size:17px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#d97706,#f59e0b 55%,#fbbf24);box-shadow:0 12px 24px -12px #d97706f2,inset 0 -3px #92400e59;transition:transform .15s ease,filter .15s ease;animation:finik-slide-in .4s ease .95s both}.finik-wow-collect:hover{filter:brightness(1.06);transform:translateY(-1px)}.finik-wow-later{margin-top:6px;min-height:40px;padding:8px 12px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer}.finik-wow-later:hover{color:var(--accent)}.finik-wow-collect:focus-visible,.finik-wow-later:focus-visible{outline:3px solid var(--finik-gold-300);outline-offset:2px}.finik-flying-coin{position:fixed;z-index:1300;pointer-events:none;will-change:transform}.finik-bump{animation:finik-bump .7s cubic-bezier(.3,1.6,.5,1)}@keyframes finik-fade-in{0%{opacity:0}to{opacity:1}}@keyframes finik-fade-out{to{opacity:0}}@keyframes finik-pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes finik-glow{0%,to{transform:scale(.9);opacity:.8}50%{transform:scale(1.08);opacity:1}}@keyframes finik-spin{to{transform:rotate(360deg)}}@keyframes finik-twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes finik-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes finik-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes finik-card-out{to{opacity:0;transform:scale(.92) translateY(10px)}}@keyframes finik-big-in{0%{opacity:0;transform:scale(.2) rotateY(-540deg)}70%{opacity:1;transform:scale(1.12) rotateY(15deg)}to{opacity:1;transform:scale(1) rotateY(0)}}@keyframes finik-wobble{0%,to{transform:rotateY(-14deg) translateY(0)}50%{transform:rotateY(14deg) translateY(-6px)}}@keyframes finik-shine{0%{left:-60%}45%,to{left:130%}}@keyframes finik-burst{0%{opacity:0;transform:translate(0) scale(.3) rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--bx),var(--by)) scale(1) rotate(320deg)}}@keyframes finik-confetti{0%{opacity:0;transform:translate(0) rotate(var(--rot))}10%{opacity:1}to{opacity:0;transform:translate(30px,105vh) rotate(calc(var(--rot) + 540deg))}}@keyframes finik-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.finik-wow,.finik-wow-card,.finik-wow-rays,.finik-wow-glow,.finik-wow-coin,.finik-wow-shine:before,.finik-wow-title,.finik-wow-amount,.finik-wow-reason,.finik-wow-list li,.finik-wow-collect,.finik-bump{animation:none!important}.finik-wow-mini,.finik-wow-confetti{display:none}.finik-card-coin,.finiks-hero-coin,.finiks-hero-sparkle{animation:none!important}}.finiks-subhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.finiks-subhead h1{margin:0;font-size:24px;flex:1;min-width:0}.finiks-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);flex:none}.finiks-back:hover{border-color:var(--accent);color:var(--accent)}.finiks-segmented,.finiks-chips{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:14px;background:var(--surface-2)}.finiks-segmented button,.finiks-chips button{min-height:36px;padding:6px 14px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.finiks-segmented button.is-active,.finiks-chips button.is-active{background:var(--card-bg);color:var(--accent);box-shadow:0 2px 8px -4px #10182840}.finiks-segmented button:focus-visible,.finiks-chips button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.finiks-section-title{margin:0 0 12px;font-size:18px}.finiks-stats-total{display:flex;align-items:center;gap:14px;margin-bottom:20px}.finiks-stats-total img{width:56px;height:56px}.finiks-stats-number{font-size:32px;font-weight:800;line-height:1.1}.finiks-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.finiks-list-head .finiks-section-title{margin:0}.finiks-more{margin-top:12px;width:100%}.finik-chart{display:flex;align-items:stretch;gap:4px;height:180px;overflow-x:auto;padding-bottom:2px}.finik-chart-col{flex:1 0 18px;min-width:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.finik-chart-value{font-size:11px;font-weight:700;color:var(--finik-gold-text);min-height:14px}.finik-chart-bar{width:100%;max-width:34px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#fbbf24,#f59e0b 60%,#d97706);box-shadow:inset 0 -3px #92400e40}.finik-chart-bar[data-empty]{background:var(--surface-2);box-shadow:none}.finik-chart-day{font-size:11px;color:var(--text-muted);white-space:nowrap}@media (max-width: 720px){.finiks-subhead h1{font-size:20px}.finiks-segmented{width:100%}.finiks-segmented button{flex:1}.finik-chart-col:nth-child(odd) .finik-chart-day{visibility:hidden}}.finiks-all-link{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}@media (max-width: 720px){.finiks-chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.finiks-chips button{white-space:nowrap}.finiks-list-head{flex-direction:column;align-items:stretch}}.pz-page{display:flex;flex-direction:column;gap:20px;--pz-cream: #fff8ec;--pz-cream-2: #fff3dc;--pz-ink: #1f2547;--pz-orange: #f59e0b;--pz-orange-dark: #d97706;--pz-blue: #2f6bff;--pz-shadow: 0 18px 40px -26px rgba(146, 64, 14, .45), 0 2px 8px -4px rgba(31, 37, 71, .08)}.pz-art{display:block;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(closest-side,#000 78%,transparent 100%);mask-image:radial-gradient(closest-side,#000 78%,transparent 100%);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pz-link{font-size:14px;font-weight:700;color:var(--pz-blue);text-decoration:none;white-space:nowrap}.pz-link:hover{text-decoration:underline}.pz-bar{position:relative;flex:1;height:14px;border-radius:999px;background:#f1e6d4;box-shadow:inset 0 1px 2px #92400e2e;overflow:hidden}.pz-bar>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(180deg,#fcd34d,#f59e0b 55%,#ea7a0c);box-shadow:inset 0 -2px #92400e40,0 0 10px #f59e0b73;transition:width .8s cubic-bezier(.2,.8,.3,1)}.pz-bar.is-big{height:20px}.pz-top{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px 26px;border-radius:26px;background:linear-gradient(100deg,#fff4dd,#fffaf1 45%,#fff3df);box-shadow:var(--pz-shadow);color:var(--pz-ink)}.pz-top-balance{display:flex;align-items:center;gap:16px}.pz-top-coin{width:118px;height:102px;margin:-8px 0}.pz-top-label{font-size:15px;font-weight:600;color:var(--pz-ink)}.pz-top-value{font-size:34px;font-weight:800;line-height:1.15;color:var(--pz-ink)}.pz-top-divider{width:1px;align-self:stretch;margin:10px 0;background:linear-gradient(180deg,transparent,rgba(146,64,14,.25),transparent)}.pz-top-level{display:flex;align-items:center;gap:16px;min-width:0}.pz-shield{flex:none;display:block}.pz-top-level-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.pz-top-level-row{display:flex;align-items:center;gap:14px}.pz-top-level-nums{font-size:15px;font-weight:700;color:var(--pz-ink);white-space:nowrap}.pz-next{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:18px;background:#ffffffd9;box-shadow:0 8px 20px -14px #92400e80;color:var(--pz-ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.pz-next:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px #92400e99}.pz-next-gift{width:56px;height:52px}.pz-next-copy{display:flex;flex-direction:column;font-size:14px;font-weight:700;line-height:1.35}.pz-next-label{font-weight:600}.pz-map{border-radius:28px;overflow:hidden;box-shadow:var(--pz-shadow)}.pz-map-art{position:relative;width:100%;aspect-ratio:1872 / 561;container-type:inline-size}.pz-map-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pz-map-cover{position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(9px);pointer-events:none}.pz-map-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#aad0fc,#a9d0fa 4%,#beddfe 21%,#cee1fd 36%,#d9e0fd 46%,#e0def8 57%);clip-path:polygon(0 0,43.5% 0,43.5% 49%,29% 49%,29% 57%,0 57%)}.pz-map-intro{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--pz-ink)}.pz-map-intro-copy{position:absolute;left:3%;top:9%;width:40%}.pz-map-intro h2{margin:0;font-size:clamp(16px,2.9cqw,38px);font-weight:800;line-height:1.12;color:var(--pz-ink)}.pz-map-intro p{margin:1.2cqw 0 0;font-size:clamp(12px,1.5cqw,20px);line-height:1.4;color:#2b3157;max-width:26em}.pz-map-open{position:absolute;left:2.9%;top:59.4%;width:17%;height:14%;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 1cqw;border:0;border-radius:999px;font:inherit;font-size:clamp(13px,1.45cqw,18px);font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(180deg,#4a83ff,#2459f0);box-shadow:0 10px 20px -10px #2459f0e6,inset 0 1px #ffffff59}.pz-map-open:hover{filter:brightness(1.06)}.pz-map-bubble{position:absolute;right:1.4%;top:7.5%;display:flex;align-items:center;gap:8px;max-width:17%;padding:.9cqw 1.1cqw;border-radius:1.2cqw;background:#fff;box-shadow:0 8px 18px -10px #1f254773;font-size:clamp(10px,1cqw,14px);font-weight:700;line-height:1.3;color:var(--pz-ink)}.pz-map-bubble svg{flex:none;color:#f5b301;filter:drop-shadow(0 1px 1px rgba(146,64,14,.4))}.pz-stop-hit{position:absolute;border:0;border-radius:40%;background:transparent;cursor:pointer;z-index:2}.pz-stop-hit:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px #2f6bff99}.pz-stop-pill{position:absolute;transform:translate(-50%,-50%);min-width:5.6%;padding:.45cqw .9cqw;border-radius:999px;background:#fff;box-shadow:0 4px 10px -4px #1f254759;font-size:clamp(10px,1.35cqw,19px);font-weight:800;text-align:center;white-space:nowrap;color:var(--pz-ink);pointer-events:none;z-index:1}.pz-stop-badge{position:absolute;transform:translate(-50%,-50%);width:3.1cqw;height:3.1cqw;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:.25cqw solid #fff;color:#fff;pointer-events:none;z-index:1}.pz-stop-badge svg{width:55%;height:55%}.pz-stop.is-done .pz-stop-badge{background:linear-gradient(180deg,#4ade80,#16a34a);box-shadow:0 3px 8px -2px #16653499}.pz-stop.is-next .pz-stop-badge{background:linear-gradient(180deg,#fcd34d,#f59e0b);box-shadow:0 0 #fbbf24b3;animation:pz-pulse 1.8s ease-out infinite}.pz-stop.is-locked .pz-stop-badge{background:linear-gradient(180deg,#9ca3af,#6b7280)}.pz-stop.is-locked .pz-stop-pill{color:#6b7280}.pz-stop.is-next .pz-stop-pill{box-shadow:0 0 0 2px #fcd34d,0 0 18px #fbbf24cc}.pz-stop-pop{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:min(320px,92%);padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 20px 40px -16px #1f25478c;color:var(--pz-ink);z-index:5;animation:finik-pop-in .25s ease both}.pz-stop-pop-close{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:50%;background:#f3f4f6;color:#374151;display:flex;align-items:center;justify-content:center;cursor:pointer}.pz-stop-pop-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f3f4f6;color:#4b5563}.pz-stop-pop.is-done .pz-stop-pop-status{background:#dcfce7;color:#166534}.pz-stop-pop.is-next .pz-stop-pop-status{background:#fef3c7;color:#92400e}.pz-stop-pop-title{margin:8px 30px 6px 0;font-size:16px;font-weight:800}.pz-stop-pop-row{font-size:14px;line-height:1.45}.pz-stop-pop-progress{height:8px;margin:8px 0 4px;border-radius:999px;background:#f1e6d4;overflow:hidden}.pz-stop-pop-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#f59e0b)}.pz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.pz-card{padding:20px 22px;border-radius:26px;background:#fff;box-shadow:var(--pz-shadow);color:var(--pz-ink);min-width:0}.pz-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.pz-card-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:800;color:var(--pz-ink)}.pz-head-icon{color:var(--pz-orange);flex:none}.pz-card-lead{margin:4px 0 6px;font-size:14px;color:#5b6185}.pz-list{list-style:none;margin:0;padding:0}.pz-list>li+li,.pz-list>li+li.pz-row{border-top:1px solid #f1ece4}.pz-row{width:100%;display:flex;align-items:center;gap:14px;padding:12px 4px;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer;border-radius:14px}button.pz-row:hover{background:#fffaf1}.pz-row.is-static{cursor:default}.pz-row-icon{width:62px;height:62px;flex:none}.pz-row.is-pending .pz-row-icon{filter:grayscale(.85) opacity(.65)}.pz-row-coin{width:42px;height:42px;flex:none}.pz-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pz-row-title{font-size:16px;font-weight:700;line-height:1.3;color:var(--pz-ink)}.pz-row-sub{font-size:13px;color:#6b7091;line-height:1.35}.pz-row-amount{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:800;color:#c2410c;white-space:nowrap}.pz-row-amount img{width:22px;height:22px}.pz-chest{display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(70% 55% at 50% 30%,#fff1cf,#fff1cf00),linear-gradient(180deg,#fffaf1,#fff6e6)}.pz-chest-art{width:min(300px,100%);aspect-ratio:350 / 230;height:auto;margin-top:-6px;animation:pz-chest-sway 4s ease-in-out infinite;transform-origin:50% 90%}.pz-chest h2{margin:6px 0 4px;font-size:22px;font-weight:800;color:var(--pz-ink)}.pz-chest p{margin:0;font-size:15px;color:#4b5175;max-width:260px}.pz-orange-btn{margin-top:16px;min-width:220px;min-height:48px;padding:12px 22px;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(180deg,#fbbf24,#f59e0b 50%,#ea7a0c);box-shadow:0 12px 22px -12px #d97706f2,inset 0 -3px #92400e4d,inset 0 1px #fff6}.pz-orange-btn:disabled{cursor:default;filter:saturate(.6) brightness(1.04);opacity:.8}.pz-chest .pz-chest-status{margin-top:10px;font-size:13px;color:#7a7f9e}.pz-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:finik-fade-in .2s ease both}.pz-modal,.pz-map-modal{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px 24px 22px;border-radius:28px;background:radial-gradient(80% 40% at 50% 0%,#fff1cf,transparent 70%),#fff;color:var(--pz-ink);text-align:center;box-shadow:0 30px 70px -24px #00000080;animation:finik-pop-in .35s cubic-bezier(.2,1.3,.4,1) both}.pz-map-modal{width:min(1200px,100%);padding:22px}.pz-map-scroll{border-radius:20px;overflow:auto}.pz-map-scroll .pz-map-art{min-width:760px}.pz-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f4f6;color:#374151;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3}.pz-modal-title{margin:6px 0 4px;font-size:24px;font-weight:800;color:var(--pz-ink)}.pz-modal-sub{margin:0;font-size:15px;color:#4b5175}.pz-modal-chip{display:inline-block;margin-top:12px;padding:6px 14px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:14px;font-weight:700}.pz-congrats{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#eef3ff,#e6edff);color:#2449c9;font-size:14px}.pz-congrats strong{font-size:16px}.pz-modal-goal{margin-top:16px;text-align:left}.pz-modal-row{font-size:15px;line-height:1.45;margin:6px 0}.pz-ach-hero{display:flex;justify-content:center;margin:0 auto;width:170px;height:160px}.pz-ach-hero .pz-art{width:100%;height:100%;object-fit:contain}.pz-ach-hero:not(.is-earned) .pz-art{filter:grayscale(.85) opacity(.6)}@keyframes pz-pulse{0%{box-shadow:0 0 #fbbf24bf}to{box-shadow:0 0 0 1.4cqw #fbbf2400}}@keyframes pz-chest-sway{0%,to{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-4px)}}[data-theme=dark] .pz-page{--pz-shadow: 0 18px 40px -26px rgba(0, 0, 0, .8)}@media (max-width: 1180px){.pz-top{grid-template-columns:auto auto minmax(0,1fr)}.pz-next{grid-column:1 / -1;justify-self:start}.pz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pz-grid>.pz-card:last-child{grid-column:1 / -1}}@media (max-width: 720px){.pz-page{gap:14px}.pz-top{grid-template-columns:1fr;gap:12px;padding:14px 16px;border-radius:22px}.pz-top-divider{display:none}.pz-top-coin{width:88px;height:76px}.pz-top-value{font-size:28px}.pz-next{justify-self:stretch}.pz-next svg{margin-left:auto}.pz-map{border-radius:22px}.pz-map .pz-map-art{min-width:700px}.pz-map{overflow-x:auto;-webkit-overflow-scrolling:touch}.pz-grid{grid-template-columns:1fr;gap:14px}.pz-card{padding:16px;border-radius:22px}}@media (prefers-reduced-motion: reduce){.pz-chest-art,.pz-stop.is-next .pz-stop-badge,.pz-stop-pop,.pz-modal,.pz-map-modal,.pz-modal-backdrop{animation:none!important}}.pz-section-h{margin:0 0 14px;font-size:19px;font-weight:800;color:var(--pz-ink)}.pz-next-page{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:center;gap:8px 28px;padding:28px;background:radial-gradient(60% 70% at 15% 40%,#fff1cf,transparent 70%),#fff}.pz-next-trophy{width:100%;aspect-ratio:1;height:auto;animation:finik-float 3.4s ease-in-out infinite}.pz-next-kicker{font-size:18px;font-weight:700}.pz-next-big{margin:2px 0 6px;font-size:44px;font-weight:900;line-height:1.1;color:#ea580c}.pz-next-name{margin-bottom:16px;font-size:17px;font-weight:700}.pz-next-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}.pz-next-facts div{padding:10px 12px;border-radius:14px;background:#fff7e8}.pz-next-facts dt{font-size:13px;color:#6b7091}.pz-next-facts dd{margin:2px 0 0;font-size:16px;font-weight:800}.pz-next-keep{grid-column:1 / -1;margin:8px 0 0;text-align:center;font-size:16px;font-weight:600;color:#4b5175}.pz-next-tip{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:16px;background:linear-gradient(90deg,#fff4d6,#ffeec4);font-weight:700;color:#92400e}.pz-ach-count{font-size:14px;font-weight:700;color:#92400e;background:#fef3c7;padding:6px 12px;border-radius:999px}.pz-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.pz-ach-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 14px;border:1px solid #f3e7d3;border-radius:22px;background:linear-gradient(180deg,#fffaf1,#fff);font:inherit;text-align:center;color:var(--pz-ink);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.pz-ach-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px #92400e8c}.pz-ach-card.is-earned{border-color:#fcd34d;background:radial-gradient(70% 50% at 50% 20%,#fff1c7,transparent 70%),#fffdf7}.pz-ach-card-art{position:relative;width:104px;height:104px}.pz-ach-card-art .pz-art{width:100%;height:100%;object-fit:contain}.pz-ach-card.is-progress .pz-art{filter:grayscale(.55) opacity(.8)}.pz-ach-card.is-locked .pz-art{filter:grayscale(1) opacity(.45)}.pz-ach-card-mark{position:absolute;right:0;bottom:2px;color:#6b7280;background:#fff;border-radius:50%;padding:3px;box-shadow:0 2px 6px #00000026}.pz-ach-card-mark.is-earned{color:#16a34a;padding:1px}.pz-ach-card-title{font-size:15px;font-weight:800;line-height:1.25}.pz-ach-card-sub{font-size:13px;color:#6b7091;line-height:1.35}.pz-ach-card-progress{width:100%;display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;font-weight:700;color:#6b7091}.pz-ach-card-progress .pz-bar{height:8px}.pz-rewards-filters{align-self:flex-start}.pz-timeline{list-style:none;margin:0;padding:0 0 0 18px;position:relative}.pz-timeline:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(180deg,#fcd34d,#fde68a 70%,transparent)}.pz-timeline-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f3eee6}.pz-timeline-item:before{content:"";position:absolute;left:-16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#fbbf24;box-shadow:0 0 0 3px #fff7e0}.pz-timeline-button{display:flex;align-items:center;gap:12px;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.pz-timeline-icon{width:44px;height:44px;flex:none}.pz-timeline-icon.is-art{width:52px;height:52px}.pz-timeline-amount{min-width:48px;font-size:18px;font-weight:900;color:#ea580c}.pz-timeline-amount.is-badge{font-size:12px;font-weight:800;color:#7c3aed;text-transform:uppercase;letter-spacing:.04em}@media (max-width: 720px){.pz-next-page{grid-template-columns:1fr;padding:18px;text-align:center}.pz-next-trophy{width:180px;margin:0 auto}.pz-next-facts{grid-template-columns:1fr}.pz-ach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pz-ach-card-art{width:80px;height:80px}.pz-timeline-amount{min-width:36px;font-size:16px}}@media (prefers-reduced-motion: reduce){.pz-next-trophy{animation:none!important}}.pz-chest-backdrop{overflow:hidden;background:radial-gradient(circle at 50% 45%,#5b21b673,#0f172ab8)}.pz-chest-modal{position:relative;width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px 24px 22px;border-radius:30px;text-align:center;color:var(--pz-ink, #1f2547);background:radial-gradient(70% 45% at 50% 35%,#fff1cf,transparent 75%),#fffaf3;box-shadow:0 30px 80px -24px #0009,0 0 0 1px #fbbf244d;animation:finik-pop-in .4s cubic-bezier(.2,1.3,.4,1) both}.pz-chest-stage{position:relative;height:250px;margin:4px 0 6px}.pz-chest-rays{position:absolute;left:50%;top:50%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(251,191,36,.28) 0deg 8deg,transparent 8deg 24deg);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 66%);mask-image:radial-gradient(circle,#000 18%,transparent 66%);opacity:.35;animation:finik-spin 16s linear infinite;transition:opacity .5s ease}.pz-chest-glow{position:absolute;left:50%;top:55%;width:240px;height:200px;margin:-100px 0 0 -120px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.45) 0%,transparent 65%);animation:finik-glow 2.2s ease-in-out infinite}.pz-chest-modal.is-opening .pz-chest-rays,.pz-chest-modal.is-opened .pz-chest-rays{opacity:1}.pz-chest-modal.is-opened .pz-chest-glow{background:radial-gradient(circle,rgba(255,236,153,.95) 0%,rgba(251,191,36,.4) 40%,transparent 70%);transform:scale(1.4)}.pz-chest-spark{position:absolute;color:#f59e0b;font-size:16px;animation:finik-twinkle 2.4s ease-in-out infinite both}.pz-chest-svg{position:absolute;left:50%;top:50%;width:230px;height:200px;margin:-100px 0 0 -115px;overflow:visible;filter:drop-shadow(0 16px 20px rgba(76,29,149,.35));transform-origin:50% 92%;animation:pz-chest-idle 2.6s ease-in-out infinite}.pz-chest-svg-lid{transform-origin:28px 92px;transform-box:view-box;transition:transform .6s cubic-bezier(.3,1.5,.5,1)}.pz-chest-svg-inner{opacity:0;transition:opacity .4s ease}.pz-chest-svg.is-opening{animation:pz-chest-shake .45s ease-in-out 2}.pz-chest-svg.is-opening .pz-chest-svg-lid{transform:rotate(-38deg) translate(-6px,-10px)}.pz-chest-svg.is-opening .pz-chest-svg-inner{opacity:1}.pz-chest-open-art{position:absolute;left:50%;top:50%;width:270px;height:245px;margin:-122px 0 0 -135px;object-fit:contain;animation:pz-chest-reveal .7s cubic-bezier(.2,1.4,.4,1) both}.pz-chest-coin{position:absolute;left:50%;top:50%;margin:-14px 0 0 -14px;opacity:0;animation:finik-burst 1.2s cubic-bezier(.2,.8,.3,1) both}.pz-chest-cta p{margin:0 auto;max-width:300px;font-size:16px;font-weight:600;color:#3b4166}.pz-chest-error{margin-top:10px!important;color:#b91c1c!important;font-size:14px!important}.pz-chest-what{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:6px 10px;border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--pz-blue, #2f6bff);cursor:pointer}.pz-chest-tiers{list-style:none;margin:6px auto 0;padding:10px 14px;max-width:300px;border-radius:14px;background:#fff3d6;font-size:14px;font-weight:600;color:#92400e;text-align:left;display:grid;gap:4px}.pz-chest-reward{animation:finik-slide-in .45s ease .35s both}.pz-chest-reward-title{font-size:22px;font-weight:800}.pz-chest-reward-amount{display:inline-flex;align-items:center;gap:10px;margin:8px 0 4px;font-size:34px;font-weight:900;color:#ea580c}.pz-chest-reward-amount img{width:52px;height:52px}.pz-chest-reward-sub{font-size:14px;color:#5b6185}.pz-chest .pz-orange-btn:not(:disabled):hover,.pz-chest-modal .pz-orange-btn:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px)}@keyframes pz-chest-idle{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}@keyframes pz-chest-shake{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-5deg) scale(1.03)}75%{transform:rotate(5deg) scale(1.03)}}@keyframes pz-chest-reveal{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 720px){.pz-chest-stage{height:210px}.pz-chest-svg{width:190px;height:165px;margin:-82px 0 0 -95px}.pz-chest-open-art{width:220px;height:200px;margin:-100px 0 0 -110px}}@media (prefers-reduced-motion: reduce){.pz-chest-modal,.pz-chest-rays,.pz-chest-glow,.pz-chest-spark,.pz-chest-svg,.pz-chest-open-art,.pz-chest-reward{animation:none!important}.pz-chest-svg-lid{transition:none}.pz-chest-coin{display:none}}.pz-chest.is-ready .pz-orange-btn{animation:pz-ready-pulse 1.8s ease-in-out infinite}@keyframes pz-ready-pulse{0%,to{box-shadow:0 12px 22px -12px #d97706f2,0 0 #fbbf2499}50%{box-shadow:0 12px 22px -12px #d97706f2,0 0 0 10px #fbbf2400}}@media (prefers-reduced-motion: reduce){.pz-chest.is-ready .pz-orange-btn{animation:none!important}}.pz-map-cover.is-button:before{background:linear-gradient(180deg,#e0def8,#d6e2fa);clip-path:polygon(0 55%,23% 55%,23% 76%,0 76%)}.pz-ladder-head{margin:18px 0 10px;font-size:18px;font-weight:800;text-align:left}.pz-ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;text-align:left}.pz-ladder-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid #f1e6d4;background:#fffaf3}.pz-ladder-item.is-next{border-color:#fcd34d;box-shadow:0 0 0 3px #fcd34d59}.pz-ladder-item.is-locked{opacity:.7}.pz-ladder-num{flex:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;font-weight:900;color:#fff;background:linear-gradient(180deg,#fbbf24,#ea7a0c);box-shadow:inset 0 -3px #92400e4d}.pz-ladder-item.is-locked .pz-ladder-num{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.pz-ladder-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pz-ladder-title{font-weight:800}.pz-ladder-sub{font-size:13px;color:#6b7091}.pz-ladder-state{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#6b7280;white-space:nowrap}.pz-ladder-item.is-done .pz-ladder-state{color:#16a34a}.pz-ladder-item.is-next .pz-ladder-state{color:#b45309}.pz-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 8px 8px}.pz-empty-coin{width:84px;height:84px;filter:grayscale(.2) drop-shadow(0 8px 14px rgba(146,64,14,.3));animation:finik-float 3.2s ease-in-out infinite}.pz-empty p{margin:0;max-width:260px;font-size:15px;color:#4b5175}@media (prefers-reduced-motion: reduce){.pz-empty-coin{animation:none!important}}a.finik-card:hover{background:radial-gradient(circle at 12% 50%,var(--finik-gold-100),transparent 55%),linear-gradient(135deg,var(--finik-gold-50),var(--card-bg))}a.pz-next:hover{background:#ffffffd9}a.pz-link:hover,a.finiks-all-link:hover{background:none}a.finiks-back:hover{background:var(--card-bg)}main>.pz-page:not(:first-child),main>.finiks-page:not(:first-child){margin-top:20px}.finiks-segmented button:not(.is-active):hover,.finiks-chips button:not(.is-active):hover{background:transparent;color:var(--text)}.hwtpl-list{--hwtpl-border: var(--dk-bd-e2e8f0, #e2e8f0);--hwtpl-quiz-bg: #e0f2fe;--hwtpl-quiz-fg: #0369a1;--hwtpl-materials-bg: #dcfce7;--hwtpl-materials-fg: #15803d;--hwtpl-text-bg: #ffedd5;--hwtpl-text-fg: #c2410c;--hwtpl-chip-bg: #f1f5f9;--hwtpl-chip-fg: #334155;container-type:inline-size;display:grid;gap:10px;margin:0;padding:0;list-style:none}.hwtpl-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;grid-template-areas:"icon body actions arrow";align-items:center;gap:4px 18px;padding:16px 18px;background:var(--surface);border:1px solid var(--hwtpl-border);border-radius:16px;box-shadow:0 1px 3px #1018280a;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.hwtpl-card:hover{border-color:rgba(var(--brand-600-rgb),.35);background:rgba(var(--brand-600-rgb),.03);box-shadow:0 6px 18px rgba(var(--brand-600-rgb),.1)}.hwtpl-card-icon{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px}.hwtpl-card-body{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:8px}.hwtpl-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.hwtpl-card-title{margin:0;min-width:0;font-size:16px;line-height:1.35;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.hwtpl-card-target{all:unset;cursor:pointer;color:inherit}.hwtpl-card-target:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.hwtpl-card-target:focus-visible:after{outline:2px solid var(--brand-600);outline-offset:2px}.hwtpl-card:hover .hwtpl-card-target{color:var(--brand-700)}.hwtpl-kind-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.hwtpl-kind-quiz{background:var(--hwtpl-quiz-bg);color:var(--hwtpl-quiz-fg)}.hwtpl-kind-materials{background:var(--hwtpl-materials-bg);color:var(--hwtpl-materials-fg)}.hwtpl-kind-text{background:var(--hwtpl-text-bg);color:var(--hwtpl-text-fg)}.hwtpl-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.hwtpl-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:500;line-height:1.4;background:var(--hwtpl-chip-bg);color:var(--hwtpl-chip-fg);overflow-wrap:anywhere}.hwtpl-chip svg{flex:0 0 auto;color:var(--muted)}.hwtpl-excerpt{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.hwtpl-byline{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:12.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.hwtpl-byline-icon{flex:0 0 auto;margin-top:1px;color:var(--brand-600)}.hwtpl-card-actions{grid-area:actions;position:relative;z-index:1;display:flex;gap:4px}.hwtpl-arrow{grid-area:arrow;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;color:var(--muted);transition:color .15s ease,background-color .15s ease,transform .15s ease}.hwtpl-card:hover .hwtpl-arrow{color:var(--brand-600);background:rgba(var(--brand-600-rgb),.1);transform:translate(2px)}.hwtpl-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.hwtpl-icon-btn:hover{background:var(--surface);border-color:var(--hwtpl-border);color:var(--ink)}.hwtpl-icon-btn.is-danger:hover{color:var(--color-text-danger)}.hwtpl-icon-btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:1px}@container (max-width: 720px){.hwtpl-card{grid-template-columns:48px minmax(0,1fr) auto auto;gap:4px 14px;padding:14px}.hwtpl-card-icon{width:48px;height:48px;border-radius:14px}}@container (max-width: 520px){.hwtpl-card{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"icon body arrow" ". actions actions";align-items:start;gap:4px 12px;padding:14px 12px}.hwtpl-card-icon{width:40px;height:40px;border-radius:12px}.hwtpl-card-icon svg{width:20px;height:20px}.hwtpl-card-title{font-size:15px}.hwtpl-arrow{align-self:center}.hwtpl-card-actions{justify-content:flex-end}.hwtpl-icon-btn{width:44px;height:44px}}@container (max-width: 400px){.hwtpl-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body arrow" "actions actions";padding:14px 10px 14px 14px}.hwtpl-card-icon{display:none}}.hwtpl-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 24px;text-align:center;background:var(--surface);border:1px solid var(--dk-bd-e2e8f0, #e2e8f0);border-radius:16px}.hwtpl-state-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:4px;border-radius:20px;background:rgba(var(--brand-600-rgb),.08);color:var(--brand-600)}.hwtpl-state.is-error .hwtpl-state-icon{background:var(--color-background-danger);color:var(--color-text-danger)}.hwtpl-state-title{margin:0;font-size:17px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.hwtpl-state-text{margin:0 0 6px;max-width:460px;font-size:14px;color:var(--muted)}.hwtpl-state .btn{min-height:44px;gap:8px}.hwtpl-search,.hwtpl-field{--hwtpl-control-border: var(--dk-bd-e2e8f0, #e2e8f0);position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:46px;padding:0 14px;background:var(--input-bg);border:1px solid var(--hwtpl-control-border);border-radius:12px;color:var(--muted);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.hwtpl-search:focus-within,.hwtpl-field:focus-within{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.hwtpl-search svg,.hwtpl-field>svg{flex:0 0 auto}.hwtpl-search-input{flex:1 1 auto;min-width:0;height:44px;padding:0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:14.5px}.hwtpl-search-input::placeholder{color:var(--muted);opacity:.85}.hwtpl-field select{flex:1 1 auto;min-width:0;height:44px;padding:0 24px 0 0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:14.5px;font-weight:500;text-overflow:ellipsis;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.hwtpl-field:after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;margin-top:-5px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);pointer-events:none}.hwtpl-field.is-active{border-color:rgba(var(--brand-600-rgb),.5);background:rgba(var(--brand-600-rgb),.06);color:var(--brand-600)}.hwtpl-field.is-active select{font-weight:600}.hwtpl-segmented{display:inline-flex;flex:0 0 auto;gap:4px;padding:4px;background:var(--input-bg);border:1px solid var(--dk-bd-e2e8f0, #e2e8f0);border-radius:12px}.hwtpl-segmented button{min-width:84px;min-height:36px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--brand-600);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.hwtpl-segmented button:hover{background:rgba(var(--brand-600-rgb),.08)}.hwtpl-segmented button[aria-pressed=true]{background:var(--brand-600);color:#fff;box-shadow:0 4px 10px rgba(var(--brand-600-rgb),.25)}.hwtpl-segmented button:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}[data-theme=dark] .hwtpl-list{--hwtpl-border: var(--border);--hwtpl-quiz-bg: rgba(56, 189, 248, .16);--hwtpl-quiz-fg: #7dd3fc;--hwtpl-materials-bg: rgba(74, 222, 128, .14);--hwtpl-materials-fg: #86efac;--hwtpl-text-bg: rgba(251, 146, 60, .16);--hwtpl-text-fg: #fdba74;--hwtpl-chip-bg: rgba(255, 255, 255, .06);--hwtpl-chip-fg: var(--ink)}[data-theme=dark] .hwtpl-card:hover{background:var(--card-hover-bg);border-color:var(--card-hover-border)}[data-theme=dark] .hwtpl-card:hover .hwtpl-card-target{color:var(--ink)}[data-theme=dark] .hwtpl-state{border-color:var(--border)}[data-theme=dark] .hwtpl-search,[data-theme=dark] .hwtpl-field,[data-theme=dark] .hwtpl-segmented{--hwtpl-control-border: var(--input-border);border-color:var(--input-border)}[data-theme=dark] .hwtpl-segmented button{color:var(--ink)}[data-theme=dark] .hwtpl-segmented button[aria-pressed=true]{background:var(--brand-600);color:#fff}.hwlib{--hwlib-border: var(--dk-bd-e2e8f0, #e2e8f0);display:flex;flex-direction:column;gap:16px;min-width:0}.hwlib-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:20px 24px;background:var(--surface);border:1px solid var(--hwlib-border);border-radius:16px;box-shadow:var(--shadow-soft)}.hwlib-heading{display:flex;align-items:center;gap:18px;min-width:0}.hwlib-heading-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:rgba(var(--brand-600-rgb),.1);color:var(--brand-600)}.hwlib-title{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.2;font-weight:700;letter-spacing:-.3px;color:var(--ink);overflow-wrap:anywhere}.hwlib-subtitle{margin:4px 0 0;font-size:15px;color:var(--muted)}.hwlib-add{min-height:46px;padding-inline:20px;gap:8px}.hwlib-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hwlib-search{flex:2 1 280px}.hwlib-filter{flex:1 1 180px}.hwlib-reset{min-height:46px;gap:6px;white-space:nowrap}.hwlib-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.hwlib-total{font-size:14px;color:var(--muted)}.hwlib-pagination{display:flex;align-items:center;gap:8px}.hwlib-page-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--hwlib-border);border-radius:12px;background:var(--surface);color:var(--brand-600);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.hwlib-page-btn:hover:not(:disabled){border-color:rgba(var(--brand-600-rgb),.35);background:rgba(var(--brand-600-rgb),.06)}.hwlib-page-btn:disabled{color:var(--muted);opacity:.5;cursor:default}.hwlib-page-btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.hwlib-page-current{min-width:64px;text-align:center;font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}@media (max-width: 1023px){.hwlib-header{padding:18px 20px}.hwlib-search{flex-basis:100%}}@media (max-width: 767px){.hwlib{gap:12px}.hwlib-header{padding:16px}.hwlib-heading{gap:12px}.hwlib-heading-icon{width:48px;height:48px;border-radius:14px}.hwlib-heading-icon svg{width:24px;height:24px}.hwlib-subtitle{font-size:14px}.hwlib-add{width:100%}.hwlib-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hwlib-search,.hwlib-reset{grid-column:1 / -1}.hwlib-filter:nth-child(2n):nth-last-child(1),.hwlib-filter:nth-child(2n):nth-last-child(2):has(+.hwlib-reset){grid-column:1 / -1}.hwlib-footer{justify-content:center}}@media (max-width: 400px){.hwlib-toolbar{grid-template-columns:minmax(0,1fr)}}[data-theme=dark] .hwlib{--hwlib-border: var(--border)}.superadmin-help-page{display:flex;flex-direction:column;gap:16px}.help-admin-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 960px){.help-admin-layout{grid-template-columns:minmax(0,1fr)}}.help-admin-tree-card{display:flex;flex-direction:column;gap:10px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.help-admin-tree-toolbar{display:flex;flex-wrap:wrap;gap:6px}.help-sync-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--color-warning-border, rgba(245, 158, 11, .3));background:var(--color-warning-bg, rgba(245, 158, 11, .14));color:var(--color-text-warning, #b45309);font-size:14px}.help-tree{display:flex;flex-direction:column;gap:4px}.help-tree-section.depth-1{margin-left:14px}.help-tree-children{display:flex;flex-direction:column;gap:2px;margin-left:18px;padding-left:6px;border-left:1px dashed var(--color-border, rgba(16, 24, 40, .08))}.help-tree-drop{border-top:2px solid transparent;border-radius:6px}.help-tree-drop.is-drop-over{border-top-color:var(--color-primary, #2563eb);background:var(--primary-soft, rgba(37, 99, 235, .08))}.help-tree-section-head,.help-tree-article{display:flex;align-items:center;gap:4px;min-height:32px;border-radius:6px}.help-tree-section-head:hover,.help-tree-article:hover{background:var(--color-surface-secondary, rgba(148, 163, 184, .12))}.help-tree-article.is-selected{background:var(--primary-soft, rgba(37, 99, 235, .12))}.help-tree-handle,.help-tree-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--color-muted, #475467);border-radius:4px}.help-tree-handle{cursor:grab;touch-action:none}.help-tree-handle.is-dragging{opacity:.4}.help-tree-toggle{cursor:pointer}.help-tree-section-icon{flex-shrink:0;color:var(--color-primary, #2563eb)}.help-tree-section-title{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-row-menu-trigger{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:auto;border:none;border-radius:6px;background:transparent;color:var(--text-muted, #9ca3af);opacity:.45;cursor:pointer;transition:opacity .1s,background .1s,color .1s}.help-tree-section-head:hover .help-row-menu-trigger,.help-tree-article:hover .help-row-menu-trigger,.help-row-menu-trigger:focus-visible,.help-row-menu-trigger.is-open{opacity:1}.help-row-menu-trigger:hover,.help-row-menu-trigger.is-open{background:var(--hover, rgba(15, 23, 42, .06));color:var(--text, #111827)}.help-row-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;padding:4px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--surface, #fff);box-shadow:0 10px 28px #0f172a24}.help-row-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text, #111827);font:inherit;font-size:13px;text-align:left;cursor:pointer}.help-row-menu-item:hover,.help-row-menu-item:focus-visible{background:var(--hover, rgba(15, 23, 42, .06));outline:none}.help-row-menu-item.is-danger{color:var(--danger, #dc2626)}.help-row-menu-item.is-danger:hover,.help-row-menu-item.is-danger:focus-visible{background:#dc262614}.help-tree-article-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:4px 6px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.help-tree-article-title{font-size:14px;overflow-wrap:anywhere}.help-tree-badges{display:flex;flex-wrap:wrap;gap:4px}.help-tree-end-slot{margin:2px 0;padding:6px 8px;font-size:12px;color:var(--color-muted, #475467);border:1px dashed var(--color-border, rgba(16, 24, 40, .18));border-radius:6px}.help-tree-end-slot.is-drop-over{border-color:var(--color-primary, #2563eb);background:var(--primary-soft, rgba(37, 99, 235, .08));color:var(--color-primary, #2563eb)}.help-tree-empty{padding:4px 8px;font-size:13px}.help-tree-hint{font-size:12px}.help-tree-overlay{padding:6px 10px;border-radius:8px;background:var(--color-surface, #fff);box-shadow:0 6px 20px #1018282e;font-size:14px;font-weight:500;max-width:320px;cursor:grabbing}.help-article-form{display:flex;flex-direction:column;gap:14px}.help-article-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.help-article-head h2{margin:0;font-size:18px}.help-form-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.help-fieldset{border:1px solid var(--color-border, rgba(16, 24, 40, .08));border-radius:10px;padding:10px 12px;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.help-fieldset legend{font-weight:600;font-size:13px;padding:0 4px}.help-fieldset>.muted,.help-fieldset>.hint,.help-fieldset>.help-school-picker{flex-basis:100%}.help-check{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.help-article-rte .rte-content{min-height:320px}.help-form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.help-article-actions{justify-content:flex-start;position:sticky;bottom:0;padding-top:10px;background:inherit}.help-icon-picker-label{font-weight:600}.help-icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px}.help-icon-option{display:inline-flex;align-items:center;justify-content:center;height:40px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);color:var(--text-muted, #6b7280);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.help-icon-option:hover{background:var(--primary-soft, rgba(37, 99, 235, .08));color:var(--color-primary, #2563eb)}.help-icon-option.is-selected{border-color:var(--color-primary, #2563eb);background:var(--primary-soft, rgba(37, 99, 235, .12));color:var(--color-primary, #2563eb);box-shadow:0 0 0 1px var(--color-primary, #2563eb)}.help-school-picker{display:flex;flex-direction:column;gap:8px}.help-school-chips{display:flex;flex-wrap:wrap;gap:6px}.help-school-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border-radius:999px;font-size:13px;background:var(--color-surface-secondary, rgba(148, 163, 184, .16))}.help-school-chip button{display:inline-flex;border:none;background:transparent;cursor:pointer;padding:2px;color:inherit}.help-school-search{display:flex;align-items:center;gap:6px}.help-school-search input{flex:1}.help-school-list{max-height:240px;overflow:auto;border:1px solid var(--color-border, rgba(16, 24, 40, .08));border-radius:8px;padding:4px}.help-school-option{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:14px}.help-school-option:hover{background:var(--color-surface-secondary, rgba(148, 163, 184, .12))}.help-school-name{flex:1;min-width:0}.help-preview-modal{width:min(880px,calc(100vw - 32px));max-width:880px}.help-preview-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.help-segmented{display:inline-flex;border:1px solid var(--color-border, rgba(16, 24, 40, .12));border-radius:8px;overflow:hidden}.help-segmented button{border:none;background:transparent;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;color:inherit}.help-segmented button.is-active{background:var(--primary-soft, rgba(37, 99, 235, .12));color:var(--color-primary, #2563eb);font-weight:600}.help-segmented button:disabled{opacity:.5;cursor:not-allowed}.help-preview-note{font-size:12px;margin-bottom:12px}.help-preview-body{max-height:65vh;overflow:auto}.help-preview-title{margin:0 0 12px}.help-preview-section{margin-bottom:16px}.help-preview-section h3{display:flex;align-items:center;gap:6px;margin:0 0 4px}.help-preview-subsection{margin-left:18px}.help-preview-subsection h4{margin:8px 0 4px}.help-preview-articles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.help-preview-articles li{display:flex;align-items:center;gap:6px}.help-check input[type=checkbox],.help-check input[type=radio],.help-school-option input[type=checkbox]{width:auto;min-width:0;flex:0 0 auto;margin:0;padding:0;box-shadow:none}.help-center{display:flex;flex-direction:column;gap:16px}.help-center-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.help-center-heading{display:flex;flex-direction:column;gap:10px;min-width:0}.help-center-title-row{display:flex;align-items:center;gap:12px}.help-center-title-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent, #2563eb);color:#fff}.help-center-title-row h1{margin:0;font-size:26px;line-height:1.2}.help-center-title-row p{margin:2px 0 0;font-size:14px}.help-center-segmented{display:flex;flex-wrap:wrap;gap:6px}.help-center-segmented button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border, rgba(16, 24, 40, .12));border-radius:10px;background:var(--surface, #fff);font:inherit;font-size:13px;font-weight:600;color:var(--ink, #101828);cursor:pointer}.help-center-segmented button.is-active{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff}.help-center-columns{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.help-center-main{display:flex;flex-direction:column;gap:14px;min-width:0}.help-center-sidebar{position:sticky;top:16px;background:var(--surface, #fff);border:1px solid var(--border, rgba(16, 24, 40, .08));border-radius:14px;padding:10px;max-height:calc(100vh - 32px);overflow-y:auto}.help-center-sidebar-toggle{display:none}.help-center-sidebar-body{display:flex;flex-direction:column;gap:2px}.help-center-nav-item,.help-center-nav-group-title{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--ink, #101828);text-decoration:none;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.help-center-nav-item svg,.help-center-nav-group-title svg{flex:0 0 auto;color:var(--muted, #475467)}.help-center-nav-item.is-all{font-weight:600}.help-center-nav-group{display:flex;flex-direction:column;gap:2px;margin-top:10px}.help-center-nav-group-title{font-size:13px;font-weight:600;color:var(--muted, #475467)}.help-center-nav-item:hover,.help-center-nav-group-title:hover{background:var(--card-hover, #f8fbff)}.help-center-nav-item.is-active,.help-center-nav-group-title.is-active{background:var(--sidebar-item-active, rgba(37, 99, 235, .1));color:var(--accent, #2563eb)}.help-center-nav-item.is-active svg,.help-center-nav-group-title.is-active svg{color:var(--accent, #2563eb)}.help-center-search{position:relative;display:flex;align-items:center}.help-center-search input{width:100%;padding:12px 40px 12px 42px;font-size:15px;background:var(--surface, #fff);border:1px solid var(--border, rgba(16, 24, 40, .12));border-radius:12px}.help-center-search input:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.help-center-search-icon{position:absolute;left:14px;color:var(--muted, #475467);pointer-events:none}.help-center-search-clear{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--muted, #475467);cursor:pointer}.help-center-search-clear:hover{background:var(--sidebar-item-hover, rgba(37, 99, 235, .12))}.help-center-search-hint{font-size:13px;margin-top:-8px}.help-center-list{display:flex;flex-direction:column;gap:14px}.help-center-list.is-stale{opacity:.6}.help-center-category{--tone-bg: rgba(37, 99, 235, .07);--tone-fg: #2563eb;border:1px solid var(--border, rgba(16, 24, 40, .08));border-radius:14px;background:var(--surface, #fff);overflow:hidden}.tone-blue{--tone-bg: rgba(37, 99, 235, .08);--tone-fg: #2563eb}.tone-teal{--tone-bg: rgba(13, 148, 136, .09);--tone-fg: #0d9488}.tone-violet{--tone-bg: rgba(124, 58, 237, .08);--tone-fg: #7c3aed}.tone-sky{--tone-bg: rgba(14, 165, 233, .09);--tone-fg: #0284c7}.help-center-category-header{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;border:none;background:var(--tone-bg);font:inherit;color:inherit;text-align:left}button.help-center-category-header{cursor:pointer}.help-center-category-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--tone-fg);color:#fff}.help-center-category-title{flex:1;min-width:0;font-size:17px;font-weight:700;color:var(--ink, #101828);overflow-wrap:anywhere}.help-center-category-count{flex:0 0 auto;font-size:13px;color:var(--muted, #475467)}.help-center-category-chevron{flex:0 0 auto;color:var(--muted, #475467);transition:transform .15s ease}.help-center-category.is-open .help-center-category-chevron{transform:rotate(180deg)}.help-center-category-body{display:flex;flex-direction:column;gap:10px;padding:12px}.help-center-block{display:flex;flex-direction:column;gap:8px}.help-center-block-title{margin:4px 0 0 4px;font-size:13px;font-weight:600;color:var(--muted, #475467)}.help-center-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.help-center-card{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(37,99,235,.12);border-radius:12px;background:var(--surface, #fff);color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.help-center-card:hover,.help-center-card:focus-visible{border-color:#2563eb59;background:var(--card-hover, #f8fbff)}.help-center-card-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--tone-bg);color:var(--tone-fg)}.help-center-card-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.help-center-card-title{font-weight:600;font-size:15px;color:var(--ink, #101828);overflow-wrap:anywhere}.help-center-card-summary{font-size:13px;line-height:1.45;color:var(--muted, #475467);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.help-center-card-path{display:block;font-size:12px}.help-center-card mark{background:var(--color-background-warning, rgba(245, 158, 11, .18));color:inherit;border-radius:2px;padding:0 1px}.help-center-card-chevron{flex:0 0 auto;color:var(--muted, #475467)}.help-center-card:hover .help-center-card-chevron{color:var(--accent, #2563eb)}.help-center-back-link{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;color:var(--accent, #2563eb);text-decoration:none;font-size:14px;font-weight:500}.help-center-back-link:hover{text-decoration:underline}.help-center-article-title{margin:0 0 16px;font-size:24px;line-height:1.3;overflow-wrap:anywhere}.help-center-article{display:flex;flex-direction:column;min-width:0}.help-center-article-updated{font-size:13px;margin:-12px 0 16px}.help-center-pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border, rgba(16, 24, 40, .08))}.help-center-pager-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent, #2563eb);text-decoration:none;font-size:14px;font-weight:500}.help-center-pager-link.next{margin-left:auto}.help-center-pager-link:hover{text-decoration:underline}.help-center-message{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.help-center-message h2{margin:0;font-size:18px}.help-center-message p{margin:0}.help-center-article{max-width:860px}@media (max-width: 960px){.help-center-columns{grid-template-columns:minmax(0,1fr);gap:12px}.help-center-sidebar{position:static;max-height:none;padding:6px}.help-center-sidebar-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--ink, #101828);cursor:pointer}.help-center-sidebar-toggle-chevron{margin-left:auto;transition:transform .15s ease}.help-center-sidebar.is-open .help-center-sidebar-toggle-chevron{transform:rotate(180deg)}.help-center-sidebar-body{display:none;padding-top:4px}.help-center-sidebar.is-open .help-center-sidebar-body{display:flex}}@media (max-width: 560px){.help-center-segmented{width:100%}.help-center-segmented button{flex:1 1 auto;justify-content:center}.help-center-category-header{padding:10px 12px}.help-center-category-body{padding:8px}.help-center-card{gap:10px;padding:10px 12px}.help-center-card-icon{width:36px;height:36px}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .65s linear infinite}:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--brand-dark-accent: #339af0;--brand-50-rgb: 239, 246, 255;--brand-100-rgb: 219, 234, 254;--brand-200-rgb: 191, 219, 254;--brand-300-rgb: 147, 197, 253;--brand-400-rgb: 96, 165, 250;--brand-500-rgb: 59, 130, 246;--brand-600-rgb: 37, 99, 235;--brand-700-rgb: 29, 78, 216;--brand-800-rgb: 30, 64, 175;--brand-900-rgb: 30, 58, 138;--brand-dark-accent-rgb: 51, 154, 240;--brand2-50: #eef2ff;--brand2-100: #e0e7ff;--brand2-200: #c7d2fe;--brand2-300: #a5b4fc;--brand2-400: #818cf8;--brand2-500: #6366f1;--brand2-600: #4f46e5;--brand2-700: #4338ca;--brand2-800: #3730a3;--brand2-900: #312e81;--brand2-50-rgb: 238, 242, 255;--brand2-100-rgb: 224, 231, 255;--brand2-200-rgb: 199, 210, 254;--brand2-300-rgb: 165, 180, 252;--brand2-400-rgb: 129, 140, 248;--brand2-500-rgb: 99, 102, 241;--brand2-600-rgb: 79, 70, 229;--brand2-700-rgb: 67, 56, 202;--brand2-800-rgb: 55, 48, 163;--brand2-900-rgb: 49, 46, 129;--brand3-50: #f5f3ff;--brand3-100: #ede9fe;--brand3-200: #ddd6fe;--brand3-300: #c4b5fd;--brand3-400: #a78bfa;--brand3-500: #8b5cf6;--brand3-600: #7c3aed;--brand3-700: #6d28d9;--brand3-800: #5b21b6;--brand3-900: #4c1d95;--tint-page: #f6faff;--tint-faint: #f8fbff;--tint-soft: #eef5ff;--tint-soft-2: #f0f6ff;--tint-item: #e2eefa;--tint-strong: #d7e7ff;--brand3-50-rgb: 245, 243, 255;--brand3-100-rgb: 237, 233, 254;--brand3-200-rgb: 221, 214, 254;--brand3-300-rgb: 196, 181, 253;--brand3-400-rgb: 167, 139, 250;--brand3-500-rgb: 139, 92, 246;--brand3-600-rgb: 124, 58, 237;--brand3-700-rgb: 109, 40, 217;--brand3-800-rgb: 91, 33, 182;--brand3-900-rgb: 76, 29, 149;--tint-page-rgb: 246, 250, 255;--tint-faint-rgb: 248, 251, 255;--tint-soft-rgb: 238, 245, 255;--tint-soft-2-rgb: 240, 246, 255;--tint-item-rgb: 226, 238, 250;--tint-strong-rgb: 215, 231, 255;--color-background-success: rgba(34, 197, 94, .12);--color-text-success: #15803d;--color-background-danger: rgba(239, 68, 68, .12);--color-text-danger: #b91c1c;--color-background-warning: rgba(245, 158, 11, .14);--color-text-warning: #b45309;--color-background-secondary: rgba(15, 23, 42, .06);--color-text-secondary: #64748b;--color-border-tertiary: rgba(16, 24, 40, .1);--bg: #f6faff;--bg-alt: #eef5ff;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #f8fbff 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f2f7ff 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .78);--border: rgba(16, 24, 40, .08);--card-border: rgba(16, 24, 40, .06);--card-hover: #f8fbff;--table-bg: #ffffff;--input-bg: #ffffff;--input-border: rgba(16, 24, 40, .12);--input-focus: rgba(var(--brand-600-rgb), .6);--input-focus-glow: rgba(var(--brand-600-rgb), .18);--sidebar-bg: rgba(245, 250, 255, .95);--sidebar-item-bg: rgba(226, 238, 250, .65);--sidebar-item-hover: rgba(var(--brand-600-rgb), .12);--sidebar-item-active: rgba(var(--brand-600-rgb), .16);--ink: #101828;--muted: #475467;--accent: var(--brand-600);--primary: var(--brand-600);--accent-strong: var(--brand-800);--accent-soft: var(--brand-100);--skeleton-base: rgba(148, 163, 184, .18);--skeleton-highlight: rgba(255, 255, 255, .78);--warning: #dc2626;--shadow: 0 6px 16px rgba(16, 24, 40, .08);--radius: 10px;--text: #101828;--text-primary: #101828;--text-secondary: #475467;--text-muted: #475467;--ink-muted: #475467;--ink-disabled: rgba(16, 24, 40, .38);--fg: #101828;--background: #f6faff;--page: #f6faff;--card-bg: #ffffff;--card-shadow: 0 4px 12px rgba(16, 24, 40, .06);--card-hover-bg: #f8fbff;--card-hover-border: rgba(var(--brand-600-rgb), .18);--surface-1: #ffffff;--surface-2: #f8fafc;--surface-muted: #eef5ff;--surface-hover: #f8fafc;--surface-subtle: rgba(0, 0, 0, .03);--hover-bg: rgba(0, 0, 0, .04);--bg-secondary: #f1f5f9;--bg-subtle: rgba(0, 0, 0, .04);--border-soft: rgba(16, 24, 40, .05);--border-subtle: rgba(0, 0, 0, .06);--border-strong: rgba(16, 24, 40, .18);--border-hover: rgba(16, 24, 40, .18);--shadow-soft: 0 2px 8px rgba(16, 24, 40, .06);--radius-sm: 6px;--primary-soft: var(--brand-100);--color-primary: var(--brand-600);--color-accent: var(--brand-600);--color-ink: #101828;--color-text: #101828;--color-text-primary: #101828;--color-muted: #475467;--color-background: #f6faff;--color-border: rgba(16, 24, 40, .08);--color-danger: #dc2626;--color-warning: #b45309;--color-warning-bg: rgba(245, 158, 11, .14);--color-warning-border: rgba(245, 158, 11, .3);--lesson-accent: #3d2aa3;--lesson-muted: rgba(255, 255, 255, .82);--lesson-button-bg: rgba(255, 255, 255, .32);--lesson-button-hover-bg: rgba(255, 255, 255, .45);--lesson-button-border: rgba(255, 255, 255, .6);--lesson-button-text: #ffffff;--pricing-accent: var(--brand-600);--danger: #ef4444;--success: #16a34a;--info: var(--brand-600)}.teacher-dashboard-page{position:relative;gap:20px}.teacher-dashboard-page:before,.teacher-dashboard-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.teacher-dashboard-page:before{background:radial-gradient(420px 220px at 0% 2%,rgba(14,165,233,.12),transparent 72%),radial-gradient(320px 180px at 100% 12%,rgba(var(--brand-500-rgb),.08),transparent 68%)}.teacher-dashboard-page:after{background:radial-gradient(360px 220px at 100% 55%,rgba(245,158,11,.08),transparent 70%),radial-gradient(420px 240px at 10% 100%,rgba(16,185,129,.07),transparent 72%)}.teacher-dashboard-hero{position:relative;display:grid;gap:16px;width:100%;background:radial-gradient(circle at top left,rgba(10,132,255,.18),transparent 40%),radial-gradient(circle at 85% 20%,rgba(var(--brand-500-rgb),.12),transparent 36%),linear-gradient(135deg,var(--dk-bg-ffffffa98, rgba(255, 255, 255, .98)),var(--dk-bg-ecf5ffa96, rgba(236, 245, 255, .96)));border-color:rgba(var(--brand-600-rgb),.12);overflow:hidden}.teacher-dashboard-hero:after{content:"";position:absolute;inset:auto -40px -58px auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(var(--brand-600-rgb),.12),transparent 70%);pointer-events:none}.teacher-dashboard-hero h1{margin-bottom:10px}.teacher-dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-dashboard-stat{padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9));box-shadow:inset 0 1px #ffffffb3}.teacher-dashboard-stat.accent{background:linear-gradient(135deg,#0a84ff2e,#0a84ff12);border-color:#0a84ff38}.teacher-dashboard-stat-label{display:block;margin-bottom:8px;color:var(--muted);font-size:13px}.teacher-dashboard-stat strong{font-size:24px}.teacher-dashboard-sections{align-items:stretch}.teacher-dashboard-section{position:relative;display:grid;gap:16px;height:100%;overflow:hidden;align-content:start}.teacher-dashboard-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:1}.teacher-dashboard-section-current{background:radial-gradient(220px 120px at 100% 0%,rgba(var(--brand-600-rgb),.12),transparent 70%),linear-gradient(180deg,var(--dk-bg-f6faffa98, rgba(var(--tint-page-rgb), .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)));border-color:rgba(var(--brand-600-rgb),.12)}.teacher-dashboard-section-today{background:radial-gradient(220px 120px at 0% 0%,rgba(14,165,233,.1),transparent 70%),linear-gradient(180deg,var(--dk-bg-f8fcffa98, rgba(248, 252, 255, .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)))}.teacher-dashboard-section-replaced{background:radial-gradient(220px 120px at 100% 0%,rgba(245,158,11,.12),transparent 68%),linear-gradient(180deg,var(--dk-bg-fffbf3a98, rgba(255, 251, 243, .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)));border-color:#f59e0b24}.teacher-dashboard-section-week{background:radial-gradient(260px 140px at 0% 0%,rgba(16,185,129,.09),transparent 72%),linear-gradient(180deg,var(--dk-bg-f8fcfaa98, rgba(248, 252, 250, .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)))}.teacher-dashboard-substitution-alert{display:grid;gap:14px;background:radial-gradient(260px 130px at 100% 0%,rgba(239,68,68,.12),transparent 68%),linear-gradient(180deg,var(--dk-bg-fff7f7a98, rgba(255, 247, 247, .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)));border-color:#ef44442e}.teacher-dashboard-alert-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;color:var(--warning);font-size:13px;font-weight:700}.teacher-dashboard-substitution-list{display:grid;gap:10px}.teacher-dashboard-substitution-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(239,68,68,.14);border-radius:8px;background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9))}.teacher-dashboard-substitution-item-main{display:grid;gap:4px;font-weight:600}.teacher-dashboard-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.teacher-dashboard-list{display:grid;gap:12px}.teacher-dashboard-current-list,.teacher-dashboard-today-list{max-height:340px;overflow-y:auto;padding-right:4px}.teacher-dashboard-lesson{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--dk-bg-ffffffa88, rgba(255, 255, 255, .88));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.teacher-dashboard-lesson.current{border-color:#0a84ff3d;background:linear-gradient(135deg,rgba(10,132,255,.12),var(--dk-bg-ffffffa98, rgba(255, 255, 255, .98)))}.teacher-dashboard-lesson.is-past{opacity:.6}.teacher-dashboard-lesson--course{border-color:#6366f147;border-left:3px solid #6366f1;background:linear-gradient(135deg,rgba(99,102,241,.07) 0%,var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)) 100%)}.teacher-dashboard-lesson-warning{border-color:#f59e0b3d;background:linear-gradient(135deg,rgba(245,158,11,.1),var(--dk-bg-ffffffa98, rgba(255, 255, 255, .98)))}.teacher-dashboard-lesson-time,.teacher-week-lesson-time{margin-bottom:3px;color:var(--lesson-text, var(--muted));opacity:.78;font-size:12px;font-weight:700;letter-spacing:.02em}.teacher-dashboard-lesson-title,.teacher-week-lesson-title,.teacher-session-title,.teacher-session-student-name{font-weight:700}.teacher-session-time{color:var(--ink);font-size:16px;font-weight:700;line-height:1.35;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(var(--brand-600-rgb),.14),rgba(var(--brand-600-rgb),.06));border:1px solid rgba(var(--brand-600-rgb),.18);box-shadow:inset 0 1px #ffffffa6}.teacher-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;align-items:stretch}.teacher-week-day{display:grid;grid-template-rows:auto 1fr;gap:12px;min-height:228px;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--dk-bg-ffffffa84, rgba(255, 255, 255, .84));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffffb3}.teacher-week-day-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-size:13px;padding-bottom:10px;border-bottom:1px solid var(--dk-bd-101828a6, rgba(16, 24, 40, .06))}.teacher-week-day-label{display:inline-block;max-width:calc(100% - 42px);font-size:14px;line-height:1.35}.teacher-week-day-head span{min-width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0a84ff14;color:var(--accent-strong);font-weight:700;flex-shrink:0}.teacher-week-day-body{display:grid;align-content:start;gap:10px}.teacher-week-day-empty{display:flex;align-items:center;justify-content:center;min-height:124px;border:1px dashed var(--dk-bd-101828a10, rgba(16, 24, 40, .1));border-radius:16px;background:var(--dk-bg-ffffffa58, rgba(255, 255, 255, .58));color:var(--muted);font-size:14px;text-align:center}.teacher-week-lesson{position:relative;overflow:hidden;isolation:isolate;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--lesson-border, rgba(16, 24, 40, .08));border-radius:14px;background:var(--lesson-bg, var(--surface));color:var(--lesson-text, var(--ink));box-shadow:0 6px 16px var(--lesson-shadow, rgba(15, 23, 42, .08));cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;display:flex;flex-direction:column;gap:2px}.teacher-week-lesson:before,.teacher-week-lesson:after{content:"";position:absolute;pointer-events:none;z-index:0}.teacher-week-lesson:before{right:-26px;bottom:-32px;width:96px;height:96px;border-radius:26px;background:linear-gradient(135deg,var(--lesson-decor, rgba(255,255,255,.15)),transparent 68%),var(--lesson-pattern, rgba(255,255,255,.1));transform:rotate(-14deg)}.teacher-week-lesson:after{right:10px;top:10px;width:52px;height:52px;border:9px solid var(--lesson-pattern, rgba(255,255,255,.12));border-radius:999px;opacity:.7;transform:rotate(18deg)}.teacher-week-lesson>*{position:relative;z-index:1}.teacher-week-lesson:hover{transform:translateY(-2px);box-shadow:0 10px 24px var(--lesson-shadow, rgba(15, 23, 42, .14));filter:brightness(1.04)}.teacher-week-lesson:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px var(--lesson-border, rgba(var(--brand-600-rgb), .3)),0 8px 20px var(--lesson-shadow, rgba(15, 23, 42, .1))}.teacher-week-lesson:disabled{cursor:default;opacity:.55;transform:none;box-shadow:none;filter:none}.teacher-week-lesson-meta{color:var(--lesson-text, var(--muted));opacity:.72;font-size:12px}.teacher-week-lesson-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}.teacher-week-lesson-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;line-height:1.2;border:1px solid rgba(255,255,255,.28);background:#ffffff24;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.teacher-week-lesson-badge.replacement{border-color:#ffffff57;background:#ffffff2e}.teacher-week-lesson-badge.replaced{border-color:#fff3;background:#ffffff14;color:#ffffffbf}.teacher-week-lesson-badge.completed{border-color:#ffffff61;background:#fff3}.teacher-week-lesson .badge.success{background:var(--dk-bg-ffffffa88, rgba(255, 255, 255, .88));color:var(--dk-fg-16a34a, #16a34a);border:1px solid rgba(22,163,74,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.teacher-week-lesson--course{--lesson-bg: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--lesson-border: rgba(79, 70, 229, .4);--lesson-text: #fff;--lesson-shadow: rgba(79, 70, 229, .3);--lesson-decor: rgba(255, 255, 255, .18);--lesson-pattern: rgba(255, 255, 255, .12)}.teacher-session-modal{display:grid;gap:18px}.teacher-session-page.teacher-dashboard-page:before,.teacher-session-page.teacher-dashboard-page:after{display:none}.teacher-session-page-card{display:grid;gap:18px}.teacher-session-page-head{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.teacher-session-page-head h1{margin:0}.teacher-session-head-main{display:grid;gap:10px;min-width:0}.teacher-session-headline{display:grid;gap:10px;justify-items:start}.teacher-session-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.teacher-session-head-side{display:grid;gap:4px;justify-items:end;text-align:right}.teacher-session-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.teacher-session-inline{width:100%}.teacher-session-summary,.teacher-session-footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.teacher-session-actions{display:flex;gap:10px;justify-content:flex-end;margin-left:auto}.teacher-session-footer-actions{justify-content:flex-end}.teacher-session-table{display:grid;gap:10px}.teacher-session-header,.teacher-session-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 90px 90px;gap:12px;align-items:center}.teacher-session-cell{display:flex;flex-direction:column;gap:2px}.cell-label{display:none;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.grade-input{width:100%;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.grade-input::-webkit-inner-spin-button,.grade-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.teacher-session-header{padding:0 6px;color:var(--muted);font-size:13px;font-weight:700}.teacher-session-row{padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.lesson-preparation{display:grid;gap:12px;margin:16px 0}.lesson-preparation-topic-row{display:flex;gap:8px;align-items:center}.lesson-preparation-topic-row>input,.lesson-preparation-topic-row>select{flex:1;min-width:0}.lesson-preparation-move{display:grid;gap:8px}.lesson-journal-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.lesson-journal{display:grid}.lesson-journal-row{display:grid;grid-template-columns:minmax(0,1fr) 108px 52px 52px;gap:8px;align-items:center;padding:6px 8px;border-top:1px solid var(--border)}.lesson-journal-head{border-top:none;color:var(--muted);font-size:12px;font-weight:700}.lesson-journal-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-journal-attendance{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.lesson-journal-mark{flex:1;padding:4px 0;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.lesson-journal-mark:disabled{cursor:default}.lesson-journal-mark.is-present.is-active{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-15803d, #15803d)}.lesson-journal-mark.is-absent.is-active{background:#ef444424;color:var(--dk-fg-b91c1c, #b91c1c)}.lesson-journal-grade{width:100%;text-align:center;padding:4px}.lesson-journal-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;background:var(--surface);font-size:13px}.teacher-stranded-list{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}.teacher-dashboard-empty-compact{padding:18px 16px;gap:8px;min-height:0}.teacher-dashboard-empty-soft,.card.teacher-dashboard-empty-soft{background:transparent;border:none;box-shadow:none;margin-top:-12px;padding-top:0}.teacher-dashboard-empty-soft:hover,.card.teacher-dashboard-empty-soft:hover{background:transparent;box-shadow:none}.teacher-dashboard-empty-soft .empty-state-icon{background:var(--dk-bg-ffffffa70, rgba(255, 255, 255, .7));box-shadow:none}.teacher-dashboard-empty-compact .empty-state-icon{width:44px;height:44px}.teacher-attention-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 16px 16px;gap:4px}.teacher-attention-empty-img-wrap{position:relative;width:160px;height:200px;overflow:hidden;margin-bottom:4px}.teacher-attention-empty-img-wrap img{position:absolute;width:380px;height:auto;left:-76px;top:0}.teacher-attention-empty-title{font-size:17px;font-weight:600;color:var(--ink)}.teacher-attention-empty-desc{font-size:14px;color:var(--muted);margin:0}.teacher-dashboard-empty-compact .empty-state-icon.student-today-empty-mascot{width:240px;height:240px;border-radius:0;border:none;background:transparent;box-shadow:none;margin-top:-16px}.teacher-dashboard-empty-compact .empty-state-icon.student-today-empty-mascot img{width:100%;height:100%;object-fit:contain}.teacher-dashboard-empty-compact .empty-state-title{font-size:17px}.teacher-dashboard-empty-compact .empty-state-description{font-size:14px}.teacher-workspace-page{gap:20px}.teacher-workspace-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:20px;align-items:start}.teacher-workspace-main,.teacher-workspace-side,.teacher-lesson-grid,.teacher-group-list,.teacher-attention-list{display:grid;gap:14px}.teacher-lesson-grid.compact{gap:12px}.teacher-lesson-card,.teacher-group-card,.teacher-attention-item{border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08));border-radius:18px;background:var(--dk-bg-ffffffa76, rgba(255, 255, 255, .76));box-shadow:0 10px 24px #1018280d}.teacher-lesson-card{display:grid;gap:16px;padding:18px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.teacher-lesson-card.compact{gap:14px;padding:16px}.teacher-lesson-card:hover,.teacher-group-card:hover,.teacher-attention-item:hover{border-color:rgba(var(--brand-600-rgb),.18);box-shadow:0 14px 28px #10182814}.teacher-lesson-card.is-success{border-color:#22c55e38;background:linear-gradient(180deg,var(--dk-bg-f0fdf4a90, rgba(240, 253, 244, .9)),var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82)))}.teacher-lesson-card.is-warning{border-color:#f59e0b3d;background:linear-gradient(180deg,var(--dk-bg-fffbeba90, rgba(255, 251, 235, .9)),var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82)))}.teacher-lesson-card.is-danger{border-color:#ef44443d;background:linear-gradient(180deg,var(--dk-bg-fef2f2a92, rgba(254, 242, 242, .92)),var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82)))}.teacher-lesson-card-head,.teacher-group-card-head,.teacher-group-card-footer,.teacher-attention-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-lesson-card-time{color:var(--ink);font-size:22px;line-height:1}.teacher-lesson-card-body{display:grid;gap:14px}.teacher-lesson-card-title,.teacher-group-card-title{margin:0;font-size:18px;line-height:1.2}.teacher-lesson-card-subtitle,.teacher-group-card-head .muted{margin:4px 0 0}.teacher-lesson-card-meta,.teacher-group-card-meta,.teacher-lesson-card-summary,.teacher-lesson-actions,.teacher-lesson-actions-primary,.teacher-lesson-actions-quick{display:flex;gap:10px;flex-wrap:wrap}.teacher-lesson-card-chip,.teacher-group-card-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08));border-radius:999px;background:var(--dk-bg-ffffffa76, rgba(255, 255, 255, .76));color:var(--ink);font-size:13px;font-weight:600}.teacher-lesson-card-chip.muted-chip{color:var(--muted);border-style:dashed;background:transparent}.teacher-lesson-card-chip.chip-date{background:var(--dk-bg-e8f0fe, #e8f0fe);border-color:var(--dk-bd-c7d7fc, #c7d7fc);color:var(--dk-fg-2c4db5, #2c4db5)}.teacher-lesson-card-chip.chip-date svg{color:#3b5bdb}.teacher-lesson-card-chip.chip-students{background:var(--dk-bg-f3e8ff, #f3e8ff);border-color:var(--dk-bd-ddc4fa, #ddc4fa);color:var(--dk-fg-6b21c8, #6b21c8)}.teacher-lesson-card-chip.chip-students svg{color:var(--brand3-600)}.teacher-lesson-card-chip.chip-format{background:var(--dk-bg-fff4e0, #fff4e0);border-color:#fcd68a;color:var(--dk-fg-b45309, #b45309)}.teacher-lesson-card-chip.chip-format svg{color:var(--dk-fg-d97706, #d97706)}.teacher-lesson-card-chip.chip-link{background:var(--dk-bg-dcfce7, #dcfce7);border-color:var(--dk-bd-a7f3c0, #a7f3c0);color:var(--dk-fg-15693a, #15693a)}.teacher-lesson-card-chip.chip-link svg{color:var(--dk-fg-059669, #059669)}.teacher-lesson-card-summary{align-items:center}.teacher-lesson-card-summary .muted{display:inline-flex;align-items:center;gap:6px;margin:0}.teacher-lesson-actions{align-items:center;justify-content:space-between}.teacher-lesson-actions-primary{flex:1 1 220px}.teacher-lesson-actions-primary .btn,.teacher-lesson-actions-primary .hint{width:100%}.teacher-lesson-actions-quick{justify-content:flex-end}.teacher-lesson-quick-btn{display:inline-flex;align-items:center;gap:5px;font-size:13px}.teacher-group-card{display:grid;gap:14px;padding:16px}.teacher-group-card-meta,.teacher-group-card-footer{align-items:center}.teacher-group-card-footer .muted{margin:0}.teacher-attention-list{gap:10px}.teacher-attention-item{align-items:center;padding:14px}.teacher-attention-item-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;background:rgba(var(--brand-600-rgb),.08);color:var(--accent-strong)}.teacher-attention-item-body{min-width:0;flex:1 1 auto;display:grid;gap:3px}.teacher-attention-item-body strong,.teacher-attention-item-body .muted{overflow-wrap:anywhere}@media (max-width: 980px){.teacher-workspace-grid{grid-template-columns:1fr}}@media (max-width: 720px){.teacher-lesson-card,.teacher-group-card,.teacher-attention-item{border-radius:16px}.teacher-lesson-card-head,.teacher-group-card-head,.teacher-group-card-footer,.teacher-attention-item,.teacher-lesson-actions{flex-direction:column}.teacher-lesson-card-time{font-size:20px}.teacher-lesson-actions-primary,.teacher-lesson-actions-quick{width:100%}.teacher-lesson-actions-quick{justify-content:flex-start}.teacher-attention-item .btn{width:100%}}.student-dashboard-page{gap:20px}.student-school-hero{display:flex;align-items:flex-end;gap:18px;min-height:190px;padding:28px;border-radius:30px;background:radial-gradient(circle at 12% 18%,rgba(47,128,237,.18),transparent 34%),linear-gradient(135deg,var(--dk-bg-ffffffa98, rgba(255, 255, 255, .98)),var(--dk-bg-edf8ffa96, rgba(237, 248, 255, .96)));background-position:center;background-size:cover;box-shadow:0 24px 54px #10182821;overflow:hidden}.student-school-hero.has-cover{color:#fff}.student-school-avatar{width:74px;height:74px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:2px solid rgba(255,255,255,.75);border-radius:20px;background:var(--dk-bg-ffffffa84, rgba(255, 255, 255, .84));color:#2f80ed;box-shadow:0 18px 34px #1018282e}.student-school-avatar img{width:100%;height:100%;object-fit:cover}.student-school-copy{display:grid;gap:5px;min-width:0}.student-school-copy span{color:#2f80ed;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.student-school-hero.has-cover .student-school-copy span,.student-school-hero.has-cover .student-school-copy p{color:#ffffffd1}.student-school-copy h1{margin:0;overflow:hidden;font-family:Montserrat,sans-serif;font-size:clamp(30px,4.5vw,48px);line-height:1;text-overflow:ellipsis;white-space:nowrap}.student-school-copy p{margin:0;color:var(--muted);font-size:14px;font-weight:700}.student-dashboard-section{display:grid;gap:16px;align-content:start}.student-today-empty{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:-8px}.student-today-empty-img{width:240px;height:240px;object-fit:contain}.student-today-empty-title{font-size:17px;font-weight:600;color:var(--ink)}.student-today-carousel{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x;padding-bottom:2px}.student-today-carousel::-webkit-scrollbar{display:none}.student-carousel-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.student-carousel-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .15s,box-shadow .15s}.student-carousel-arrow:hover{background:var(--card-hover);box-shadow:0 2px 8px #0000001a}.student-today-lesson{position:relative;padding:14px 16px;flex:0 0 260px}.student-today-lesson-time{margin-bottom:8px;font-size:20px;font-weight:800;line-height:1.1;color:var(--lesson-muted)}.student-today-lesson.is-current{box-shadow:0 14px 28px #0f172a24}.student-today-lesson.is-completed{filter:saturate(.6) brightness(.97)}.student-current-badge.is-completed{background:#ffffff73;color:var(--lesson-muted)}.student-current-badge{position:absolute;top:16px;right:16px;display:inline-flex;width:fit-content;max-width:calc(100% - 32px);align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:var(--dk-bg-ffffffa74, rgba(255, 255, 255, .74));color:var(--lesson-accent);font-size:12px;font-weight:800}.student-join-lesson-btn{margin-top:10px;justify-self:start}.student-subjects-section{display:grid;gap:16px}.student-subjects-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.student-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.student-subject-block{display:grid;grid-template-columns:1fr;gap:14px;min-height:188px;padding:20px;align-content:space-between}.student-subject-icon{position:absolute;right:-18px;bottom:-24px;width:132px;height:132px;display:grid;place-items:center;border-radius:32px;background:transparent;color:var(--lesson-text);opacity:.15;pointer-events:none;transform:rotate(-6deg);z-index:1}.student-subject-icon svg{width:100%;height:100%;stroke-width:1.15}.student-subject-main{position:relative;z-index:2;min-width:0;padding-right:58px}.student-subject-main h3{margin:0 0 10px;font-size:24px;line-height:1.12;color:var(--lesson-text)}.student-subject-meta{display:grid;gap:6px;color:var(--lesson-muted);font-size:13px;font-weight:700}.student-subject-meta span{display:inline-flex;align-items:center;gap:6px}.student-subject-library-link{position:relative;z-index:2;justify-self:start;align-self:end;background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.student-library-page{gap:18px}.student-library-school-hero{min-height:160px;position:relative;grid-template-columns:auto minmax(0,1fr);align-items:end}.student-library-head{display:grid;gap:14px;padding:18px}.student-library-head h1{margin:0 0 6px;color:var(--lesson-text)}.student-library-head .muted{color:var(--lesson-muted)}.student-library-back{justify-self:start;background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.student-library-section-head{display:grid;gap:10px;justify-items:start;padding:16px 18px;border-radius:18px;border:1px solid var(--card-border);background:var(--dk-bg-ffffff, #fff)}.student-library-section-head h2{margin:0 0 4px}.student-library-section-head .student-library-back{justify-self:start}.student-library-table{overflow:hidden;padding:0}.student-library-table-head,.student-library-item{display:grid;grid-template-columns:minmax(0,1fr) 120px 130px 220px;gap:14px;align-items:center}.student-library-table-head{padding:12px 16px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-soft);border-bottom:1px solid var(--border)}.student-library-list{display:grid}.student-library-item{padding:14px 16px;border-bottom:1px solid var(--border)}.student-library-item:last-child{border-bottom:0}.student-library-item:hover{background:rgba(var(--brand-600-rgb),.06)}.student-library-item>.student-library-item-icon{grid-column:1;grid-row:1}.student-library-item-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:rgba(var(--brand-600-rgb),.1);color:var(--accent-strong)}.student-library-item-body{display:grid;gap:4px;min-width:0;padding-left:50px;grid-column:1;grid-row:1}.student-library-item-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-library-item-body span{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-library-kind,.student-library-date{color:var(--muted);font-size:13px;white-space:nowrap}.student-library-actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap;padding-left:16px}.student-library-audio-row{grid-column:1 / -1;padding:8px 0 4px 50px}.student-library-audio-row audio{width:100%;height:40px;display:block}.student-lib-back-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:13px;padding:5px 14px 5px 10px}.student-lib-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.student-lib-toolbar-left{flex-shrink:0;display:flex;flex-direction:column;gap:3px}.student-lib-toolbar-right{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end;flex-wrap:wrap}.student-lib-search-wrap{position:relative;flex:1;max-width:280px;min-width:140px}.student-lib-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.student-lib-search{width:100%;padding-left:32px!important;border-radius:999px!important}.student-lib-chips{display:flex;gap:6px;flex-wrap:wrap}.student-lib-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;color:var(--muted);transition:background .14s,border-color .14s,color .14s;white-space:nowrap}.student-lib-chip:hover{border-color:var(--primary);color:var(--primary)}.student-lib-chip--active,.student-lib-chip--active:hover{background:var(--primary);border-color:var(--primary);color:#fff}.student-lib-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 24px 44px;gap:10px}.student-lib-empty-icon{width:76px;height:76px;border-radius:50%;background:rgba(var(--brand-600-rgb),.09);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:6px}.student-lib-empty-title{font-size:18px;font-weight:700;color:var(--text)}.student-lib-empty-desc{font-size:14px;line-height:1.55;max-width:320px}.student-lib-info-banner{display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:var(--radius, 12px);background:var(--surface);border:1px solid var(--border);font-size:14px;font-weight:500}.student-lib-info-icon{color:var(--primary);flex-shrink:0}.student-lib-info-banner>span{flex:1}.student-lib-info-leaf{color:var(--primary);opacity:.5;flex-shrink:0}@media (max-width: 1100px){.teacher-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-week-day{min-height:0}}@media (max-width: 900px){.student-subjects-head{flex-direction:column;align-items:stretch}.student-library-table-head{display:none}.student-library-item{grid-template-columns:auto minmax(0,1fr);gap:10px}.student-library-item>.student-library-item-icon{grid-column:1;grid-row:1}.student-library-item-body{grid-column:2;grid-row:1;padding-left:0}.student-library-kind,.student-library-date,.student-library-actions{grid-column:1 / -1}.student-library-actions{justify-content:flex-start}.student-library-actions .btn{grid-column:1 / -1;justify-self:start}}@media (max-width: 760px){.teacher-dashboard-stats{grid-template-columns:1fr}.teacher-dashboard-lesson,.teacher-session-summary,.teacher-session-footer{flex-direction:column;align-items:stretch}.teacher-week-grid{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:6px}.teacher-week-grid::-webkit-scrollbar{display:none}.teacher-week-day{flex:0 0 auto;min-width:148px;min-height:0}.teacher-week-day.is-today{min-width:172px}.teacher-week-day-empty{min-height:64px;font-size:12px}.teacher-session-header{display:none}.teacher-session-row{grid-template-columns:1fr}.cell-label{display:block}.student-subject-grid{grid-template-columns:1fr}}.setup-page{gap:16px}.setup-topbar{padding-top:14px;padding-bottom:14px}.setup-topbar .page-header{align-items:center}.setup-topbar h1{margin-bottom:0}.setup-stepper-card{overflow:hidden;padding-top:14px;padding-bottom:10px}.setup-stepper{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:start;min-width:0;gap:8px 0}.setup-layout{display:block}.setup-step{display:grid;grid-template-rows:22px auto;gap:5px;justify-items:center;align-items:start;text-align:center;min-height:54px;border:0;background:transparent;padding:0}.setup-step.active{box-shadow:none;background:transparent}.setup-step.done{background:transparent}.setup-step-copy{display:grid;gap:0;min-height:24px;align-content:start;justify-items:center}.setup-step-copy strong{font-size:12px;line-height:1.2;font-weight:600;color:var(--muted)}.setup-step.active .setup-step-copy strong{color:var(--primary, var(--brand-500))}.setup-step.done .setup-step-copy strong{color:var(--dk-fg-059669, #059669)}.setup-step-connector{height:0;border-top:2px dashed rgba(148,163,184,.7);width:100%;min-width:0;align-self:start;margin-top:10px}.setup-step-connector.done{border-top-style:solid;border-top-color:#059669cc}.setup-step-index{height:22px;width:22px;border-radius:999px;display:grid;place-items:center;background:rgba(var(--brand-200-rgb),.9);box-shadow:inset 0 0 0 2px rgba(var(--brand-300-rgb),.9);color:transparent;font-weight:700;font-size:0;position:relative}.setup-step.active .setup-step-index{background:var(--primary, var(--brand-500));box-shadow:0 0 0 3px rgba(var(--brand-500-rgb),.15)}.setup-step.active .setup-step-index:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:999px;background:var(--dk-bg-ffffff, #ffffff);box-shadow:inset 0 0 0 2px var(--primary, var(--brand-500))}.setup-step.done .setup-step-index{background:#059669;box-shadow:none}.setup-step.done .setup-step-index:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:12px;line-height:1;font-weight:700}@media (max-width: 1280px){.setup-stepper{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}}@media (max-width: 960px){.setup-stepper-card{overflow-x:auto}.setup-stepper{min-width:980px}}.setup-content,.setup-grid,.setup-list,.setup-issue-list{display:grid;gap:16px}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.setup-students-grid{align-items:stretch}.setup-students-total-stat{font-size:13px;color:var(--muted);margin-bottom:4px}.setup-students-total-stat strong{color:var(--ink);font-weight:600}.setup-students-hint{font-size:13px;line-height:1.5;color:var(--muted);margin-top:16px}.setup-students-stats-line{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);flex-wrap:wrap}.setup-students-stats-dot{color:#94a3b899}.setup-students-stats-warn{color:var(--dk-fg-b45309, #b45309);font-weight:500}.setup-no-parallel-title{color:var(--dk-fg-92400e, #92400e)}.setup-no-parallel-sub{font-size:13px;color:var(--dk-fg-b45309, #b45309);margin-top:2px}.setup-no-parallel-action-hint{font-style:italic;opacity:.85}.setup-equal-grid,.setup-academic-year-grid,.setup-stage-step-grid,.setup-classes-step-grid,.setup-student-distribution-grid,.setup-teachers-step-grid{align-items:stretch}.setup-students-grid>.card,.setup-equal-grid>.card,.setup-academic-year-grid>.card,.setup-stage-step-grid>.card,.setup-classes-step-grid>.card,.setup-student-distribution-grid>.card,.setup-teachers-step-grid>.card{height:100%}.setup-list-item{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--dk-bg-ffffffa70, rgba(255, 255, 255, .7))}.setup-row-checkbox{display:inline-flex;align-items:center;flex:0 0 auto}.setup-list-item.active{border-color:rgba(var(--brand-600-rgb),.28);background:rgba(var(--brand-600-rgb),.06)}.setup-list-main{flex:1;min-width:0;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.setup-list-scroll{max-height:420px;overflow-y:auto;padding-right:4px}.training-course-form-card{min-height:0;overflow:visible}.training-course-form-scroll{overflow:visible}.training-course-summary-card{min-height:0;overflow:hidden;display:flex;flex-direction:column}.training-course-summary-stack{display:grid;gap:16px}.training-course-summary-list{max-height:420px;overflow-y:auto}.training-course-list-item{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.training-course-list-item:hover{border-color:rgba(var(--brand-600-rgb),.2);background:rgba(var(--brand-600-rgb),.03)}.training-course-list-item.active{border-color:rgba(var(--brand-600-rgb),.34);background:rgba(var(--brand-600-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--brand-600-rgb),.08)}.training-course-list-item .setup-list-main{cursor:pointer}.training-course-list-item .setup-inline-actions .btn{height:32px;padding:0 10px;font-size:13px;border-radius:8px;align-self:center}.training-course-list-item .setup-inline-actions .icon-btn{padding:0;width:32px}.training-course-students-form-card{min-height:320px;overflow:visible}.training-course-students-summary-card{min-height:320px;display:flex;flex-direction:column}.training-course-students-summary-card.is-scrollable{overflow:hidden}.training-course-students-summary-body{gap:16px}.training-course-students-summary-body.is-scrollable{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.training-course-students-summary-list{flex:1 1 0;min-height:0;overflow-y:auto;padding-right:4px;align-content:start;grid-auto-rows:max-content}.training-course-students-warning{margin-top:8px}.training-course-students-form-grid{gap:16px}.training-course-students-filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.training-course-step-actions{margin-top:16px}.training-course-distribution-sections{flex:1 1 0;min-height:0;overflow-y:auto;display:grid;gap:24px;padding-right:4px}.training-course-distribution-section{display:grid;gap:12px;align-content:start}.training-course-distribution-section-header{align-items:flex-start}.training-course-distribution-filter-row{display:flex;flex-wrap:wrap;gap:8px}.training-course-distribution-filter-row .chip{min-height:38px}.training-course-regular-slots{display:grid;gap:14px}.training-course-regular-slot-list{display:grid;gap:12px}.training-course-regular-slot-card{border:1px solid var(--border);border-radius:14px;background:var(--dk-bg-ffffffa74, rgba(255, 255, 255, .74));padding:14px;display:grid;gap:12px}.training-course-regular-slot-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-course-regular-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.training-course-regular-slot-weekday,.training-course-regular-slot-time-row{grid-column:1 / -1}.training-course-regular-slot-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.training-course-regular-slot-errors{display:grid;gap:4px;font-size:12px;color:var(--dk-fg-b42318, #b42318)}.training-course-info-callout{display:flex;align-items:center;gap:10px}.training-course-info-callout svg{flex:0 0 auto;color:rgba(var(--brand-600-rgb),.88)}.training-course-schedule-kind{font-size:12px;line-height:1.35;color:var(--muted)}.training-course-schedule-primary{font-size:16px;line-height:1.35;font-weight:600}.roles-access-page{display:flex;flex-direction:column;height:calc(100dvh - 64px)}.roles-access-layout{display:grid;grid-template-columns:200px 1fr 1fr;gap:0;flex:1;min-height:0;border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.roles-access-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--sidebar-bg);overflow-y:auto;overscroll-behavior:contain}.roles-access-sidebar-title{padding:16px 14px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.roles-access-sidebar-list{list-style:none;margin:0;padding:0 8px 12px;display:flex;flex-direction:column;gap:2px}.roles-access-sidebar-item{width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:8px 10px 8px 12px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease;line-height:1.3;position:relative}.roles-access-sidebar-item:hover{background:var(--sidebar-item-hover);color:var(--ink)}.roles-access-sidebar-item.is-active{background:var(--sidebar-item-active);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.roles-access-permissions-col{display:flex;flex-direction:column;border-radius:0;border:none;border-right:1px solid var(--border);box-shadow:none;min-height:0;padding:0}.roles-access-col-header{flex-shrink:0;padding:18px 20px 14px;border-bottom:1px solid var(--border);background:var(--dk-bg-f5faffa60, rgba(245, 250, 255, .6))}.roles-access-col-header h2{margin:0 0 2px;font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}.roles-access-col-subtitle{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4}.roles-access-permissions-scroll--full{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 4px}.roles-access-permissions-footer{flex-shrink:0;padding:14px 20px 18px;border-top:1px solid var(--border);background:#f5faff80}.roles-access-permissions-scroll{max-height:380px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.roles-access-people-col{display:flex;flex-direction:column;border-radius:0;border:none;box-shadow:none;min-height:0;padding:0}.roles-access-people-col>.roles-access-col-header{border-right:none}.roles-access-people-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 18px 18px;overflow:hidden}.roles-access-search-row{flex-shrink:0;margin-bottom:12px}.roles-access-users-list--full{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;display:flex;flex-direction:column;gap:8px}.roles-access-users-list{overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.roles-access-search-head{display:inline-flex;align-items:center;gap:8px}.roles-access-search-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0f766e26;color:var(--accent-strong);font-size:12px;font-weight:700;line-height:1}.roles-access-note{margin-top:6px;display:inline-block;font-size:12px;line-height:1.35;color:var(--dk-fg-4b5563, #4b5563);background:var(--dk-bg-0f172aa4, rgba(15, 23, 42, .04));border:1px solid var(--dk-bd-0f172aa10, rgba(15, 23, 42, .1));border-radius:8px;padding:5px 8px}.roles-access-user-card{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72));display:flex;align-items:flex-start;justify-content:space-between;gap:14px;transition:border-color .16s ease,background-color .16s ease}.roles-access-user-card:hover{border-color:rgba(var(--brand-600-rgb),.18);background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9))}.roles-access-user-card-body{min-width:0;flex:1}.roles-access-user-name{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roles-access-user-email{font-size:12.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roles-access-user-assignments{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}.roles-access-user-actions{flex-shrink:0;align-self:center}.roles-access-save-btn{width:100%;justify-content:center;border-radius:10px;font-size:14px;padding:10px 18px}.roles-access-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.roles-access-permissions-scroll--full .permissions-grid{margin:0 0 8px;gap:4px}.roles-access-permissions-scroll--full .checkbox-row{padding:10px;border-radius:8px;margin-top:0;transition:background-color .12s ease}.roles-access-permissions-scroll--full .checkbox-row:hover{background:rgba(var(--brand-600-rgb),.04)}.roles-access-permissions-scroll--full .permission-option-copy span:first-child{font-size:13.5px;font-weight:500;color:var(--ink)}@media (max-width: 1100px){.roles-access-page{height:auto}.roles-access-layout{grid-template-columns:1fr;overflow:visible}.roles-access-sidebar{border-right:none;border-bottom:1px solid var(--border);overflow-y:visible}.roles-access-sidebar-list{flex-direction:row;flex-wrap:wrap;padding:0 8px 12px}.roles-access-sidebar-item{width:auto}.roles-access-permissions-col,.roles-access-people-col{border-right:none;border-top:1px solid var(--border)}.roles-access-permissions-scroll--full,.roles-access-users-list--full{flex:none;max-height:400px}.roles-access-people-body{padding-bottom:18px}}.setup-parallel-accordion{display:grid;gap:0;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:var(--dk-bg-ffffffa54, rgba(255, 255, 255, .54));overflow:hidden;transition:border-color .18s ease,background-color .18s ease}.setup-parallel-accordion--warning{border-color:#d9770647;background:var(--dk-bg-fffbeba60, rgba(255, 251, 235, .6))}.setup-parallel-accordion-header{width:100%;min-height:72px;padding-top:14px;padding-bottom:14px;text-align:left;cursor:pointer}.setup-parallel-accordion-header:hover{border-color:rgba(var(--brand-600-rgb),.28);background:rgba(var(--brand-600-rgb),.06)}.setup-parallel-accordion-header--flat{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;text-align:left;cursor:pointer;background:transparent;border:none;border-radius:0;transition:background-color .15s ease}.setup-parallel-accordion-header--flat:hover{background:rgba(var(--brand-600-rgb),.04)}.setup-parallel-accordion-header--flat+.setup-list.setup-parallel-student-list{border-top:1px solid rgba(148,163,184,.18);padding:10px 14px 12px}.setup-parallel-student-list{gap:10px;max-height:300px;overflow-y:auto;padding-left:2px;padding-right:4px;padding-bottom:2px}.setup-parallel-student-item{background:var(--dk-bg-ffffffa54, rgba(255, 255, 255, .54))}.setup-subject-matrix-list{max-height:320px}.setup-subject-matrix-groups{display:grid;gap:12px}.setup-subject-matrix-group{display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#ffffff75}.setup-subject-matrix-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 0}.setup-subject-matrix-group-items{display:grid;gap:8px}.setup-subject-matrix-item{background:var(--dk-bg-ffffffa62, rgba(255, 255, 255, .62))}.setup-teacher-list{max-height:360px}.setup-teacher-no-results{padding:32px 0;text-align:center;color:var(--text-muted);font-size:14px}.setup-workload-filter-row{display:flex;align-items:center;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}.setup-workload-filter-row::-webkit-scrollbar{display:none}.setup-workload-filter-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.setup-workload-filter-divider{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 2px}.setup-teacher-filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.setup-teacher-search-field{display:flex;align-items:center;flex:1;gap:8px;height:34px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:var(--surface);transition:border-color .16s ease}.setup-teacher-search-field:focus-within{border-color:var(--accent)}.setup-teacher-search-field svg{color:var(--text-muted);flex-shrink:0}.setup-teacher-search-field input{border:none;background:transparent;outline:none;flex:1;font-size:14px;color:var(--text);min-width:0}.setup-teacher-search-field input::placeholder{color:var(--text-muted)}.setup-teacher-subject-filter{height:34px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:var(--surface);font-size:14px;color:var(--text);cursor:pointer;max-width:160px}.setup-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setup-class-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px}.setup-chip-row,.setup-inline-actions,.setup-status-box,.setup-footer-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setup-status-box{justify-content:flex-end}.setup-next-step-action{display:grid;grid-template-columns:auto minmax(180px,260px);align-items:center;gap:8px}.setup-next-step-action .btn{justify-self:end}.setup-next-step-hint{text-align:left}.setup-add-class-button{margin-top:10px}.setup-add-class-step-button{margin-top:8px}.setup-classes-redesign{display:flex;flex-direction:column;gap:24px}.setup-classes-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.setup-classes-header h2{margin-bottom:4px}.setup-classes-header .muted{margin-top:2px}.setup-classes-stats-bar{display:flex;align-items:center;gap:0;padding:14px 20px;background:rgba(var(--brand-600-rgb),.04);border:1px solid rgba(var(--brand-600-rgb),.12);border-radius:14px}.setup-classes-stat{display:flex;align-items:baseline;gap:6px;flex:1;justify-content:center}.setup-classes-stat-value{font-size:22px;font-weight:700;color:var(--text);line-height:1}.setup-classes-stat-value--accent{color:var(--brand-600)}.setup-classes-stat-label{font-size:13px;color:var(--muted);font-weight:500}.setup-classes-stat-divider{width:1px;height:28px;background:#94a3b84d;flex-shrink:0}.setup-parallels-list{display:grid;gap:16px}.setup-parallel-block{padding:16px 18px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:var(--dk-bg-ffffffa54, rgba(255, 255, 255, .54));display:flex;flex-direction:column;gap:12px;transition:border-color .18s ease}.setup-parallel-block:has(.setup-parallel-inline-form){border-color:rgba(var(--brand-600-rgb),.28);background:rgba(var(--brand-600-rgb),.02)}.setup-parallel-block-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.setup-parallel-block-title{display:flex;align-items:baseline;gap:5px}.setup-parallel-block-number{font-size:18px;font-weight:700;color:var(--text)}.setup-parallel-block-label{font-size:14px;font-weight:600;color:var(--text)}.setup-parallel-block-students{font-size:13px;color:var(--muted);font-weight:400}.setup-parallel-block-badge{flex-shrink:0}.setup-parallel-classes-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.setup-class-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:var(--dk-bg-ffffff, #fff);transition:border-color .15s ease,box-shadow .15s ease;position:relative}.setup-class-chip:hover{border-color:rgba(var(--brand-600-rgb),.3);box-shadow:0 1px 4px rgba(var(--brand-600-rgb),.08)}.setup-class-chip.is-editing{border-color:rgba(var(--brand-600-rgb),.45);background:rgba(var(--brand-600-rgb),.05)}.setup-class-chip-name{font-weight:600;font-size:14px;color:var(--text)}.setup-class-chip-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.setup-class-chip:hover .setup-class-chip-actions,.setup-class-chip.is-editing .setup-class-chip-actions{opacity:1}.setup-class-chip-btn{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important;display:flex;align-items:center;justify-content:center}.setup-class-add-chip-btn{font-size:13px;font-weight:500;padding:6px 12px;border-radius:10px;color:var(--brand-600);border-color:rgba(var(--brand-600-rgb),.3)!important;background:rgba(var(--brand-600-rgb),.04)!important;transition:background .15s ease,border-color .15s ease}.setup-class-add-chip-btn:hover:not(:disabled){background:rgba(var(--brand-600-rgb),.1)!important;border-color:rgba(var(--brand-600-rgb),.5)!important}.setup-parallel-inline-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--dk-bg-ffffffa80, rgba(255, 255, 255, .8));border:1px solid rgba(var(--brand-600-rgb),.18);border-radius:12px}.setup-parallel-inline-form-fields{display:flex;flex-direction:column;gap:4px;flex:1;min-width:160px}.setup-parallel-inline-form .form-row{display:flex;align-items:center;gap:10px;margin-bottom:0!important}.setup-parallel-inline-form .form-row label{white-space:nowrap;font-size:13px;min-width:90px;color:var(--muted)}.setup-parallel-inline-form .setup-form-actions{display:flex;gap:8px;flex-shrink:0}[data-theme=dark] .setup-classes-stats-bar{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.2)}[data-theme=dark] .setup-parallel-block{background:#ffffff0a}[data-theme=dark] .setup-class-chip{background:#ffffff0f}[data-theme=dark] .setup-class-chip:hover{background:rgba(var(--brand-600-rgb),.12)}[data-theme=dark] .setup-parallel-inline-form{background:#ffffff0f}.setup-unassigned-students-card{grid-column:1 / -1}.setup-time-slots-grid{display:grid;gap:10px}.setup-lesson-duration-row{margin-bottom:8px}.setup-time-slot-row{display:grid;grid-template-columns:84px minmax(150px,220px) 72px 40px;align-items:center;gap:10px;min-height:40px}.setup-time-slot-label{font-weight:600;line-height:40px}.setup-time-selects{display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:6px}.setup-time-separator{color:var(--muted);font-weight:700;line-height:40px}.setup-time-slot-row select{height:40px}.setup-time-slot-row .icon-btn{align-self:center;justify-self:center;height:40px;width:40px}.setup-time-slot-row .muted{align-self:center;line-height:40px}.setup-list-item>.setup-inline-actions{margin-left:auto;flex-shrink:0;justify-content:flex-end}.setup-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:flex-start}.setup-checkbox-grid-scroll{max-height:280px;overflow-y:auto;padding-right:4px}.setup-checkbox{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72));width:fit-content;max-width:100%;flex:0 0 auto;white-space:nowrap}.setup-checkbox-select-all{width:fit-content;margin-bottom:8px;white-space:nowrap}.setup-checkbox.is-disabled{opacity:.56}.setup-checkbox-note{color:var(--text-muted)}.setup-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setup-metric-card,.setup-publish-box{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72))}.setup-metric-card{display:grid;gap:6px}.setup-metric-card strong{display:block}.setup-publish-box{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-checks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px}.review-check-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72));transition:box-shadow .15s}.review-check-card.ok{border-color:#16a34a38;background:var(--dk-bg-f0fdf4a90, rgba(240, 253, 244, .9))}.review-check-card.pending{border-color:#cbd5e1b3;background:var(--dk-bg-f8fafca90, rgba(248, 250, 252, .9))}.review-check-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-check-card.ok .review-check-icon{background:#16a34a1f;color:var(--dk-fg-16a34a, #16a34a)}.review-check-card.pending .review-check-icon{background:#94a3b826;color:var(--dk-fg-64748b, #64748b)}.review-check-body{flex:1;display:flex;flex-direction:column;gap:3px}.review-check-label{font-size:13px;font-weight:600;color:var(--text)}.review-check-detail{font-size:12px}.review-check-card .badge{align-self:flex-start}.setup-issue{border-radius:14px;padding:14px;border:1px solid var(--border);background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72))}.setup-issue.blocking{border-color:#dc26262e;background:var(--dk-bg-fef2f2a86, rgba(254, 242, 242, .86))}.setup-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;height:100%}.setup-stage-card{width:100%;min-height:110px;border:1px solid var(--border);border-radius:18px;padding:18px;background:linear-gradient(135deg,var(--dk-bg-ffffffa94, rgba(255, 255, 255, .94)),var(--dk-bg-f4f8fca92, rgba(244, 248, 252, .92)));text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.setup-stage-card:hover{border-color:var(--accent-soft);box-shadow:0 10px 24px #10182814;transform:translateY(-1px)}.setup-stage-card.is-active{border-color:var(--accent);background:linear-gradient(135deg,var(--dk-bg-eaf5ffa98, rgba(234, 245, 255, .98)),var(--dk-bg-ddf0ffa96, rgba(221, 240, 255, .96)));box-shadow:0 12px 26px #2266b41f}.setup-stage-card-title{font-size:17px;font-weight:700;color:var(--text)}.setup-stage-card-sub{font-size:13px;color:var(--text-muted)}.setup-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.setup-section-heading h2,.setup-section-heading h3{margin:0}.setup-count-circle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(var(--brand-600-rgb),.1);color:var(--accent);font-size:14px;font-weight:700;flex:0 0 auto}.setup-issue.warning{border-color:#f59e0b2e;background:var(--dk-bg-fffbeba90, rgba(255, 251, 235, .9))}.setup-issue-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.setup-rule-list{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:8px}.setup-issue-details{display:grid;gap:6px;margin-top:10px}.setup-issue-detail-item{padding:8px 10px;border-radius:10px;background:var(--dk-bg-ffffffa74, rgba(255, 255, 255, .74));border:1px solid var(--dk-bd-101828a6, rgba(16, 24, 40, .06));color:var(--ink)}.journal-grid-table{border-collapse:collapse;min-width:100%}.journal-grid-table th,.journal-grid-table td{border:1px solid var(--border);white-space:nowrap}.journal-grid-name-col{position:sticky;left:0;z-index:2;background:var(--color-background);min-width:140px;max-width:180px;padding:8px 12px;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-grid-corner{z-index:3;font-size:12px;color:var(--muted);font-weight:600}.journal-grid-date-header{padding:8px 10px;text-align:center;font-size:12px;font-weight:600;background:var(--color-background-secondary);transition:background .15s}.journal-grid-date-header:hover{background:var(--accent-soft)}.journal-grid-conducted{background:#22c55e0f}.journal-grid-cell{padding:8px;text-align:center;vertical-align:middle}.journal-grid-cell-empty{background:var(--color-background-secondary);opacity:.4}.journal-grid-total-col{padding:8px 12px;font-size:12px;background:var(--color-background-secondary)}.journal-grid-subheader{padding:3px 8px;font-size:10px;font-weight:600;text-align:center;color:var(--muted);border-top:1px solid var(--border);letter-spacing:.02em}.journal-grid-table tfoot td{padding:8px;background:var(--color-background-secondary);border-top:2px solid var(--border)}.course-journal-page{display:flex;flex-direction:column;gap:16px}.course-journal-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.course-journal-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--color-background-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:8px}.course-journal-course{display:flex;flex-direction:column}.course-journal-course-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;text-align:left;width:100%;color:var(--color-text-primary);font-weight:600;font-size:13px;transition:background .15s}.course-journal-course-header:hover{background:var(--accent-soft)}.course-journal-course-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-journal-groups{display:flex;flex-direction:column;padding-left:8px;gap:2px;margin-bottom:4px}.course-journal-group{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;text-align:left;width:100%;color:var(--color-text-secondary);font-size:13px;transition:background .15s}.course-journal-group:hover{background:var(--accent-soft);color:var(--color-text-primary)}.course-journal-group.is-active{background:var(--accent-soft);color:var(--color-accent);font-weight:600}.course-journal-main{min-width:0}@media (max-width: 860px){.course-journal-layout{grid-template-columns:1fr}}.setup-access-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 720px){.setup-access-mode-grid{grid-template-columns:1fr}}@media (max-width: 1100px){.setup-grid,.setup-class-name-grid{grid-template-columns:1fr}.setup-metric-grid,.review-checks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.setup-metric-grid,.review-checks-grid,.training-course-regular-slot-grid{grid-template-columns:1fr}.training-course-regular-slot-time-row{grid-template-columns:1fr 1fr}.setup-publish-box,.setup-footer-nav,.setup-status-box,.setup-list-item,.setup-issue-header{align-items:flex-start;flex-direction:column}.setup-next-step-action{margin-left:0;grid-template-columns:1fr}.setup-time-slot-row{grid-template-columns:1fr 40px}.setup-time-selects,.setup-time-slot-row .muted{grid-column:1 / -1}}[data-theme=dark]{--color-background-success: rgba(34, 197, 94, .16);--color-text-success: #4ade80;--color-background-danger: rgba(239, 68, 68, .16);--color-text-danger: #f87171;--color-background-warning: rgba(245, 158, 11, .18);--color-text-warning: #fbbf24;--color-background-secondary: rgba(255, 255, 255, .07);--color-text-secondary: #94a3b8;--color-border-tertiary: rgba(255, 255, 255, .1);--bg: #0f1115;--bg-alt: #12161c;--bg-gradient: linear-gradient(180deg, #0f1115 0%, #131821 100%);--surface: #1a1f28;--surface-soft: rgba(26, 31, 40, .92);--border: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .08);--card-hover: rgba(255, 255, 255, .04);--table-bg: #141821;--input-bg: #141821;--input-border: rgba(255, 255, 255, .14);--input-focus: rgba(var(--brand-dark-accent-rgb), .7);--input-focus-glow: rgba(var(--brand-dark-accent-rgb), .2);--sidebar-bg: rgba(16, 20, 28, .96);--sidebar-item-bg: rgba(31, 37, 48, .7);--sidebar-item-hover: rgba(var(--brand-dark-accent-rgb), .18);--sidebar-item-active: rgba(var(--brand-dark-accent-rgb), .24);--ink: #eef2f7;--muted: #b4becd;--accent: var(--brand-dark-accent);--accent-strong: #5aa5ff;--accent-soft: rgba(var(--brand-dark-accent-rgb), .18);--skeleton-base: rgba(148, 163, 184, .18);--skeleton-highlight: rgba(255, 255, 255, .1);--warning: #f87171;--shadow: 0 8px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;color:var(--ink);background:var(--bg-gradient);min-height:100dvh;transition:background-color .25s ease,color .25s ease,background .25s ease;overflow-x:hidden}.app-layout,.sidebar,.card,.modal-card,.table,.nav-item,input,textarea,select,.btn,.chip,.date-popover,.rdp{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}[data-theme=dark] body,[data-theme=dark] .app-shell,[data-theme=dark] .card,[data-theme=dark] .modal-card,[data-theme=dark] .table,[data-theme=dark] .table th,[data-theme=dark] .table td,[data-theme=dark] .filter-row,[data-theme=dark] .filter-toolbar,[data-theme=dark] .details,[data-theme=dark] .lesson-row{color:var(--ink)}h1,h2,h3,h4{font-family:Montserrat,sans-serif;margin:0 0 12px}p{color:var(--muted);line-height:1.6}a{color:var(--accent-strong);text-decoration:none;border-radius:8px;transition:background-color .15s ease,color .15s ease}a:hover{background:rgba(var(--brand-600-rgb),.08)}.app-shell{min-height:100dvh;padding:0}.page{max-width:none;margin:0 auto;display:grid;gap:20px;min-width:0}.page>*,.card,.stack,.grid,.page-header,.filter-search-row,.filter-controls-row,.table-wrap{min-width:0}.journal-page{overflow:visible;grid-template-rows:auto auto auto;min-height:0;min-width:0;--journal-table-height: calc(100vh - 220px) }body.journal-no-scroll{overflow:auto}body.journal-no-scroll .app-shell{min-height:100vh;padding:0;height:auto;overflow:visible}body.journal-no-scroll .page{max-width:none;margin:0;height:auto}.app-layout{--sidebar-width: 240px;--mobile-nav-offset: 0px;min-height:100dvh}.app-layout.sidebar-collapsed{--sidebar-width: 72px}.app-layout main{min-height:100dvh;min-width:0;margin-left:var(--sidebar-width);padding:32px 20px calc(56px + var(--mobile-nav-offset))}.sidebar{position:fixed;top:0;left:0;z-index:1000;width:var(--sidebar-width);height:100dvh;display:flex;flex-direction:column;gap:12px;align-content:start;padding:18px 12px;border-radius:0;background:var(--sidebar-bg);box-shadow:var(--shadow);overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-school{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--dk-bg-ffffffa55, rgba(255, 255, 255, .55));font-weight:700;color:var(--ink)}.sidebar-school-avatar{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:8px;background:var(--dk-bg-ffffffa78, rgba(255, 255, 255, .78));color:var(--muted)}.sidebar-school-avatar img{width:100%;height:100%;object-fit:cover}.mobile-school-header{display:none}.mobile-school-avatar{width:36px;height:36px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:10px;background:var(--dk-bg-ffffffa78, rgba(255, 255, 255, .78));color:var(--muted)}.mobile-school-avatar img{width:100%;height:100%;object-fit:cover}.mobile-school-info{display:grid;gap:1px;min-width:0}.mobile-school-info span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mobile-school-info strong{overflow:hidden;color:var(--ink);font-size:15px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.school-cover-hero{display:flex;align-items:flex-end;gap:16px;min-height:132px;margin:0 auto 18px;padding:22px;border-radius:26px;background-position:center;background-size:cover;box-shadow:0 24px 52px #10182824;color:#fff;overflow:hidden}.school-cover-avatar{width:58px;height:58px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border:2px solid rgba(255,255,255,.72);border-radius:16px;background:var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82));color:#2f80ed;box-shadow:0 14px 30px #0000002e}.school-cover-avatar img{width:100%;height:100%;object-fit:cover}.school-cover-copy{display:grid;gap:3px;min-width:0;text-shadow:0 2px 16px rgba(0,0,0,.3)}.school-cover-copy span{color:#fffc;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.school-cover-copy strong{overflow:hidden;font-family:Montserrat,sans-serif;font-size:clamp(24px,3vw,36px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}body.dark .sidebar-school{background:#12161eb3}.sidebar-school-name{font-size:13px;line-height:1.2;word-break:break-word}.sidebar-school-short{font-size:12px;letter-spacing:.08em}.substitution-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px;padding:14px 18px;border-radius:14px;background:var(--sidebar-item-bg);color:var(--ink);border:1px solid transparent;box-shadow:0 8px 18px #0f172a14}.homework-resubmission-notice{background:#dc262614;border-color:#dc262647}.homework-resubmission-notice-comment{color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sidebar-toggle{padding:8px 10px;min-width:40px}.sidebar a{color:var(--ink);font-weight:600;text-decoration:none}.sidebar a:hover{background:var(--sidebar-item-hover)}.sidebar a.active{background:var(--sidebar-item-active);color:var(--accent-strong)}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--sidebar-item-bg);color:inherit;align-self:start;width:100%}.nav-item:hover{background:var(--sidebar-item-hover)}.nav-item.has-homework-alert{background:#f59e0b24;color:var(--text)}.nav-item.has-homework-alert:hover,.nav-item.has-homework-alert.active{background:#f59e0b38}.nav-item:hover .nav-icon{transform:rotate(10deg)}.nav-icon{flex:0 0 auto;transition:transform .18s ease}.nav-label{white-space:normal;line-height:1.2}.nav-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:auto;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:800;line-height:1}.sidebar-nav-group{display:grid;gap:6px;width:100%}.sidebar-nav-group-trigger{border:0;font:inherit;font-weight:700;text-align:left;cursor:pointer}.sidebar-nav-group.is-active>.sidebar-nav-group-trigger{background:var(--sidebar-item-active);color:var(--accent-strong)}.sidebar-nav-group-chevron{margin-left:auto;transition:transform .18s ease}.sidebar-nav-group-chevron.is-open{transform:rotate(180deg)}.sidebar-nav-group-items{display:grid;gap:6px;padding-left:12px;border-left:1px solid var(--border)}.sidebar-nav-group-items .nav-item{background:transparent;border:1px solid transparent}.sidebar-nav-group-items .nav-item:hover{background:var(--sidebar-item-hover)}.sidebar-nav-group-items .nav-item.active{background:var(--sidebar-item-active);border-color:rgba(var(--brand-600-rgb),.14)}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.sidebar-section{display:grid;gap:10px}.sidebar-section-secondary{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.sidebar-section-secondary .sidebar-title{color:var(--muted)}.sidebar-section-secondary .nav-item{background:transparent;border:1px dashed var(--border);color:var(--muted)}.sidebar-section-secondary .nav-item.active{background:var(--sidebar-item-active);border-style:solid;color:var(--accent-strong)}.sidebar-appearance{position:relative;display:flex;align-items:center;gap:10px}.palette-switcher{display:contents}.palette-trigger{width:36px;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;box-shadow:var(--shadow-soft);transition:background .2s ease,border-color .2s ease,transform .15s ease}.palette-trigger:hover,.palette-trigger[aria-expanded=true]{background:var(--sidebar-item-hover);border-color:var(--card-hover-border)}.palette-trigger:focus-visible,.palette-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-popover{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 28px #0f172a29;animation:palette-pop .16s ease-out}@keyframes palette-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.palette-title{font-size:12px;font-weight:600;color:var(--muted)}.palette-swatches{display:grid;grid-template-columns:repeat(4,32px);gap:10px}.palette-swatch{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.palette-swatch:hover{transform:scale(1.08)}.palette-swatch.is-selected{box-shadow:0 0 0 2px var(--accent)}.palette-error{max-width:170px;font-size:12px;color:var(--color-danger)}.palette-inline{display:grid;gap:10px;padding:4px 2px}.palette-inline .palette-swatches{grid-template-columns:repeat(6,36px)}.palette-inline .palette-swatch{width:36px;height:36px}@media (prefers-reduced-motion: reduce){.palette-popover{animation:none}.palette-swatch,.palette-trigger{transition:none}}.theme-toggle{width:fit-content;border:1px solid var(--border);background:transparent;border-radius:999px;padding:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.theme-toggle:hover{background:var(--sidebar-item-hover)}.theme-track{position:relative;width:86px;height:34px;border-radius:999px;background:linear-gradient(180deg,#a6d5ff,#70b7ff);border:1px solid rgba(var(--brand-800-rgb),.18);box-shadow:inset 0 2px 6px #fff6,0 6px 14px #0f172a2e;overflow:hidden;transition:background .25s ease,border-color .25s ease}.theme-toggle.is-dark .theme-track{background:linear-gradient(180deg,#1b2234,#0f1422);border-color:#e2e8f01f}.theme-day-scene,.theme-night-scene{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;overflow:hidden;pointer-events:none;transition:opacity .3s ease}.theme-day-scene{opacity:1}.theme-night-scene{opacity:0}.theme-toggle.is-dark .theme-night-scene{opacity:1}.theme-toggle.is-dark .theme-day-scene{opacity:0}.theme-cloud{position:absolute;background:var(--dk-bg-ffffffa85, rgba(255, 255, 255, .85));border-radius:50px;opacity:0}.theme-cloud:before,.theme-cloud:after{content:"";position:absolute;background:var(--dk-bg-ffffffa85, rgba(255, 255, 255, .85));border-radius:50%}.cloud-1{width:30px;height:10px;top:6px;left:-40px;animation-delay:.2s}.cloud-1:before{width:14px;height:14px;top:-6px;left:6px}.cloud-1:after{width:12px;height:12px;top:-5px;right:6px}.cloud-2{width:26px;height:9px;top:14px;left:-40px;animation-delay:.5s}.cloud-2:before{width:12px;height:12px;top:-5px;left:6px}.cloud-3{width:24px;height:8px;top:20px;left:-40px;animation-delay:.8s}.cloud-3:before{width:10px;height:10px;top:-4px;left:6px}.theme-toggle:not(.is-dark) .theme-cloud{animation:cloud-slide 1.6s ease-out forwards}@keyframes cloud-slide{0%{left:-40px;opacity:0}20%{opacity:.9}to{left:56px;opacity:.6}}.theme-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .25s ease}.theme-toggle.is-dark .theme-stars{opacity:1}.theme-stars .star{position:absolute;background:var(--dk-bg-ffffffa76, rgba(255, 255, 255, .76));border-radius:50%;opacity:0;box-shadow:0 0 4px #ffffffb3}.theme-toggle.is-dark .theme-stars .star{animation:star-twinkle 2s ease-in-out infinite}.theme-stars .star-1{width:2px;height:2px;top:6px;left:16px;animation-delay:.3s}.theme-stars .star-2{width:2px;height:2px;top:12px;left:10px;animation-delay:.7s}.theme-stars .star-3{width:3px;height:3px;top:18px;left:20px;animation-delay:.5s}.theme-stars .star-4{width:2px;height:2px;top:22px;left:14px;animation-delay:1s}.theme-stars .star-5{width:3px;height:3px;top:8px;left:28px;animation-delay:.2s}.theme-stars .star-6{width:2px;height:2px;top:24px;left:24px;animation-delay:.8s}.theme-stars .shooting-star{position:absolute;width:2px;height:2px;top:4px;left:30px;background:var(--dk-bg-ffffffa76, rgba(255, 255, 255, .76));border-radius:50%;opacity:0;box-shadow:0 0 6px 2px #ffffffe6}.theme-toggle.is-dark .theme-stars .shooting-star{animation:shooting-star 1.8s ease-out .4s infinite}.theme-stars .shooting-star:after{content:"";position:absolute;top:0;left:0;width:20px;height:2px;background:linear-gradient(90deg,var(--dk-bg-ffffff, #fff),transparent);transform-origin:left;border-radius:50%}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes shooting-star{0%{opacity:0;transform:translate(0) rotate(-35deg)}10%{opacity:1}to{opacity:0;transform:translate(-18px,10px) rotate(-35deg)}}.theme-knob{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#ffd54f;display:flex;align-items:center;justify-content:center;color:#8a5c00;box-shadow:inset 0 2px 6px #ffffff80,0 6px 10px #0f172a40;transition:transform .25s ease,background .25s ease,color .25s ease}.theme-toggle.is-dark .theme-knob{transform:translate(44px,-50%);background:#e2e8f0;color:#4b5563}.attachment-kind-grid{display:flex;gap:8px;align-items:center}.attachment-kind-btn{width:36px;height:36px;border-radius:8px;border:1px solid rgba(var(--brand-600-rgb),.2);background:rgba(var(--tint-item-rgb),.45);display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.attachment-kind-btn:hover{background:rgba(var(--brand-600-rgb),.12)}.attachment-kind-btn.is-active{background:rgba(var(--brand-600-rgb),.18);border-color:rgba(var(--brand-600-rgb),.4)}.hw-content-picker{border:1px solid var(--dk-bd-0f172aa9, rgba(15, 23, 42, .09));border-radius:18px;padding:28px;background:var(--dk-bg-f8fafca70, rgba(248, 250, 252, .7))}.hw-content-picker-header{font-size:.875rem;font-weight:600;color:var(--muted, #64748b);letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px}.hw-content-type-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.hw-content-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 12px;border-radius:16px;border:1px solid var(--dk-bd-0f172aa9, rgba(15, 23, 42, .09));background:var(--dk-bg-ffffff, #ffffff);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease;min-height:108px}.hw-content-type-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a17}.hw-content-type-card:active{transform:translateY(0);box-shadow:none}.hw-content-type-card[data-kind=text]{background:#7c3aed12;border-color:#7c3aed2e}.hw-content-type-card[data-kind=image]{background:#db277712;border-color:#db27772e}.hw-content-type-card[data-kind=video]{background:#dc262612;border-color:#dc26262e}.hw-content-type-card[data-kind=audio]{background:#05966912;border-color:#0596692e}.hw-content-type-card[data-kind=file]{background:#4755690f;border-color:#47556929}.hw-content-type-card[data-kind=presentation]{background:#d9770612;border-color:#d977062e}.hw-content-type-card[data-kind=text]:hover{background:#7c3aed21;border-color:#7c3aed61}.hw-content-type-card[data-kind=image]:hover{background:#db277721;border-color:#db277761}.hw-content-type-card[data-kind=video]:hover{background:#dc262621;border-color:#dc262661}.hw-content-type-card[data-kind=audio]:hover{background:#05966921;border-color:#05966961}.hw-content-type-card[data-kind=file]:hover{background:#4755691c;border-color:#47556957}.hw-content-type-card[data-kind=presentation]:hover{background:#d9770621;border-color:#d9770661}.hw-content-type-card[data-kind=text] .hw-content-type-icon{color:#7c3aed}.hw-content-type-card[data-kind=image] .hw-content-type-icon{color:#db2777}.hw-content-type-card[data-kind=video] .hw-content-type-icon{color:#dc2626}.hw-content-type-card[data-kind=audio] .hw-content-type-icon{color:var(--dk-fg-059669, #059669)}.hw-content-type-card[data-kind=file] .hw-content-type-icon{color:var(--dk-fg-475569, #475569)}.hw-content-type-card[data-kind=presentation] .hw-content-type-icon{color:var(--dk-fg-d97706, #d97706)}.hw-content-type-icon{display:flex;align-items:center;justify-content:center;color:var(--dk-fg-64748b, #64748b)}.hw-content-type-label{font-size:.8rem;font-weight:600;color:var(--dk-fg-1e293b, #1e293b);text-align:center;line-height:1.25}.homework-file-picker-zone{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px dashed var(--dk-bd-e2e8f0, #e2e8f0);border-radius:10px;outline:none;transition:background .15s,border-color .15s;cursor:default}.homework-file-picker-zone:focus-within,.homework-file-picker-zone.is-dragging{background:rgba(var(--brand3-600-rgb),.05);border-color:rgba(var(--brand3-600-rgb),.4)}.teacher-homework-mode-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}@media (max-width: 640px){.teacher-homework-mode-picker{grid-template-columns:1fr}}.teacher-homework-mode-card{display:flex;align-items:center;gap:18px;text-align:left;padding:20px 22px;border-radius:16px;border:1.5px solid var(--dk-bd-e2e8f0, #e2e8f0);background:var(--dk-bg-ffffff, #fff);cursor:pointer;width:100%;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.teacher-homework-mode-card:hover{border-color:var(--primary, var(--brand-600));background:var(--dk-bg-f8fbff, var(--tint-faint));box-shadow:0 4px 20px rgba(var(--brand-600-rgb),.09)}.hw-mode-card-icon-wrap{flex:0 0 auto;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}.hw-mode-card-icon-blue{background:var(--dk-bg-eff6ff, #eff6ff);color:#2563eb}.hw-mode-card-icon-red{background:var(--dk-bg-fff1f2, #fff1f2);color:var(--dk-fg-e11d48, #e11d48)}.hw-mode-card-body{flex:1;min-width:0}.hw-mode-card-arrow{flex:0 0 auto;color:#cbd5e1;transition:transform .15s ease,color .15s ease}.teacher-homework-mode-card:hover .hw-mode-card-arrow{color:var(--primary, var(--brand-600));transform:translate(4px)}.teacher-homework-mode-title{font-size:1rem;font-weight:700;margin-bottom:2px}.teacher-homework-assessment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.teacher-homework-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;text-align:left;width:100%;padding:12px;border:1px solid rgba(var(--brand-600-rgb),.18);border-radius:8px;cursor:pointer;background:var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96))}.teacher-homework-choice.is-active{border-color:rgba(var(--brand-600-rgb),.48);background:var(--dk-bg-eff6ffa90, rgba(var(--brand-50-rgb), .9))}.teacher-homework-choice input{width:auto;min-width:0;padding:0;margin-top:3px;justify-self:start}.teacher-homework-choice span{display:grid;gap:4px;justify-items:start;min-width:0;text-align:left}.teacher-homework-choice strong,.teacher-homework-choice small{text-align:left}.teacher-homework-choice small{color:var(--muted);line-height:1.35}.homework-recipients-picker{display:grid;gap:8px;margin-top:10px}.homework-recipients-toolbar{display:flex;gap:8px;align-items:center}.homework-recipients-toolbar input[type=search]{flex:1;min-width:0}.homework-recipients-list{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.homework-recipients-row{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;cursor:pointer}.homework-recipients-row+.homework-recipients-row{border-top:1px solid var(--border)}.homework-recipients-row:hover{background:var(--surface-soft)}.homework-recipients-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.homework-recipients-row.is-locked{cursor:default}.homework-recipients-row small{margin-left:auto}.homework-recipients-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:13px}.homework-recipients-note{color:var(--muted)}.teacher-homework-scale{display:grid;gap:12px;margin-top:12px}.teacher-homework-scale-table{display:grid;gap:8px}.teacher-homework-scale-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.teacher-homework-scale-head{color:var(--muted);font-size:13px}.teacher-homework-scale-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.teacher-homework-scale-preview span{padding:6px 8px;border:1px solid rgba(var(--brand-600-rgb),.18);border-radius:8px;background:var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96));font-size:13px}.teacher-recording-editor{display:grid;gap:14px;margin-top:14px}.teacher-recordings-list{display:grid;gap:12px}.teacher-recording-upload-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.teacher-recording-uploading{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(var(--brand-600-rgb),.16);background:var(--dk-bg-eff6ffa90, rgba(var(--brand-50-rgb), .9));color:var(--accent-strong);font-weight:600}.teacher-recording-preview{padding:12px 14px;border-radius:14px;border:1px solid var(--card-border);background:var(--card-bg)}.teacher-recording-download-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1.5px solid var(--accent);background:var(--accent-soft, rgba(var(--brand-600-rgb),.06));cursor:pointer;font-size:14px;font-weight:500;color:var(--text);-webkit-user-select:none;user-select:none}.teacher-recording-download-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.homework-create-preview-section{border:1px solid var(--card-border);border-radius:var(--radius);padding:20px}.homework-preview-recording-item{padding-top:8px}.recording-page{display:flex;flex-direction:column;gap:18px;padding-bottom:96px;position:relative}.recording-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dk-bg-f5f5f7, #f5f5f7);z-index:-1;pointer-events:none}.recording-page-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-e0e0e5, #e0e0e5);border-radius:8px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .14s ease,border-color .14s ease}.recording-page-back:hover{background:var(--dk-bg-f5f5f7, #f5f5f7);border-color:var(--dk-bd-c8c8d0, #c8c8d0)}.recording-page-header{display:flex;flex-direction:column;gap:6px}.recording-page-title{margin:0;font-size:26px;font-weight:700;line-height:1.15}.recording-page-subtitle{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--ink);font-size:16px;font-weight:500;align-items:center}.recording-page-subtitle .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);display:inline-block;opacity:.6}.recording-section{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border:1px solid var(--dk-bd-e8e8eb, #e8e8eb);border-radius:14px;background:var(--dk-bg-ffffff, #fff)}.recording-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.recording-section-title{margin:0;font-size:16px;font-weight:700;color:var(--text)}.recording-section-hint{color:var(--muted);font-size:13px;margin:0}.recording-input-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;display:block}.recording-input-label .optional{color:var(--muted);font-weight:500;margin-left:4px}.recording-input,.recording-textarea{width:100%;padding:10px 12px;border:1px solid var(--dk-bd-dddde3, #dddde3);border-radius:10px;background:var(--dk-bg-fafafa, #fafafa);font-size:14px;color:var(--dk-fg-111827, #111827);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.recording-textarea{resize:vertical;min-height:84px}.recording-input:focus,.recording-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.12)}.recording-library-link{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-weight:500;padding:0}.recording-library-link:hover{text-decoration:underline}.recording-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:44px 24px;border:2px dashed rgba(var(--brand-600-rgb),.22);border-radius:16px;background:#ebf2ff38;text-align:center;transition:border-color .15s ease,background-color .15s ease}.recording-dropzone.is-drag-over{border-color:var(--accent);background:rgba(var(--brand-600-rgb),.06)}.recording-dropzone--compact{padding:16px 24px;gap:8px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.recording-dropzone-icon{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--brand-600-rgb),.1);color:var(--accent)}.recording-dropzone-title{font-size:15px;font-weight:600;color:var(--text);margin:0}.recording-dropzone-sub{color:var(--muted);font-size:13px;margin:0}.recording-dropzone-hint{color:var(--muted);font-size:12px;margin-top:4px}.recording-dropzone-button{margin-top:4px;align-self:center;width:fit-content;margin-left:auto;margin-right:auto}.recording-progress-card,.recording-success-card,.recording-error-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;border:1px solid var(--dk-bd-e8e8eb, #e8e8eb);background:var(--dk-bg-ffffff, #fff)}.recording-progress-card{border-color:rgba(var(--brand-600-rgb),.2);background:var(--dk-bg-f8faff, #f8faff)}.recording-success-card{border-color:#10b98140;background:var(--dk-bg-f6fdf9, #f6fdf9)}.recording-error-card{border-color:#dc262633;background:var(--dk-bg-fff8f8, #fff8f8);flex-direction:column;align-items:stretch;gap:10px}.recording-card-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.recording-card-icon.is-progress{background:rgba(var(--brand-600-rgb),.12);color:var(--accent)}.recording-card-icon .spin{animation:spin 1s linear infinite}.recording-card-icon.is-success{background:#10b98126;color:var(--dk-fg-059669, #059669)}.recording-card-icon.is-error{background:#dc26261f;color:#dc2626}.recording-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.recording-card-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recording-card-sub{color:var(--muted);font-size:13px}.recording-progress-bar{height:6px;border-radius:999px;background:rgba(var(--brand-600-rgb),.12);overflow:hidden}.recording-progress-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.recording-progress-bar-fill.is-indeterminate{width:40%;animation:recording-progress-slide 1.4s ease-in-out infinite}@keyframes recording-progress-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.recording-error-actions{display:flex;justify-content:flex-start}.recording-card-actions{display:flex;gap:8px;flex-shrink:0;align-self:center}.recording-video-preview{margin-top:6px;width:100%;max-height:320px;border-radius:12px;background:#000;object-fit:contain}.recording-download-toggle{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;font-size:13px;color:var(--text);-webkit-user-select:none;user-select:none}.recording-download-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.recording-deadline-inputs{display:grid;grid-template-columns:minmax(160px,1fr) 150px;gap:10px;align-items:center}.recording-time-wrapper{position:relative;cursor:pointer;border:1px solid var(--dk-bd-dddde3, #dddde3);border-radius:10px;background:var(--dk-bg-fafafa, #fafafa);transition:border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center}.recording-time-wrapper:hover{border-color:var(--accent)}.recording-time-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.12)}.recording-time-input{width:100%;padding:10px 12px;border:none;background:transparent;font-size:14px;font-family:inherit;color:var(--dk-fg-111827, #111827);outline:none;cursor:pointer}@media (max-width: 640px){.recording-deadline-inputs{grid-template-columns:1fr}}.recording-action-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-radius:12px;background:var(--dk-bg-ffffffa98, rgba(255, 255, 255, .98));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 28px #0f172a1f;flex-wrap:wrap}.recording-action-bar-primary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 640px){.recording-action-bar{flex-direction:column;align-items:stretch}.recording-action-bar-primary{justify-content:stretch;flex-direction:column}.recording-action-bar .btn,.recording-action-bar-primary .btn{width:100%}}@media (max-width: 480px){.recording-page{gap:14px}.recording-page-title{font-size:20px}.recording-section{padding:14px;border-radius:10px;gap:12px}.recording-dropzone{padding:28px 16px;gap:10px;border-radius:12px}.recording-dropzone-icon{width:44px;height:44px}.recording-dropzone-title{font-size:14px}.recording-progress-card,.recording-success-card,.recording-error-card{padding:12px 14px;gap:10px}.recording-card-actions{flex-wrap:wrap;gap:6px}.recording-video-preview{max-height:220px}}@media (max-width: 768px){.recording-page{max-width:100%}}.app-layout.sidebar-collapsed .sidebar{padding:18px 8px}.app-layout.sidebar-collapsed .sidebar a,.app-layout.sidebar-collapsed .sidebar .sidebar-title{font-size:0;padding:8px 0;background:transparent}.app-layout.sidebar-collapsed .sidebar a{text-align:center}.app-layout.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0;background:transparent}.app-layout.sidebar-collapsed .nav-item.has-homework-alert{background:#f59e0b24}.app-layout.sidebar-collapsed .nav-label{display:none}.app-layout.sidebar-collapsed .nav-count-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;font-size:10px}.logout-btn{justify-content:flex-start}.app-layout.sidebar-collapsed .sidebar-title{height:6px;margin:2px 0}.sidebar .sidebar-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--card-border);transition:background-color .15s ease,box-shadow .15s ease}.card.soft{background:var(--surface-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card:hover{background:var(--card-hover);box-shadow:0 8px 18px #1018281a}.substitutions-page-hero{padding:14px 20px}.substitutions-page-hero h1{margin:0}.schedule-change-center-grid{align-items:stretch}.schedule-change-scenario-card{display:flex;flex-direction:column;gap:12px;min-height:170px;border:1px solid rgba(148,163,184,.2);cursor:default;overflow:hidden}.schedule-change-scenario-card .schedule-change-scenario-actions{margin-top:auto}.scenario-card-title{margin:-20px -20px 4px;padding:0 20px;min-height:66px;display:flex;align-items:center;font-size:15px;font-weight:700;letter-spacing:-.1px;color:var(--ink);background:#94a3b826}.schedule-change-scenario-warning .scenario-card-title{font-size:13px}.scenario-card-title--soft{background:rgba(var(--brand-600-rgb),.12);color:var(--accent-strong)}.scenario-card-title--moved{background:#38bdf833;color:var(--accent-strong)}.scenario-card-title--danger{background:#ef44441f;color:var(--warning)}.scenario-card-title--success{background:#16a34a24;color:var(--dk-fg-15803d, #15803d)}.empty-state-centered{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 0}.empty-state-mascot{width:180px;height:180px;object-fit:contain;margin-bottom:-20px}.substitutions-section-h2{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0}.schedule-change-scenario-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-change-scenario-warning{border-color:#ef44442e;background:linear-gradient(180deg,var(--dk-bg-fff7f7a98, rgba(255, 247, 247, .98)),var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)))}.schedule-change-events-card,.schedule-change-operation-card{display:grid;gap:14px}.schedule-change-operation-card>.page-header{justify-content:flex-start}.schedule-change-operation-card>.page-header .section-title{font-size:17px;font-weight:700;letter-spacing:-.2px;color:var(--color-text, #0f172a)}.schedule-change-operation-grid{align-items:start}.schedule-change-events-list{display:grid;gap:10px}.schedule-change-event-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--dk-bg-ffffffa75, rgba(255, 255, 255, .75))}.schedule-change-event-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.schedule-change-event-title{font-weight:700;color:var(--ink)}.schedule-teacher-hero,.schedule-admin-hero{padding:12px 16px}.schedule-teacher-hero-header,.schedule-admin-hero-header{align-items:flex-start;gap:14px}.schedule-teacher-hero-header h1,.schedule-admin-hero-header h1{margin:0}.schedule-teacher-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.schedule-teacher-hero-actions .btn{min-height:42px;align-self:stretch}.schedule-admin-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.schedule-admin-substitutions-head{display:grid;gap:4px;margin-bottom:12px}.stack{display:grid;gap:12px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pill{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;max-width:max-content;flex:0 0 auto;gap:8px;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:600;font-size:12px}.pill.soft{background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));color:var(--muted)}.pill.success{background:#22c55e1f;color:var(--dk-fg-15803d, #15803d)}.pill.warning{background:#f59e0b24;color:var(--dk-fg-b45309, #b45309)}.pill.danger{background:#ef44441f;color:var(--dk-fg-b91c1c, #b91c1c)}.homework-create-preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.homework-create-helper-row,.homework-materials-head,.homework-flat-materials-head,.homework-create-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.homework-create-helper-row{padding:12px 0 4px;margin-bottom:16px}.homework-create-footer-actions{position:sticky;bottom:16px;z-index:4;margin-top:20px;padding:12px;border:1px solid var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-radius:8px;background:var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96));box-shadow:0 12px 28px #0f172a1f}.homework-create-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.homework-create-preview-pills{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}.homework-material-actions,.homework-file-picker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:10px 16px;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;background:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(var(--brand-600-rgb),.2);display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;max-width:100%;align-self:flex-start;flex:0 0 auto}.btn:hover{transform:translateY(-1px);background:var(--brand-700)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.secondary{background:var(--surface);color:var(--accent-strong);border:1px solid rgba(var(--brand-600-rgb),.25);box-shadow:0 6px 14px rgba(var(--brand-600-rgb),.12)}.btn.secondary:hover{background:rgba(var(--brand-600-rgb),.08)}.btn.ghost{background:transparent;color:var(--accent-strong);box-shadow:none;border:1px solid rgba(var(--brand-600-rgb),.25)}.btn.ghost:hover{background:rgba(var(--brand-600-rgb),.12)}.btn-ghost{background:transparent;color:var(--accent-strong);box-shadow:none;border:1px solid rgba(var(--brand-600-rgb),.25)}.btn-ghost:hover{background:rgba(var(--brand-600-rgb),.12)}.btn-sm{padding:7px 12px;font-size:13px;border-radius:8px;gap:4px}.btn.student-subject-library-link{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14}.btn.student-subject-library-link:hover{background:var(--lesson-button-hover-bg);color:var(--lesson-button-text);border-color:var(--lesson-button-border)}.btn.student-library-back{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.student-library-back:hover{background:var(--lesson-button-hover-bg);color:var(--lesson-button-text);border-color:var(--lesson-button-border)}.btn.student-join-lesson-btn{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.student-join-lesson-btn:not(:disabled){background:#0f172ac7;color:#fff;border-color:transparent;box-shadow:0 4px 14px #0f172a38}.btn.student-join-lesson-btn:hover:not(:disabled){background:#0f172ae6;color:#fff;border-color:transparent}.btn.student-join-lesson-btn:disabled{background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.5);box-shadow:none;cursor:default;opacity:1}.btn.danger{background:#e11d48e6;box-shadow:0 6px 14px #e11d4833}.btn.danger:hover{background:#be123cf2}.btn.tenant-toggle-btn{box-shadow:none}.btn.tenant-toggle-btn.deactivate{background:#f59e0b26;color:var(--dk-fg-9a3412, #9a3412);border:1px solid rgba(245,158,11,.36)}.btn.tenant-toggle-btn.deactivate:hover{background:#f59e0b3d;color:var(--dk-fg-7c2d12, #7c2d12)}.btn.tenant-toggle-btn.activate{background:#10b98126;color:var(--dk-fg-065f46, #065f46);border:1px solid rgba(16,185,129,.35)}.btn.tenant-toggle-btn.activate:hover{background:#10b9813d;color:var(--dk-fg-064e3b, #064e3b)}.skeleton-block{display:block;max-width:100%;min-width:8px;overflow:hidden;background:linear-gradient(90deg,transparent 0%,var(--skeleton-highlight) 48%,transparent 100%),var(--skeleton-base);background-size:220% 100%,100% 100%;background-position:160% 0,0 0;opacity:0;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-block.is-visible{opacity:1;transform:translateY(0)}.skeleton-radius-sm{border-radius:6px}.skeleton-radius-md{border-radius:8px}.skeleton-radius-lg{border-radius:12px}.skeleton-radius-pill,.skeleton-radius-circle{border-radius:999px}.skeleton-text{display:grid;gap:9px;width:100%}.skeleton-avatar{flex:0 0 auto}.skeleton-card{display:grid;gap:16px;min-height:168px}.skeleton-card-head{display:flex;align-items:center;gap:12px;min-width:0}.skeleton-card-title{display:grid;flex:1;gap:8px;min-width:0}.skeleton-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.skeleton-table{min-height:304px}.skeleton-table .table{table-layout:fixed}.skeleton-table th,.skeleton-table td{height:44px}.skeleton-page{width:100%}.skeleton-page-header{align-items:flex-start}.skeleton-page-header>div{display:grid;gap:10px;min-width:0}.loading-indicator .skeleton-block{flex:0 0 auto}@keyframes skeleton-shimmer{to{background-position:-60% 0,0 0}}.loading-indicator{--loader-size: 116px;--loader-dot-size: 8px;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;color:var(--accent);font-weight:700;letter-spacing:0;opacity:0;transform:translateY(4px) scale(.98);transition:opacity .18s ease,transform .18s ease}.loading-indicator.is-visible{opacity:1;transform:translateY(0) scale(1)}.loading-indicator-page,.loading-indicator-block{flex-direction:column;min-height:220px;padding:28px}.loading-indicator-page{min-height:min(460px,70vh)}.loading-indicator-compact{--loader-size: 34px;--loader-dot-size: 3px;display:inline-flex;width:auto;min-height:0;padding:6px 10px;font-size:.9rem}.loading-indicator-orbit{position:relative;width:var(--loader-size);height:var(--loader-size);animation:loading-orbit-spin 1.4s linear infinite;filter:drop-shadow(0 0 10px rgba(var(--brand-600-rgb),.62))}.icon-spin{animation:loading-orbit-spin 1s linear infinite}.loading-indicator-label{color:var(--accent-strong);text-align:center;text-shadow:0 0 8px rgba(var(--brand-600-rgb),.34),0 0 22px rgba(var(--brand-600-rgb),.26);text-transform:uppercase}.loading-indicator-compact .loading-indicator-label{text-transform:none}@keyframes loading-orbit-spin{to{transform:rotate(360deg)}}input,textarea,select{width:100%;border-radius:12px;border:1px solid var(--input-border);padding:10px 12px;font:inherit;background:var(--input-bg);color:var(--ink);transition:border .2s ease,box-shadow .2s ease,background-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.date-input{position:relative}.date-input-field{position:relative;cursor:pointer}.date-input-field input{padding-right:36px;cursor:pointer}.date-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.date-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:9999;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 28px #1018282e}.time-input-field{cursor:pointer}.time-input-field input{cursor:pointer;width:100%}.date-input.is-range .date-popover,.date-input.is-range .rdp{min-width:min(420px,calc(100vw - 24px))}.rdp{--rdp-accent-color: var(--accent);--rdp-background-color: var(--surface-soft);--rdp-outline: 2px solid var(--input-focus);--rdp-cell-size: 42px;font-size:13px;color:var(--ink);font:inherit;background:var(--surface);opacity:1;border-radius:12px;padding:10px}.rdp-month,.rdp-table{background:var(--surface);opacity:1}.rdp-months{gap:16px}.rdp-caption{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;font-weight:600}.rdp-caption_dropdowns{display:flex;gap:8px;align-items:center}.rdp-dropdown{border:1px solid var(--input-border);background:var(--surface);color:var(--ink);border-radius:8px;padding:4px 6px;font-size:12px}.rdp-dropdown select{background:transparent;border:none;color:inherit;font:inherit}.rdp-caption_label{font-weight:700;color:var(--ink)}.rdp-nav_button{border-radius:10px;border:1px solid var(--input-border);background:var(--surface);width:34px;height:34px;transition:background .2s ease,border .2s ease,transform .2s ease}.rdp-nav_button:hover{background:var(--accent-soft);border-color:rgba(var(--brand-600-rgb),.3);transform:translateY(-1px)}.rdp-head_cell{font-size:12px;color:var(--text-muted);font-weight:600}.rdp-day{position:relative;border-radius:12px;height:40px;width:40px;border:1px solid transparent;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.rdp-day_has-lessons:after{content:"";position:absolute;bottom:6px;left:50%;width:6px;height:6px;border-radius:999px;background:var(--accent-strong);transform:translate(-50%)}.rdp-day_selected.rdp-day_has-lessons:after{background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9))}.rdp-day:hover:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end){background:rgba(var(--brand-600-rgb),.08);color:var(--accent-strong)}.rdp-day_selected,.rdp-day_selected:focus-visible,.rdp-day_selected:hover{background:var(--accent-strong);color:#fff;border:1px solid var(--accent)}.rdp-day_today{border:1px solid var(--input-border)}.rdp-day_range_start,.rdp-day_range_end{background:var(--accent-strong);color:#fff;border-radius:12px;border:1px solid var(--accent)}.rdp-day_range_middle{background:rgba(var(--brand-600-rgb),.12);border-radius:0}.rdp-day_outside{opacity:.45}.rdp-day_disabled{opacity:.35;text-decoration:line-through}label{font-weight:600;font-size:13px;color:var(--ink)}.substitution-lessons{display:grid;gap:8px;margin-top:4px}.substitution-lesson{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.substitution-lesson:hover{border-color:rgba(var(--brand-600-rgb),.35);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.substitution-lesson.is-selected{border-color:rgba(var(--brand-600-rgb),.7);background:rgba(var(--brand-600-rgb),.08)}.substitution-lesson input[type=checkbox]{width:18px;height:18px}.substitution-lesson-body{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.substitution-lesson-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.substitution-lesson-index{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:var(--sidebar-item-bg);font-size:12px;font-weight:700}.substitution-lesson-subject{font-size:14px}.substitution-lesson-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:var(--text-muted);text-transform:capitalize}.substitution-submit,.offer-submit{justify-self:start;width:fit-content}.form-grid{display:grid;gap:12px}.form-grid>.btn{justify-self:flex-start;width:auto}.homework-class-subject-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:start}.homework-subject-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.homework-subject-row label{margin:0}.homework-subject-row select{max-width:360px}.homework-subject-value{color:var(--text);font-size:24px;font-weight:700;line-height:1.2}.form-row{display:grid;gap:6px}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:10px;background:transparent;border:0;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:2px}.password-toggle:hover{color:var(--ink)}.form-inline{display:grid;grid-template-columns:1fr 140px;gap:10px;align-items:center}@media (max-width: 640px){.form-inline{grid-template-columns:1fr}}.director-dashboard-page{gap:18px;color:var(--ink)}.director-billing-banner-wrap{padding:0 2px}.director-hero,.director-panel{border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07));border-radius:8px;background:var(--dk-bg-ffffffa92, rgba(255, 255, 255, .92));box-shadow:0 16px 36px #10182814}.director-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px;background:linear-gradient(135deg,var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96)),var(--dk-bg-f1f8ffa90, rgba(241, 248, 255, .9))),repeating-linear-gradient(135deg,rgba(47,128,237,.06) 0 1px,transparent 1px 14px);background-size:cover;background-position:center}.director-hero-branded{color:#fff;border-color:#fff3}.director-hero-branded .muted,.director-hero-branded .director-kicker{color:#ffffffd6}.director-hero-main{display:flex;align-items:center;gap:16px;min-width:0}.director-school-avatar{width:68px;height:68px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:8px;background:var(--dk-bg-ffffffa78, rgba(255, 255, 255, .78));color:#2f80ed;box-shadow:0 14px 28px #10182824}.director-school-avatar img{width:100%;height:100%;object-fit:cover}.director-kicker{margin:0 0 8px;color:var(--dk-fg-17634a, #17634a);font-size:13px;font-weight:800;text-transform:uppercase}.director-hero h1,.director-panel h2{margin:0}.school-branding-card{display:grid;gap:18px}.school-branding-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.3fr);gap:16px}.school-branding-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72))}.school-branding-cover-item{grid-template-columns:180px minmax(0,1fr)}.school-branding-preview{display:grid;place-items:center;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#7753f41f,#399dea1a),var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82));color:var(--muted);border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08))}.school-branding-preview img{width:100%;height:100%;object-fit:cover}.school-branding-avatar-preview{width:96px;height:96px}.school-branding-cover-preview{width:180px;aspect-ratio:16 / 9}.school-branding-crop-modal{width:min(760px,calc(100vw - 28px))}.school-branding-crop{display:grid;gap:16px}.school-branding-crop-frame{position:relative;width:100%;margin:0 auto;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:linear-gradient(45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,.16) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,.16) 75%),var(--dk-bg-ffffff, #fff);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.school-branding-crop-frame-avatar{max-width:420px;aspect-ratio:1}.school-branding-crop-frame-cover{aspect-ratio:3 / 1}.school-branding-crop-frame{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.school-branding-crop-frame.is-dragging{cursor:grabbing}.school-branding-crop-frame canvas{width:100%;height:100%;display:block;pointer-events:none}.school-branding-crop-hint{text-align:center;font-size:13px;color:var(--text-muted)}.school-branding-zoom-bar{display:flex;align-items:center;justify-content:center;gap:12px}.school-branding-zoom-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.school-branding-zoom-btn:hover{background:var(--surface-hover, #f1f5f9)}.school-branding-zoom-label{font-size:13px;color:var(--text-muted);min-width:56px;text-align:center}.school-branding-crop-note{padding:10px 12px;border:1px solid rgba(var(--brand-600-rgb),.12);border-radius:8px;background:rgba(var(--brand-600-rgb),.06);color:var(--muted);font-size:13px}.school-branding-content{display:grid;gap:10px;min-width:0}.school-branding-content h3{margin:0}.school-branding-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.branding-pick-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;border:1.5px solid var(--border, #e5e7eb);background:var(--dk-bg-f9fafb, #f9fafb);color:var(--dk-fg-374151, #374151);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.branding-pick-btn:hover{border-color:var(--primary, var(--brand-600));background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--primary, var(--brand-600))}.branding-file-pending{display:grid;gap:8px}.branding-file-name{display:block;font-size:13px;color:var(--dk-fg-374151, #374151);background:var(--dk-bg-f3f4f6, #f3f4f6);border:1px solid var(--dk-bd-e5e7eb, #e5e7eb);border-radius:8px;padding:6px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.school-settings-controls{display:grid;gap:12px}.school-settings-checkboxes{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--dk-bg-ffffffa76, rgba(255, 255, 255, .76))}.school-settings-checkbox{align-items:flex-start}.school-settings-checkbox-copy{display:grid;gap:4px}.school-settings-checkbox-title{font-weight:700;color:var(--text-primary, inherit)}.school-settings-save-block{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;border:1px dashed var(--border);background:var(--dk-bg-ffffffa70, rgba(255, 255, 255, .7))}.director-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.director-hero-tools{display:grid;justify-items:end;gap:12px}.director-period-switch{display:inline-flex;gap:4px;padding:4px;border-radius:8px;background:var(--dk-bg-ffffffa68, rgba(255, 255, 255, .68));border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08));box-shadow:inset 0 1px #fff9}.director-hero-branded .director-period-switch{background:#ffffff2e;border-color:#ffffff38}.director-period-switch button{min-height:34px;border:0;border-radius:6px;padding:0 12px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.director-hero-branded .director-period-switch button{color:#fffc}.director-period-switch button.active{background:var(--dk-bg-ffffff, #fff);color:var(--dk-fg-1f2937, #1f2937);box-shadow:0 8px 18px #1018281a}.director-period-switch button:hover:not(.active){background:#ffffff47}.director-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.director-stat-card{min-height:156px;display:grid;align-content:space-between;gap:14px;padding:18px;border-radius:8px;color:#fff;overflow:hidden;position:relative;box-shadow:0 16px 28px #1018281f;text-shadow:0 1px 10px rgba(16,24,40,.14)}.director-stat-card:after{content:"";position:absolute;inset:auto -28px -42px auto;width:118px;height:118px;border-radius:50%;background:#ffffff29}.director-stat-card.tone-green{background:linear-gradient(135deg,#7753f4,#6a49ee 54%,#5f42e6)}.director-stat-card.tone-blue{background:linear-gradient(135deg,#f3a62f,#f8bd36 52%,#f6d23d)}.director-stat-card.tone-violet{background:linear-gradient(135deg,#ef38a8,#ec4bb6 52%,#f062c7)}.director-stat-card.tone-coral{background:linear-gradient(135deg,#60d66f,#6ade82 54%,#6fe6a7)}.director-stat-card.tone-ink{background:linear-gradient(135deg,#f15c7d,#f37d78 52%,#f58f55)}.director-stat-card.tone-mint{background:linear-gradient(135deg,#399dea,#48aef5 54%,#59c4f5)}.director-stat-card.tone-neutral{background:var(--surface);color:var(--ink);border:1px solid var(--border);box-shadow:0 2px 6px #1018280d;text-shadow:none}.director-stat-card.tone-neutral:after{display:none}.director-stat-card.tone-neutral .director-stat-icon{background:var(--surface-soft);color:var(--muted)}.director-stat-card.tone-neutral small{color:var(--muted)}.director-stat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;opacity:.94}.director-stat-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;background:#ffffff29}.director-stat-card strong{font-family:Montserrat,sans-serif;font-size:31px;line-height:1;letter-spacing:0;position:relative;z-index:1}.director-stat-card small{color:#ffffffd6;font-size:13px;position:relative;z-index:1}.director-main-grid{display:grid;grid-template-columns:1.35fr .95fr 1fr;gap:16px;align-items:stretch}.director-panel-wide{grid-column:span 2}.director-panel{display:grid;align-content:start;gap:16px;min-width:0;padding:20px}.director-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.director-panel-head svg{color:#2f80ed;flex-shrink:0}.director-area-chart{min-width:0;position:relative}.director-area-chart svg{display:block;width:100%;height:220px;overflow:visible}.director-chart-grid-line{stroke:#10182814;stroke-dasharray:4 6}.director-chart-hover-line{stroke:#10182826;stroke-width:1;stroke-dasharray:3 3}.director-chart-y-label{font-size:11px;fill:var(--muted);text-anchor:end;dominant-baseline:middle}.director-chart-x-label{font-size:11px;fill:var(--muted)}.director-chart-tooltip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #1018281a;z-index:10}.director-chart-tooltip strong{font-size:13px;color:var(--ink)}.director-chart-tooltip-sub{color:var(--muted)}.director-chart-empty{display:grid;place-items:center;min-height:220px;border:1px dashed var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-radius:8px;color:var(--muted)}.director-attention-list,.director-class-list,.director-workload-list,.director-activity-list{display:grid;gap:10px}.director-attention-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border-radius:8px;border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07));background:var(--dk-bg-f8fbff, var(--tint-faint));color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.director-attention-item.is-clickable{cursor:pointer}.director-attention-item.is-clickable:hover{transform:translateY(-1px);border-color:#2f80ed38;box-shadow:0 12px 24px #10182814}.director-attention-item strong,.director-class-row strong,.director-workload-name strong,.director-activity-item strong{display:block;line-height:1.3}.director-attention-item p,.director-activity-item p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.director-attention-item small{display:inline-block;margin-top:8px;color:#2f80ed;font-size:12px;font-weight:800}.director-attention-item>span{min-width:54px;text-align:right;font-family:Montserrat,sans-serif;font-size:20px;font-weight:800}.director-attention-item.severity-danger{background:linear-gradient(135deg,rgba(226,85,68,.12),var(--dk-bg-ffffffa94, rgba(255, 255, 255, .94)));border-color:#e255442e}.director-attention-item.severity-warning{background:linear-gradient(135deg,rgba(245,158,11,.14),var(--dk-bg-ffffffa94, rgba(255, 255, 255, .94)));border-color:#f59e0b33}.director-attention-item.severity-success{background:linear-gradient(135deg,rgba(34,160,107,.13),var(--dk-bg-ffffffa94, rgba(255, 255, 255, .94)));border-color:#22a06b33}.director-attention-item.attention-critical{background:#ef44440d;border-color:#ef444426;border-left:3px solid #ef4444}.director-attention-item.attention-warning{background:#f59e0b0d;border-color:#f59e0b26;border-left:3px solid #f59e0b}.director-attention-item.attention-info{background:rgba(var(--brand-500-rgb),.05);border-color:rgba(var(--brand-500-rgb),.15);border-left:3px solid var(--brand-500)}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 0;color:var(--muted);font-size:13px}.director-donut-wrap{display:flex;flex-direction:column;gap:12px}.finance-donut-row{display:grid;grid-template-columns:168px 1fr;gap:18px;align-items:center}.director-donut{width:168px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #1018280d}.director-donut>div{width:108px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;background:var(--dk-bg-ffffff, #fff);box-shadow:0 10px 28px #1018281f}.director-donut span{color:var(--muted);font-size:12px}.director-donut strong{font-family:Montserrat,sans-serif;font-size:24px}.director-donut-legend{display:grid;gap:10px;color:var(--muted);font-size:13px}.director-donut-legend span{display:flex;align-items:center;gap:8px}.director-donut-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.director-donut-legend .paid{background:#22a06b}.director-donut-legend .unpaid{background:#2f80ed}.director-donut-legend .overdue{background:#e25544}.finance-month-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.finance-month-label{font-size:14px;font-weight:500;min-width:140px;text-align:center;text-transform:capitalize}.director-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.director-bottom-grid>.director-panel:first-child{grid-column:1 / -1}.director-class-row{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(180px,1fr) minmax(260px,1.15fr);gap:14px;align-items:center;min-width:0;padding:13px;border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07));border-radius:8px;background:var(--dk-bg-fbfdff, #fbfdff)}.director-class-row span{color:var(--muted);font-size:13px}.director-class-meter{height:9px;border-radius:999px;background:var(--dk-bg-101828a8, rgba(16, 24, 40, .08));overflow:hidden}.director-class-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22a06b,#2f80ed)}.director-class-values{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.director-class-values span{padding:5px 8px;border-radius:8px;background:#2f80ed14;color:var(--dk-fg-1f4e79, #1f4e79);font-weight:700}.director-workload-row{display:grid;gap:8px;padding:12px;border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07));border-radius:8px;background:var(--dk-bg-fbfdff, #fbfdff)}.director-workload-name{display:flex;justify-content:space-between;gap:10px;align-items:center}.director-workload-name span{color:var(--muted);font-size:13px;white-space:nowrap}.director-workload-bars{display:grid;gap:5px}.director-workload-bars span{height:8px;border-radius:999px}.director-workload-bars .planned{background:#2f80ed2e}.director-workload-bars .actual{background:linear-gradient(90deg,#7c4dff,#22a06b)}.director-activity-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:8px;background:var(--dk-bg-fbfdff, #fbfdff);border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07))}.director-activity-item>span{width:10px;height:44px;border-radius:999px;background:#2f80ed}.director-activity-item.tone-danger>span{background:#e25544}.director-activity-item.tone-info>span{background:#22a06b}.director-activity-item time{color:var(--muted);font-size:12px;white-space:nowrap}@media (max-width: 1280px){.director-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.director-main-grid{grid-template-columns:1fr 1fr}.director-bottom-grid{grid-template-columns:1fr}.director-panel-wide{grid-column:span 2}.director-bottom-grid>.director-panel:first-child{grid-column:auto}}@media (max-width: 860px){.director-hero,.director-main-grid,.director-bottom-grid{grid-template-columns:1fr}.director-hero{display:grid}.director-hero-tools{justify-items:start}.director-hero-main{align-items:flex-start}.school-branding-grid,.school-branding-item,.school-branding-cover-item,.director-stat-grid,.director-main-grid,.director-bottom-grid{grid-template-columns:1fr}.director-panel-wide{grid-column:auto}.finance-donut-row{grid-template-columns:1fr;justify-items:center}.director-class-row{grid-template-columns:minmax(0,1fr)}.director-class-values{justify-content:flex-start}.school-branding-avatar-preview,.school-branding-cover-preview{width:100%;max-width:320px}.school-settings-save-block{flex-direction:column;align-items:stretch}}@media (max-width: 560px){.director-hero,.director-panel{padding:16px}.director-stat-card{min-height:136px}.director-area-chart svg{height:180px}.director-activity-item{grid-template-columns:8px minmax(0,1fr)}.director-activity-item time{grid-column:2}}.director-skeleton-hero{background:linear-gradient(135deg,#0d1428e0,#141e37d1),repeating-linear-gradient(135deg,rgba(47,128,237,.08) 0 1px,transparent 1px 14px);border-color:#ffffff1a}.director-skeleton-hero .director-skeleton-hero-block{--skeleton-base: rgba(255, 255, 255, .14);--skeleton-highlight: rgba(255, 255, 255, .26)}.director-skeleton-stat-card{min-height:156px;display:grid;align-content:space-between;gap:14px;padding:18px;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 16px 28px #1018280f;animation:skeleton-shimmer 1.8s ease-in-out infinite;background:linear-gradient(90deg,transparent 0%,var(--skeleton-highlight) 48%,transparent 100%),#94a3b829;background-size:220% 100%,100% 100%;background-position:160% 0,0 0}.app-loading-skeleton{display:flex;min-height:100dvh}.app-loading-skeleton-sidebar{position:fixed;top:0;left:0;width:240px;height:100dvh;display:flex;flex-direction:column;gap:12px;padding:18px 12px;background:var(--sidebar-bg);box-shadow:var(--shadow);overflow:hidden}.app-loading-skeleton-sidebar-header{display:flex;align-items:center;gap:10px;padding-bottom:8px}.app-loading-skeleton-nav{display:flex;flex-direction:column;gap:6px;margin-top:8px}.app-loading-skeleton-content{margin-left:240px;flex:1;min-width:0;padding:32px 20px}.form-row.form-row-spaced{margin-top:10px}.material-inline{display:grid;gap:8px;grid-template-columns:1.2fr 1.6fr .8fr auto;align-items:center}.material-inline input,.material-inline select{min-width:0}.teacher-material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.teacher-material-info{min-width:0}.teacher-material-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-material-meta{margin-top:2px;color:var(--muted);font-size:12px}.teacher-material-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.multi-select{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface)}.multi-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.multi-actions .filter-input{flex:1}.multi-list{display:grid;gap:6px;max-height:180px;overflow:auto;padding-right:4px}.schedule-day-nav{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.schedule-date-dropdown{position:relative}.schedule-day-label{font-weight:600;font-size:14px;margin-left:auto;text-align:right}.schedule-student-day{padding:6px 0}.schedule-student-times{display:grid;gap:10px;padding-left:0}.schedule-student-row{display:grid;grid-template-columns:100px 1fr;gap:6px;align-items:stretch}.schedule-student-time{font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:flex-start;padding-left:2px}.schedule-student-card{border:1px solid var(--border);border-left-width:4px;border-radius:12px;padding:12px 14px;background:var(--surface);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.schedule-student-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.schedule-student-modal{display:grid;gap:8px}.schedule-modal-actions{display:flex;gap:8px;margin-top:12px}.schedule-date-picker{display:grid;gap:12px}@media (max-width: 720px){.schedule-student-row{grid-template-columns:1fr}.schedule-student-time{justify-content:flex-start}}.multi-item{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--surface-soft);border:1px solid transparent;transition:background .2s ease,border-color .2s ease}.multi-item:hover{background:var(--surface-muted);border-color:var(--border)}.multi-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.teacher-choice-item{align-items:flex-start;padding:10px 12px}.teacher-choice-item.is-recommended{border-color:#16a34a59;background:#16a34a0f}.teacher-choice-item.is-recommended:hover{border-color:#16a34a80;background:#16a34a1a}.teacher-choice-body{min-width:0;display:grid;gap:6px;flex:1}.teacher-choice-main{display:flex;align-items:center;gap:10px;justify-content:space-between;min-width:0}.teacher-choice-main strong{min-width:0;overflow-wrap:anywhere}.teacher-choice-badges,.teacher-choice-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.teacher-choice-meta{color:var(--muted);font-size:12px}.teacher-choice-note{color:var(--muted);font-size:12px;line-height:1.4}.checkbox-row{display:inline-flex;align-items:center;gap:8px;font-weight:600}.empty-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px dashed var(--border);background:var(--surface-muted)}@media (max-width: 720px){.multi-actions{flex-direction:column;align-items:stretch}.empty-inline{flex-direction:column;align-items:flex-start}}.class-grid{display:grid;gap:10px;margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.class-list{display:grid;gap:8px;margin-top:12px}.class-row-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:10px;background:var(--surface);cursor:pointer;transition:background .2s ease,border-color .2s ease;text-align:left}.class-row-card:hover{background:var(--surface-muted);border-color:var(--accent-soft)}.class-row-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.class-card{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);cursor:pointer;transition:background .2s ease,border-color .2s ease;text-align:left}.class-card:hover{background:var(--surface-muted);border-color:var(--accent-soft)}.class-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.class-card-title{font-weight:700;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.class-actions{display:flex;justify-content:flex-end;margin-top:10px}.class-row-stats{display:inline-flex;align-items:center;gap:6px;justify-self:end}@media (max-width: 860px){.class-row-card{grid-template-columns:1fr;gap:8px}.class-row-stats{justify-self:start;flex-wrap:wrap}}.teacher-chips{display:flex;flex-wrap:wrap;gap:6px}.subject-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.subject-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:transform .18s ease,background .18s ease,border-color .18s ease}.subject-card-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.subject-card-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.subject-card:hover{transform:translateY(-2px);background:var(--card-hover-bg, var(--card-bg));border-color:var(--card-hover-border, var(--card-border))}.subject-card-title{font-weight:600}.subject-card-meta{margin-top:6px;color:var(--text-muted)}.subject-card-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--sidebar-item-bg);color:var(--accent-strong)}.subject-card-content{min-width:0}.subject-modal{display:grid;gap:16px}.subject-modal-head{display:grid;gap:6px}.subject-modal-title{font-size:18px;font-weight:600}.subject-modal-teacher{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted)}.subject-modal-section{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--text-muted)}.subject-material-list{display:grid;gap:10px}.subject-material-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--card-border);background:var(--card-bg)}.subject-material-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--surface-soft);color:var(--accent-strong)}.subject-material-body{min-width:0}.subject-material-title{font-weight:600}.subject-material-meta{color:var(--text-muted);font-size:12px}.filter-input-with-icon{display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);width:100%}.filter-input-with-icon .filter-input{border:none;background:transparent;padding:8px 0;width:100%;box-shadow:none}.filter-input-with-icon .filter-input:focus{outline:none}.filter-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-group-date{min-width:240px}.filter-date-range{display:flex;gap:10px;align-items:center}.filter-date-range .date-input{flex:1;min-width:140px}.homework-view-toggle{display:inline-flex;align-items:center;gap:8px}.homework-view-toggle .chip{display:inline-flex;align-items:center;gap:6px}.status-select{position:relative}.status-select-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);cursor:pointer;width:100%;justify-content:space-between}.status-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:6px;display:grid;gap:4px;box-shadow:var(--card-shadow)}.status-select-item{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;color:inherit}.status-select-item:hover{background:var(--surface-soft)}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--border)}.status-dot.open{background:#16a34a}.status-dot.overdue{background:#dc2626}.status-dot.closed{background:#64748b}.status-dot.all{background:#94a3b8}.homework-filters{display:flex;flex-wrap:wrap;gap:10px}.homework-filters select{flex:0 0 auto;min-width:160px;max-width:220px}.homework-filters input[type=search]{flex:1 1 160px;min-width:120px}@media (max-width: 480px){.homework-filters select,.homework-filters input[type=search]{flex:1 1 100%;max-width:none}.homework-overview-grid{grid-template-columns:1fr}.hw-card-main{flex-direction:column;gap:10px}.hw-card-aside{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.hw-card-action{flex:1}}.homework-list{display:grid;gap:18px}.homework-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.homework-overview-card{display:grid;gap:8px;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.homework-overview-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0f172a1a}.homework-overview-card-needs_revision{border-color:#dc26262e;background:#dc26260d}.homework-overview-card-active{border-color:rgba(var(--brand-600-rgb),.16);background:rgba(var(--brand-600-rgb),.05)}.homework-overview-card-completed{border-color:#16a34a29;background:#16a34a0d}.homework-overview-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.homework-overview-count{font-size:34px;line-height:1;font-weight:800;color:var(--ink)}.homework-overview-text{color:var(--text-muted);font-size:14px;line-height:1.45}.homework-group{display:grid;gap:12px}.homework-group-title{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.homework-group-list{display:grid;gap:12px}.homework-section-card{display:grid;gap:14px}.homework-section-back{display:flex;justify-content:flex-start}.homework-section-card-needs_revision .homework-section-head{border-color:#dc262633;background:#dc26260f}.homework-section-card-active .homework-section-head{border-color:rgba(var(--brand-600-rgb),.18);background:rgba(var(--brand-600-rgb),.06)}.homework-section-card-completed .homework-section-head{border-color:#16a34a2e;background:#16a34a0f}.homework-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:10px;border:1px solid var(--card-border)}.homework-section-count{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72));border:1px solid var(--card-border);font-weight:700}.homework-section-list{display:grid;gap:10px}.homework-section-empty{border-style:dashed}.hw-card-wrap{padding:0;overflow:hidden}.hw-card-main{display:flex;align-items:flex-start;gap:16px;padding:16px 20px}.hw-card-body{flex:1;min-width:0;display:grid;gap:6px;align-content:start}.hw-card-eyebrow{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.01em}.hw-card-title{font-size:17px;font-weight:700;line-height:1.3}.hw-card-desc{margin:0;font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hw-card-teacher{font-size:13px;color:var(--muted)}.hw-card-deadline{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--muted)}.hw-card-deadline.is-overdue{color:#ef4444}.hw-card-aside{flex-shrink:0;width:168px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hw-card-badge{font-size:12px;padding:4px 12px;font-weight:700;border-radius:999px}.hw-card-action{width:100%;justify-content:center}.hw-comments-link{background:none;border:none;padding:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;text-align:right}.hw-comments-link:hover{opacity:.7}.hw-card-comments{padding:14px 20px 16px;display:grid;gap:12px;border-top:1px solid var(--border);margin-top:0}.teacher-homeworks-panel{display:grid;gap:14px}.teacher-homeworks-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.teacher-homeworks-panel-head h2{margin:0}.teacher-homework-groups{display:grid;gap:18px}.teacher-homework-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-homework-overview-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:92px;padding:14px;border:1px solid var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-radius:8px;background:var(--dk-bg-ffffff, #fff);color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.teacher-homework-overview-card.is-review{border-color:#f59e0b57;background:var(--dk-bg-fffbeba72, rgba(255, 251, 235, .72))}.teacher-homework-overview-card.is-checked{border-color:#16a34a3d;background:var(--dk-bg-f0fdf4a64, rgba(240, 253, 244, .64))}.teacher-homework-overview-card:hover,.teacher-homework-overview-card.is-active{border-color:rgba(var(--brand-600-rgb),.48);box-shadow:0 10px 24px #0f172a1a;transform:translateY(-1px)}.teacher-homework-overview-card.is-active{outline:2px solid rgba(var(--brand-600-rgb),.14)}.teacher-homework-overview-title{color:var(--text);font-weight:800}.teacher-homework-overview-count{color:var(--text);font-size:28px;font-weight:800;line-height:1}.teacher-homework-group{display:grid;gap:8px}.teacher-homework-group-header{display:flex;align-items:center;gap:6px;color:var(--text);font-size:15px;font-weight:800}.teacher-homework-group-empty{padding:16px;border:1px dashed var(--dk-bd-101828a18, rgba(16, 24, 40, .18));border-radius:8px;background:var(--dk-bg-0f172aa3, rgba(15, 23, 42, .03));color:var(--muted)}.teacher-homework-list{display:grid;border:1px solid var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-radius:8px;background:var(--dk-bg-ffffff, #fff);overflow:hidden}.teacher-homework-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border-bottom:1px solid var(--dk-bd-101828a10, rgba(16, 24, 40, .1))}.teacher-homework-row:last-child{border-bottom:0}.teacher-homework-row:hover{background:var(--dk-bg-0f172aa3, rgba(15, 23, 42, .025))}.teacher-homework-row-main{display:grid;gap:8px;min-width:0}.teacher-homework-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.teacher-homework-row-head>div:first-child{min-width:0}.teacher-homework-row-side{display:flex;align-items:flex-start}.teacher-homework-status-row,.teacher-homework-attachments-line{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.teacher-homework-status-row{flex-shrink:0}.teacher-homework-attachments-line{justify-content:flex-start}.teacher-homework-card-title{color:var(--text);font-size:18px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.teacher-homework-description{color:var(--text);overflow-wrap:anywhere;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.teacher-homework-actions{justify-content:flex-end;max-width:260px}.teacher-homework-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-homework-meta-pill,.teacher-homework-deadline-pill{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;line-height:1.2}.teacher-homework-meta-pill{background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));color:var(--text)}.teacher-homework-deadline-pill.is-success{background:#16a34a1f;color:var(--dk-fg-15803d, #15803d)}.teacher-homework-deadline-pill.is-soft{background:rgba(var(--brand-600-rgb),.1);color:var(--accent-strong)}.teacher-homework-deadline-pill.is-danger{background:#e11d481f;color:var(--dk-fg-be123c, #be123c)}@media (max-width: 900px){.homework-overview-grid,.teacher-homework-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-homework-row{grid-template-columns:1fr}.teacher-homework-row-head,.teacher-homework-row-side,.teacher-homework-status-row,.teacher-homework-actions{align-items:stretch;justify-content:flex-start}.teacher-homework-row-head,.teacher-homework-actions{flex-direction:column}.teacher-homework-actions,.teacher-homework-actions .btn{max-width:none;width:100%}}@media (max-width: 560px){.teacher-homework-overview-grid{grid-template-columns:1fr}}.homework-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.homework-card-header>div:first-child{display:grid;gap:8px}.homework-title{margin-top:0;font-weight:600;font-size:16px}.homework-title-btn{margin-top:0;font-weight:600;font-size:16px;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.homework-title-btn:hover{text-decoration:underline}.homework-card-meta,.homework-teacher{color:var(--text-muted);font-size:13px}.homework-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.homework-description{margin:0}.homework-attachments{display:flex;flex-wrap:wrap;gap:10px}.homework-attachments a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:inherit;text-decoration:none}.homework-attachment-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:inherit}.homework-submit-modal{display:grid;gap:18px}.homework-submit-head{display:grid;gap:8px}.homework-submit-section{display:grid;gap:12px}.homework-submit-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);color:inherit}.homework-submit-files{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.homework-file-list{display:grid;gap:10px}.homework-file-list-compact{gap:8px}.homework-file-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid var(--card-border);background:var(--card-bg)}.homework-file-item-compact{gap:8px;padding:8px 10px;border-radius:10px}.homework-file-meta{min-width:0}.homework-review-image-preview{display:block;width:min(100%,420px);margin-top:10px;padding:0;border:1px solid rgba(var(--brand-600-rgb),.18);border-radius:14px;overflow:hidden;background:var(--dk-bg-ffffff, #fff);cursor:zoom-in}.homework-review-image-preview img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:var(--dk-bg-0f172aa3, rgba(15, 23, 42, .03))}.homework-file-title{font-weight:600;overflow-wrap:anywhere;word-break:break-word}.homework-file-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;align-self:start;gap:6px}.homework-file-actions-compact{flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.homework-recording-card{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--card-border);background:var(--card-bg)}.homework-recording-player{width:100%;border-radius:14px;background:#000}.btn-compact{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:32px;padding:6px 10px;font-size:12px;line-height:1}.btn-compact-icon{width:32px;min-width:32px;padding:0}.homework-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.teacher-homework-attention{display:inline-flex;align-items:center;justify-self:start;width:fit-content;max-width:100%;gap:8px;margin:4px 0 6px;padding:8px 12px;border-radius:12px;background:#f59e0b24;border:1px solid rgba(245,158,11,.22);color:var(--dk-fg-9a6700, #9a6700);font-weight:700;font-size:13px}.teacher-homework-attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:700}.homework-review-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--card-border);background:var(--surface-soft);color:var(--muted);font-size:.88rem;line-height:1.2}.homework-review-page{gap:18px}.homework-review-page-header{align-items:flex-start;padding:14px 16px;border:1px solid var(--card-border);border-radius:8px;background:var(--surface)}.homework-review-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:62vh}.homework-review-assignment-card{display:grid;gap:12px;padding:16px;border:1px solid var(--card-border);border-radius:8px;background:var(--surface)}.homework-review-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.homework-review-assignment-toggle{width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer;color:inherit;border-radius:4px}.homework-review-assignment-toggle:hover{opacity:.8}.homework-review-assignment-head h3{margin:2px 0 0;font-size:22px;line-height:1.2}.homework-review-assignment-deadline{width:fit-content;padding:6px 10px;border-radius:8px;background:var(--color-background-secondary);color:var(--text);font-size:13px;font-weight:700}.homework-review-assignment-description{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}.homework-review-assignment-materials,.homework-review-assignment-material-list{display:grid;gap:8px}.homework-review-assignment-material{display:grid;gap:8px;padding:10px;border:1px solid var(--card-border);border-radius:8px;background:var(--color-background-secondary)}.homework-review-sidebar{display:grid;gap:6px;min-width:0;align-content:start;align-items:start}.homework-review-summary{display:grid;gap:2px;padding:8px 10px;border-radius:14px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-review-highlight{margin-top:0;padding:0;border-radius:0;background:transparent;border:0;color:var(--muted);font-size:13px}.homework-review-filters{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 6px}.homework-review-filters .btn.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.homework-review-students{display:flex;flex-direction:column;gap:8px;max-height:calc(62vh - 92px);overflow:auto;padding-right:4px}.homework-review-student{width:100%;border:1px solid var(--card-border);background:var(--card-bg);border-radius:14px;padding:9px 10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;justify-content:flex-start;text-align:left;cursor:pointer}.homework-review-student.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.homework-review-student-name{font-weight:600}.homework-review-student-meta{display:grid;gap:1px;align-self:start}.homework-review-status{width:fit-content;align-self:start;padding:4px 9px;border-radius:999px;font-size:.84rem;font-weight:600}.homework-review-status.is-submitted{background:#f59e0b24;color:var(--dk-fg-b45309, #b45309)}.homework-review-status.is-reviewed{background:#22c55e1f;color:var(--dk-fg-15803d, #15803d)}.homework-review-status.is-pending{background:#94a3b824;color:var(--muted)}.homework-review-panel{min-width:0;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);padding:16px;overflow-x:hidden;overflow-y:auto}.homework-review-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.homework-review-empty{display:grid;gap:6px;padding:18px;border-radius:14px;border:1px dashed var(--card-border);background:var(--surface-soft)}.homework-review-actions{display:flex;justify-content:flex-end;gap:8px}.homework-review-readonly{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-submit-actions{display:flex;justify-content:flex-end}.homework-submitted{padding:12px;border-radius:12px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-submitted-content{margin:10px 0 0;white-space:pre-wrap;font-family:inherit}.quiz-result-question-text,.quiz-result-question-text p{margin:0}@media (max-width: 600px){.quiz-result-divider{display:none}}.homework-review-grade-badge{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;max-width:max-content;flex:0 0 auto;padding:10px 16px;border-radius:999px;background:rgba(var(--brand-600-rgb),.12);border:1px solid rgba(var(--brand-600-rgb),.24);color:var(--dk-fg-1d4ed8, var(--brand-700));font-size:18px;font-weight:700;line-height:1}.homework-file-audio{width:100%;height:36px;border-radius:8px;margin-top:8px;accent-color:var(--brand-600)}.image-preview-modal{display:grid;gap:12px}.image-preview-actions{display:flex;justify-content:flex-end;gap:6px}.image-preview-frame{display:grid;place-items:center;overflow:auto;max-height:60vh;border-radius:12px;border:1px solid var(--card-border);background:var(--surface-soft);padding:12px}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172ad9}.image-lightbox-viewport{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:auto;overscroll-behavior:contain;padding:64px 24px 88px}.image-lightbox-frame{position:relative;flex:none;margin:auto;cursor:grab;touch-action:pan-x pan-y}.image-lightbox-frame.is-dragging{cursor:grabbing}.image-lightbox-image{position:absolute;top:50%;left:50%;max-width:none;border-radius:12px;box-shadow:var(--shadow);background:var(--surface);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-lightbox .image-lightbox-close{position:fixed;top:16px;right:16px;z-index:2;border-radius:8px;border:1px solid var(--dk-bd-ffffff, #fff);color:#fff;background:transparent}.image-lightbox .image-lightbox-close:hover{border-color:var(--dk-bd-ffffff, #fff);background:#ffffff1f}.image-lightbox-controls{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:6px 14px}.image-lightbox-ctrl-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:#fff;border-radius:8px;cursor:pointer;transition:background .15s}.image-lightbox-ctrl-btn:hover:not(:disabled){background:#ffffff26}.image-lightbox-ctrl-btn:disabled{opacity:.35;cursor:default}.image-lightbox-zoom-label{min-width:44px;text-align:center;color:#fffc;font-size:12px;font-variant-numeric:tabular-nums}.image-lightbox-ctrl-divider{width:1px;height:20px;background:#fff3;margin:0 4px}.image-lightbox-title{position:fixed;left:16px;bottom:16px;max-width:calc(50vw - 140px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#0f172ab3;color:#fff;font-size:12px}@media (max-width: 640px){.image-lightbox-viewport{padding:64px 8px 80px}.image-lightbox-controls{bottom:16px}.image-lightbox-title{top:18px;bottom:auto;max-width:calc(100vw - 96px)}}.annotation-modal{width:min(1600px,calc(100vw - 40px));height:min(calc(100vh - 40px),950px);max-height:unset;padding:0;overflow:hidden;display:flex;flex-direction:column}.annotation-modal .modal-close-btn{top:15px;right:16px;z-index:10}.annotation-modal-header{display:flex;align-items:center;gap:12px;padding:14px 60px 14px 20px;border-bottom:1px solid var(--dk-bd-0f172aa9, rgba(15, 23, 42, .09));flex-shrink:0;min-height:64px;box-sizing:border-box}.annotation-modal-header-icon-wrap{width:36px;height:36px;border-radius:10px;background:var(--dk-bg-dbeafea72, rgba(var(--brand-100-rgb), .72));color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.annotation-modal-header-text{min-width:0}.annotation-modal-header-title{font-weight:600;font-size:15px;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotation-modal-header-meta{font-size:12px;color:var(--muted);margin-top:2px}.annotation-modal-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.annotation-toolbar{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));background:var(--dk-bg-f8fafc, #f8fafc);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.annotation-toolbar::-webkit-scrollbar{display:none}.annotation-toolbar-sep{width:1px;height:22px;background:var(--dk-bg-0f172aa10, rgba(15, 23, 42, .1));margin:0 4px;flex-shrink:0}.annotation-toolbar-spacer{flex:1;min-width:8px}.annotation-toolbar-group{display:flex;gap:4px;align-items:center}.annotation-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.annotation-icon-btn:hover:not(:disabled){background:var(--dk-bg-dbeafea60, rgba(var(--brand-100-rgb), .6));color:var(--dk-fg-1d4ed8, var(--brand-700));border-color:rgba(var(--brand-500-rgb),.22)}.annotation-icon-btn:disabled{opacity:.38;cursor:not-allowed}.annotation-tool-btn{border-radius:10px;border:1px solid rgba(var(--brand-500-rgb),.18);background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72));padding:6px 12px;font-size:13px;gap:6px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;flex-shrink:0}.annotation-tool-btn:hover:not(:disabled){background:var(--dk-bg-dbeafea72, rgba(var(--brand-100-rgb), .72));border-color:rgba(var(--brand-500-rgb),.28)}.annotation-tool-btn.is-active{background:linear-gradient(180deg,var(--dk-bg-dbeafea96, rgba(var(--brand-100-rgb), .96)),rgba(var(--brand-200-rgb),.92));border-color:rgba(var(--brand-600-rgb),.44);color:var(--dk-fg-1d4ed8, var(--brand-700));box-shadow:inset 0 1px #ffffffd9,0 0 0 1px rgba(var(--brand-500-rgb),.12)}.annotation-colors{display:flex;gap:7px;align-items:center}.annotation-color-swatch{width:24px;height:24px;border-radius:999px;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px #0f172a2e,0 1px 3px #0f172a1a;cursor:pointer;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease}.annotation-color-swatch:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1.5px #0f172a47,0 4px 10px rgba(var(--brand-600-rgb),.14)}.annotation-color-swatch.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(var(--brand-600-rgb),.7)}.annotation-color-swatch--white{box-shadow:0 0 0 1px #0f172a33,0 1px 3px #0f172a14}.annotation-zoom-label{min-width:42px;text-align:center;font-size:13px;color:var(--muted);-webkit-user-select:none;user-select:none}.annotation-stage{flex:1;min-height:0;overflow:auto;padding:24px;background:var(--dk-bg-edf2f7, #edf2f7);overscroll-behavior:contain}.annotation-canvas-shell{transform-origin:top left;margin:0 auto}.annotation-canvas-scale{transform-origin:top left;position:relative}.annotation-stage-canvas{border-radius:12px;background:#fff;box-shadow:0 4px 24px #0f172a1f}.annotation-stage-canvas canvas{border-radius:12px;background:#fff;touch-action:none}.annotation-load-error{padding:24px;color:#ef4444;font-size:14px}.annotation-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));background:var(--dk-bg-f8fafc, #f8fafc);flex-shrink:0;gap:12px}.annotation-modal-footer-info{font-size:12px;flex:1;min-width:0}.annotation-modal-footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.annotation-text-draft{position:absolute;z-index:2;transform:translate(-4px,-4px);padding:4px 8px;border-radius:10px;border:1px solid var(--dk-bd-0f172aa18, rgba(15, 23, 42, .18));background:var(--dk-bg-ffffffa96, rgba(255, 255, 255, .96));box-shadow:0 10px 24px #0f172a1f}.annotation-range{display:flex;gap:8px;align-items:center}@media (max-width: 900px){.homework-review-layout{grid-template-columns:1fr;min-height:auto}.homework-review-students{max-height:240px}}@media (max-width: 960px){.annotation-modal{width:calc(100vw - 24px);height:calc(100dvh - 24px);border-radius:14px}.annotation-stage{padding:14px}.annotation-icon-btn{width:38px;height:38px}.annotation-color-swatch{width:28px;height:28px}}@media (max-width: 600px){.annotation-modal{width:100vw;height:100dvh;border-radius:0}.annotation-modal .modal-close-btn{top:10px;right:10px;width:40px;height:40px}.annotation-modal-header{padding:10px 52px 10px 14px;min-height:52px}.annotation-tool-btn{padding:8px 10px;font-size:0;gap:0}.annotation-tool-btn svg{flex-shrink:0}.annotation-icon-btn{width:42px;height:42px}.annotation-color-swatch{width:32px;height:32px}.annotation-toolbar-sep{display:none}.annotation-toolbar{padding:6px 10px;gap:5px}.annotation-stage{padding:10px}.annotation-modal-footer{padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.annotation-modal-footer-info{display:none}.annotation-zoom-label{font-size:12px;min-width:36px}}.image-preview-frame img{max-width:100%;height:auto;transition:transform .2s ease}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-bottom:12px}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.homework-calendar{display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) 2fr}.homework-calendar-picker .rdp{--rdp-accent-color: var(--accent-strong);margin:0}.homework-day{display:grid;gap:2px;justify-items:center}.homework-day-dots{display:inline-flex;gap:3px}.homework-calendar-list{display:grid;gap:12px}@media (max-width: 900px){.homework-calendar{grid-template-columns:1fr}}@media (max-width: 640px){.subject-cards{grid-template-columns:1fr}.subject-card{padding:12px 14px}}@media (max-width: 600px){.hw-card-main{padding:12px 14px;gap:12px}.hw-card-aside{width:140px}.hw-card-action{width:100%}}.chip{padding:4px 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-size:12px;font-weight:600}.weekday-multiselect{display:flex;flex-wrap:wrap;gap:8px}.weekday-option{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.weekday-option input{display:none}.weekday-option.is-active{background:rgba(var(--brand-600-rgb),.16);border-color:rgba(var(--brand-600-rgb),.35);color:var(--accent-strong)}.profile-note{margin-top:-6px;padding:12px 14px;border-radius:12px;border:1px solid rgba(var(--brand-600-rgb),.2);background:linear-gradient(135deg,rgba(var(--brand-600-rgb),.08),#10b98114);font-size:13px;color:var(--ink)}.profile-generated-password{display:grid;gap:10px;padding:14px;border:1px solid rgba(16,185,129,.24);border-radius:12px;background:#10b98114}.profile-generated-password .form-row{margin:0}.profile-generated-password .btn{justify-self:flex-start}.needs-attention{animation:attentionPulse 1.8s ease-in-out infinite}@keyframes attentionPulse{0%{box-shadow:0 0 rgba(var(--brand-600-rgb),.18)}70%{box-shadow:0 0 0 8px rgba(var(--brand-600-rgb),0)}to{box-shadow:0 0 rgba(var(--brand-600-rgb),0)}}.workload-block{border-radius:12px;padding:10px 12px;border:1px solid transparent}.workload-block.needs-attention{border-color:rgba(var(--brand-600-rgb),.3)}.flash-attention{animation:attentionFlash 1.4s ease-in-out}@keyframes attentionFlash{0%{box-shadow:0 0 rgba(var(--brand-600-rgb),.35);background:rgba(var(--brand-600-rgb),.06)}50%{box-shadow:0 0 0 10px rgba(var(--brand-600-rgb),.08);background:rgba(var(--brand-600-rgb),.1)}to{box-shadow:0 0 rgba(var(--brand-600-rgb),0);background:transparent}}@media (max-width: 860px){.material-inline{grid-template-columns:1fr}.teacher-material-row{grid-template-columns:minmax(0,1fr)}.teacher-material-actions{justify-content:flex-start}}.filter-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:12px;z-index:3;background:var(--surface);padding:8px;border-radius:12px;border:1px solid var(--border);width:100%}.filter-accordion{width:100%}.class-filter-accordion{margin-bottom:12px}.class-filter-accordion .accordion-header{background:var(--sidebar-item-bg);border-color:var(--border)}.class-filter-accordion .accordion-header:hover{background:var(--sidebar-item-hover)}.class-filter-accordion .filter-row{background:var(--sidebar-item-bg);border-color:var(--border)}.filter-accordion .accordion-header{padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);display:inline-flex;gap:8px;align-items:center}.filter-badge{background:#0f766e26;color:var(--accent-strong);font-weight:700;font-size:12px;border-radius:999px;padding:2px 8px;margin-left:4px}.filter-row{position:static;display:grid;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:var(--shadow);min-width:0;max-width:100%;margin-top:10px;width:100%}.filter-accordion{display:grid;gap:12px;margin-top:12px;margin-bottom:12px}.schedule-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.schedule-view-toggle{display:flex;gap:8px;align-items:center}.schedule-range{font-weight:700;color:var(--ink)}.schedule-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.schedule-actions .btn{white-space:nowrap}.schedule-year-ended-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:12px;background:var(--color-background-warning);color:var(--color-text-warning);border-radius:10px;font-size:13px}.schedule-board{padding:16px}.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.schedule-month{display:grid;gap:12px}.schedule-day{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;min-height:140px;cursor:pointer;transition:background .15s ease,border .15s ease,color .15s ease;text-align:left;color:var(--ink);font-family:inherit;font-size:inherit}.schedule-day.is-muted{opacity:.55}.schedule-day.is-active-week{border-color:rgba(var(--brand-600-rgb),.35);background:rgba(var(--brand-100-rgb),.45)}.schedule-day.is-active-day{border-color:rgba(var(--brand-600-rgb),.6);background:var(--dk-bg-dbeafea65, rgba(var(--brand-100-rgb), .65))}.schedule-day.is-today{border-color:rgba(var(--brand-600-rgb),.6);background:linear-gradient(180deg,var(--dk-bg-dbeafea55, rgba(var(--brand-100-rgb), .55)),var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9)));box-shadow:inset 0 0 0 2px rgba(var(--brand-600-rgb),.35)}.schedule-day.is-weekend{background:var(--surface-soft)}.schedule-day:hover{background:var(--accent-soft);border-color:rgba(var(--brand-600-rgb),.25)}.schedule-day-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;font-size:12px;font-weight:700}.schedule-day-title-wrap{display:flex;align-items:center;gap:6px;min-width:0}.schedule-day-call-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1;color:var(--dk-fg-0c4a6e, #0c4a6e);background:#7dd3fc47;border:1px solid rgba(14,165,233,.24);white-space:nowrap}.schedule-day-weekday{color:var(--color-text-secondary);font-size:11px;font-weight:700;text-transform:lowercase}.schedule-day-body{display:grid;gap:8px}.training-center-schedule-month .schedule-day{min-height:196px}.training-center-schedule-month .schedule-day-body{align-content:start}.training-center-schedule-month .schedule-day.is-active-day{border-color:var(--border);background:var(--surface)}.training-center-schedule-month .schedule-day:hover{background:var(--surface);border-color:var(--border)}.training-center-schedule-month .schedule-day.is-weekend:hover{background:var(--surface-soft)}.training-center-schedule-month .schedule-day.is-today:hover{border-color:rgba(var(--brand-600-rgb),.6);background:linear-gradient(180deg,var(--dk-bg-dbeafea55, rgba(var(--brand-100-rgb), .55)),var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9)))}.training-center-schedule-day-empty{color:var(--muted);font-size:12px;padding-top:6px}.training-center-schedule-preview-card{text-align:left;gap:4px;border-color:rgba(var(--brand-600-rgb),.2);border-left-color:var(--brand-600);background:var(--dk-bg-dbeafe, var(--brand-100));box-shadow:0 10px 18px rgba(var(--brand-600-rgb),.12)}.training-center-schedule-preview-card .schedule-title{font-size:12px;line-height:1.35;color:var(--dk-fg-163a76, #163a76);font-weight:700}.training-center-schedule-preview-card .muted{font-size:12px;line-height:1.35;color:var(--dk-fg-355081, #355081)}.training-center-schedule-preview-more{padding-top:2px;color:var(--accent-strong);font-size:12px;font-weight:700}.training-center-schedule-agenda{gap:16px}.training-center-student-week-board{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.training-center-student-day-card{display:grid;gap:16px;align-content:start;min-height:220px;border-radius:16px}.training-center-student-day-card.is-today{border-color:rgba(var(--brand-600-rgb),.22);box-shadow:0 0 0 1px rgba(var(--brand-600-rgb),.08),0 18px 36px #0f172a0d}.training-center-student-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-center-student-day-head h2{margin:0 0 6px;font-size:18px;line-height:1.25}.training-center-student-day-head p{margin:0}.training-center-student-day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:rgba(var(--brand-600-rgb),.08);color:var(--accent-strong);font-size:13px;font-weight:800;flex:0 0 auto}.training-center-student-day-empty{min-height:112px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:14px;color:var(--muted);background:var(--surface-soft);font-size:14px;font-weight:600}.training-center-student-day-lessons{display:grid;gap:12px}.tc-week-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tc-week-range{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--card-hover-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap}.tc-week-range svg{color:var(--accent)}.tc-week-header{padding:4px 0 0}.tc-week-header h1{margin-bottom:4px}.tc-week-hint{margin:0 0 12px}.tc-week-board-scroll{overflow-x:auto}.tc-week-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:stretch}.tc-week-day{display:flex;flex-direction:column;min-width:0;min-height:560px;border:1px solid var(--card-hover-border);border-radius:14px;background:var(--surface);overflow:hidden}.tc-week-day.is-today{border-color:var(--accent)}.tc-week-day-head{display:grid;gap:2px;padding:12px 14px;border-bottom:1px solid var(--card-hover-border)}.tc-week-day-weekday{color:var(--ink);font-size:15px;font-weight:700}.tc-week-day-date{color:var(--text-muted);font-size:13px}.tc-week-day.is-today .tc-week-day-weekday,.tc-week-day.is-today .tc-week-day-date{color:var(--accent)}.tc-week-day-lessons{display:grid;gap:10px;align-content:start;padding:10px}.tc-week-day-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 8px;color:var(--text-muted);font-size:13px}.tc-week-day-empty svg{opacity:.55}.tc-week-lesson{display:grid;gap:8px;padding:12px;border:1px solid var(--card-hover-border);border-radius:12px;background:var(--surface)}.tc-week-lesson.is-cancelled{opacity:.65}.tc-week-lesson-title{color:var(--ink);font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.tc-week-lesson-meta{display:grid;gap:4px;color:var(--muted);font-size:13px}.tc-week-lesson-meta span{display:flex;align-items:flex-start;gap:6px;overflow-wrap:anywhere}.tc-week-lesson-meta svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.tc-week-lesson-warning{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:8px;background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning));font-size:12px;font-weight:600;line-height:1.3}.tc-week-lesson-warning svg{flex:0 0 auto;margin-top:1px}.tc-week-lesson-note{color:var(--muted);font-size:12px;font-weight:600}.tc-week-lesson-action .btn{width:100%;min-width:0;justify-content:center;padding:8px 10px;font-size:13px;white-space:normal;text-align:center}@media (max-width: 1440px){.tc-week-board{gap:8px}.tc-week-day-head{padding:10px}.tc-week-day-lessons{padding:8px;gap:8px}.tc-week-lesson{padding:10px}}@media (max-width: 1280px){.tc-week-board{grid-template-columns:repeat(7,minmax(190px,1fr))}.tc-week-board-scroll{margin:0 -4px;padding:0 4px 8px;scroll-snap-type:x proximity}.tc-week-day{scroll-snap-align:start}}@media (max-width: 700px){.tc-week-day{min-height:360px}.tc-week-toolbar{width:100%;flex-wrap:nowrap}.tc-week-header .page-header .tc-week-toolbar .btn{width:auto;flex:0 0 auto}.tc-week-range{flex:1 1 auto;min-width:0;justify-content:center;padding:0 8px;font-size:13px}}.training-center-student-lesson-card{--tc-lesson-bg: linear-gradient(135deg, #f4f7fb 0%, #e9eef7 100%);--tc-lesson-border: rgba(88, 113, 153, .18);--tc-lesson-accent: #587199;--tc-lesson-text: #223145;--tc-lesson-muted: #617288;--tc-lesson-badge-bg: rgba(255, 255, 255, .78);--tc-lesson-badge-text: #476282;--tc-lesson-shadow: rgba(88, 113, 153, .14);--tc-lesson-decor: rgba(88, 113, 153, .08);position:relative;overflow:hidden;border-left:4px solid var(--tc-lesson-accent);border-color:var(--tc-lesson-border);background:var(--tc-lesson-bg);color:var(--tc-lesson-text);box-shadow:0 12px 28px var(--tc-lesson-shadow);border-radius:16px;padding:16px;gap:12px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.training-center-student-lesson-card:before{content:"";position:absolute;right:-24px;top:-30px;width:110px;height:110px;border-radius:999px;background:radial-gradient(circle,var(--dk-bg-ffffffa78, rgba(255, 255, 255, .78)) 0%,transparent 68%);pointer-events:none}.training-center-student-lesson-card:after{content:"";position:absolute;inset:auto -32px -44px auto;width:140px;height:140px;border-radius:28px;background:linear-gradient(135deg,var(--tc-lesson-decor),transparent 72%);transform:rotate(-14deg);pointer-events:none}.training-center-student-lesson-card>*{position:relative;z-index:1}.training-center-student-lesson-card:hover{transform:translateY(-1px);box-shadow:0 18px 34px var(--tc-lesson-shadow)}.training-center-student-lesson-card.interactive{cursor:pointer}.training-center-student-lesson-card.is-current{border-color:color-mix(in srgb,var(--tc-lesson-accent) 22%,var(--dk-bd-ffffff, white));box-shadow:0 0 0 1px color-mix(in srgb,var(--tc-lesson-accent) 18%,transparent),0 18px 36px var(--tc-lesson-shadow)}.training-center-student-lesson-card.is-completed{opacity:.84;filter:saturate(.82)}.training-center-student-lesson-card.is-cancelled{--tc-lesson-bg: linear-gradient(135deg, #fff3f4 0%, #ffe7ea 100%);--tc-lesson-border: rgba(231, 104, 124, .24);--tc-lesson-accent: #d15d71;--tc-lesson-text: #4a2931;--tc-lesson-muted: #87626b;--tc-lesson-badge-bg: rgba(255, 255, 255, .76);--tc-lesson-badge-text: #bb495f;--tc-lesson-shadow: rgba(209, 93, 113, .12);--tc-lesson-decor: rgba(209, 93, 113, .08);opacity:.92}.training-center-student-lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-center-student-lesson-time{font-size:20px;line-height:1.1;font-weight:800;color:var(--tc-lesson-accent)}.training-center-student-lesson-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.training-center-student-lesson-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:var(--tc-lesson-badge-bg);color:var(--tc-lesson-badge-text);font-size:12px;font-weight:800;white-space:nowrap}.training-center-student-lesson-chip.status-current{background:color-mix(in srgb,var(--tc-lesson-accent) 14%,var(--dk-bg-ffffff, white))}.training-center-student-lesson-chip.status-completed,.training-center-student-lesson-chip.status-cancelled{background:var(--dk-bg-ffffffa72, rgba(255, 255, 255, .72))}.training-center-student-lesson-title{font-size:18px;line-height:1.28;font-weight:800;color:var(--tc-lesson-text)}.training-center-student-lesson-meta{display:grid;gap:8px;color:var(--tc-lesson-muted);font-size:14px;font-weight:650}.training-center-student-lesson-meta span,.training-center-student-lesson-subline{display:inline-flex;align-items:center;gap:8px}.training-center-student-lesson-subline{color:var(--tc-lesson-muted);font-size:13px;font-weight:700}.training-center-student-lesson-statuses{display:flex;flex-wrap:wrap;gap:8px}.training-center-student-lesson-footer{display:grid;gap:10px;align-items:start}.training-center-student-lesson-footer .btn{justify-self:start;min-height:42px;background:var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82));border-color:#fffc;color:var(--tc-lesson-accent);box-shadow:none}.training-center-student-lesson-footer .btn:hover:not(:disabled){background:var(--dk-bg-ffffffa94, rgba(255, 255, 255, .94));border-color:#ffffffeb}.training-center-student-lesson-footer .hint,.training-center-student-lesson-note{font-size:13px;line-height:1.45;color:var(--tc-lesson-muted);font-weight:650}.training-center-student-lesson-modal{display:grid;gap:16px}.training-center-student-lesson-modal-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-student-lesson-modal-card,.training-center-student-lesson-modal-status{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.training-center-student-lesson-modal-card strong,.training-center-student-lesson-modal-status strong{display:inline-flex;align-items:center;gap:8px}.training-center-student-lesson-modal-statuses{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-student-lesson-modal-section{display:grid;gap:6px}.training-center-student-lesson-modal-section p{margin:0;line-height:1.55}.training-center-student-lesson-modal-actions{display:flex;justify-content:flex-start}.tc-journal-header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.tc-journal-header-controls select,.tc-journal-header-controls .btn{height:40px;box-sizing:border-box}.tc-journal-header-controls select{min-width:180px;max-width:280px;padding-top:0;padding-bottom:0}.tc-journal-group-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.tc-journal-group-tab{padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.tc-journal-group-tab:hover{background:var(--surface-soft);border-color:var(--border-strong)}.tc-journal-group-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tc-journal-schedule-hint{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.tc-journal-schedule-hint-label{margin:0 0 12px;font-size:.875rem;color:var(--text-muted)}.training-center-journal-record-list,.training-center-journal-student-list{display:grid;gap:14px}.training-center-journal-record-card,.training-center-journal-student-card{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.training-center-journal-record-card{display:flex;gap:12px;align-items:stretch;padding:12px}.training-center-journal-record-card.active{border-color:rgba(var(--brand-600-rgb),.28);box-shadow:0 0 0 1px rgba(var(--brand-600-rgb),.08)}.training-center-journal-record-card.disabled{opacity:.74}.training-center-journal-record-main{flex:1;border:0;background:transparent;padding:0;text-align:left;display:grid;gap:10px;cursor:pointer}.training-center-journal-record-main:disabled{cursor:default}.training-center-journal-record-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-center-journal-record-topic{font-size:15px;font-weight:700}.training-center-journal-record-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:13px}.training-center-journal-record-actions{display:flex;align-items:flex-start}.training-center-journal-lesson-panel{display:grid;gap:16px;margin-bottom:18px}.training-center-journal-lesson-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-journal-student-card{display:grid;gap:14px;padding:16px}.training-center-journal-student-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.training-center-journal-chip-block{display:grid;gap:8px}.training-center-journal-chip-label{font-size:13px;font-weight:700;color:var(--muted)}.training-center-journal-chip-row{display:flex;flex-wrap:wrap;gap:8px}.tc-journal-accordion-list{display:grid;gap:10px}.tc-journal-accordion-card{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tc-journal-accordion-card.disabled{opacity:.74}.tc-journal-accordion-card.is-open{border-color:rgba(var(--brand-600-rgb),.28);box-shadow:0 0 0 1px rgba(var(--brand-600-rgb),.06)}.tc-journal-accordion-header{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 16px}.tc-journal-accordion-toggle{flex:1;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:10px 0;text-align:left;cursor:pointer;min-width:0;color:var(--text)}.tc-journal-accordion-toggle:disabled{cursor:default}.tc-journal-accordion-num{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0}.tc-journal-accordion-date{font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0}.tc-journal-accordion-topic-preview{font-size:13px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-journal-accordion-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s;margin-left:auto}.tc-journal-accordion-chevron.rotated{transform:rotate(180deg)}.tc-journal-accordion-body{padding:16px 16px 20px;border-top:1px solid var(--border)}.tc-journal-accordion-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.tc-journal-accordion-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:20px;margin-bottom:10px}.tc-journal-student-table{margin-top:20px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:36px 1fr auto auto;column-gap:16px;align-items:center;overflow:hidden}.tc-journal-student-table-head-cell{background:var(--surface-soft);font-size:12px;font-weight:700;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--border)}.tc-journal-student-table-head-cell:first-child{padding-left:16px}.tc-journal-student-table-head-cell:last-child,.tc-journal-student-cell:nth-child(4n){padding-right:16px}.tc-journal-student-table--simple{grid-template-columns:36px 1fr}.tc-journal-student-table--simple .tc-journal-student-cell:nth-child(4n){padding-right:0}.tc-journal-student-table--simple .tc-journal-student-cell:nth-child(2n){padding-right:16px}.tc-journal-student-table--simple>div:nth-last-child(-n+2){border-bottom:none}.tc-journal-homework-preview{margin-bottom:16px;padding:12px 16px;background:var(--surface-soft);border-radius:10px;border:1px solid var(--border)}.tc-journal-homework-preview-label{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}.tc-journal-homework-preview-text{font-size:14px;color:var(--ink);margin:0;white-space:pre-wrap}.tc-journal-head-center{text-align:right}.tc-journal-student-cell{padding:10px 0;border-bottom:1px solid var(--border);display:flex;align-items:center}.tc-journal-student-cell:first-of-type{padding-left:16px}.tc-journal-student-table>div:nth-last-child(-n+4){border-bottom:none}.tc-journal-cell-avatar{padding-left:16px}.tc-journal-col-sep{padding-left:0;border-left:none}.tc-journal-student-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.tc-journal-student-name{padding-left:10px}.tc-journal-student-name strong{font-size:14px;display:block}.tc-journal-icon-group{display:flex;gap:6px;align-items:center;justify-content:flex-end;background:var(--surface-soft);border-radius:10px;padding:6px 8px;border:1px solid var(--border)}.tc-journal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;position:relative;transition:background .12s,color .12s,border-color .12s}.tc-journal-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20}.tc-journal-icon-btn[data-tooltip]:hover:after{opacity:1}.tc-journal-icon-btn.success{background:#16a34a38;color:var(--dk-fg-15803d, #15803d);border:1.5px solid rgba(22,163,74,.45)}.tc-journal-icon-btn.success.inactive{background:#16a34a21;color:#16a34a8c;border-color:transparent}.tc-journal-icon-btn.success.inactive:hover{background:#16a34a26;color:var(--color-text-success)}.tc-journal-icon-btn.danger{background:#ef444438;color:var(--dk-fg-b91c1c, #b91c1c);border:1.5px solid rgba(239,68,68,.45)}.tc-journal-icon-btn.danger.inactive{background:#ef444421;color:#ef44448c;border-color:transparent}.tc-journal-icon-btn.danger.inactive:hover{background:#ef444426;color:var(--color-text-danger)}.tc-journal-icon-btn.warning{background:#eab30838;color:var(--dk-fg-a16207, #a16207);border:1.5px solid rgba(234,179,8,.45)}.tc-journal-icon-btn.warning.inactive{background:#eab30826;color:#eab308a6;border-color:transparent}.tc-journal-icon-btn.warning.inactive:hover{background:#eab30826;color:var(--color-text-warning)}.tc-journal-icon-btn.secondary{background:#64748b2e;color:var(--dk-fg-334155, #334155);border:1.5px solid rgba(100,116,139,.4)}.tc-journal-icon-btn.secondary.inactive{background:#64748b21;color:#64748b8c;border-color:transparent}.tc-journal-icon-btn.secondary.inactive:hover{background:#64748b26;color:var(--color-text-secondary)}.tc-status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:opacity .12s,background .12s,border-color .12s;line-height:1.4}.tc-status-pill.inactive{background:var(--dk-bg-0f172aa5, rgba(15, 23, 42, .05));color:var(--muted);border-color:var(--border)}.tc-status-pill.inactive:hover{background:var(--surface-soft);border-color:var(--border-strong)}.tc-status-pill.success{background:var(--color-background-success);color:var(--color-text-success);border-color:#22c55e59}.tc-status-pill.warning{background:var(--color-background-warning);color:var(--color-text-warning);border-color:#f59e0b59}.tc-status-pill.danger{background:var(--color-background-danger);color:var(--color-text-danger);border-color:#ef444459}.tc-status-pill.soft{background:var(--color-background-secondary);color:var(--muted);border-color:var(--color-border-tertiary)}@media (max-width: 720px){.tc-journal-student-table-head{display:none}.tc-journal-student-row{grid-template-columns:36px 1fr;row-gap:8px}.tc-journal-icon-group{grid-column:1 / -1;justify-content:flex-start}.tc-journal-col-sep{border-left:none;padding-left:0}}.schedule-day.has-replacement{box-shadow:inset 0 0 0 2px #0ea5e933}.schedule-day.has-group-call{box-shadow:inset 0 0 0 2px #7dd3fc2e}.schedule-day-replacement-dot{width:6px;height:6px;border-radius:999px;background:#0ea5e9;margin:4px 0 2px}.schedule-lesson-card{border-left:4px solid var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;display:grid;gap:6px;position:relative}.schedule-lesson-card.is-clickable{cursor:pointer}.schedule-lesson-card.compact{padding:8px}.schedule-lesson-card.compact.training-center-schedule-preview-card{background:var(--dk-bg-bfdbfe, var(--brand-200));border-color:var(--brand-300);border-left-color:var(--brand-600);box-shadow:0 10px 18px rgba(var(--brand-600-rgb),.12)}.schedule-lesson-card.compact.training-center-schedule-preview-card .schedule-title{color:var(--dk-fg-163a76, #163a76);font-weight:700}.schedule-lesson-card.compact.training-center-schedule-preview-card .muted{color:var(--dk-fg-355081, #355081)}.schedule-lesson-card.subject-color{isolation:isolate;overflow:hidden;background:var(--lesson-bg);border:1px solid var(--lesson-border);color:var(--lesson-text);box-shadow:0 14px 28px var(--lesson-shadow, rgba(15, 23, 42, .1))}.schedule-lesson-card.subject-color:before,.schedule-lesson-card.subject-color:after{content:"";position:absolute;pointer-events:none;z-index:0}.schedule-lesson-card.subject-color:before{right:-34px;bottom:-44px;width:128px;height:128px;border-radius:34px;background:linear-gradient(135deg,var(--lesson-decor),transparent 68%),var(--lesson-pattern);transform:rotate(-14deg)}.schedule-lesson-card.subject-color:after{right:18px;top:14px;width:76px;height:76px;border:12px solid var(--lesson-pattern);border-radius:999px;opacity:.72;transform:rotate(18deg)}.schedule-lesson-card.compact.subject-color{min-height:56px;padding:10px 12px;box-shadow:0 8px 16px var(--lesson-shadow, rgba(15, 23, 42, .08))}.schedule-lesson-card.compact.subject-color:before{right:-30px;bottom:-36px;width:88px;height:88px;border-radius:24px}.schedule-lesson-card.compact.subject-color:after{right:8px;top:8px;width:42px;height:42px;border-width:8px}.schedule-lesson-card.subject-color>*{position:relative;z-index:1}.schedule-lesson-card.subject-color>.student-current-badge{position:absolute;top:14px;right:14px;z-index:4;width:max-content;max-width:calc(100% - 28px);box-sizing:border-box;white-space:nowrap}.schedule-lesson-card.subject-color .schedule-title,.schedule-lesson-card.subject-color .schedule-time{color:var(--lesson-text)}.schedule-lesson-card.subject-color .schedule-title{font-weight:800;line-height:1.24}.schedule-lesson-card.subject-color .muted{color:var(--lesson-muted);font-weight:650}.schedule-lesson-card.subject-color.is-clickable:hover{transform:translateY(-1px);box-shadow:0 18px 32px var(--lesson-shadow, rgba(15, 23, 42, .14))}.schedule-lesson-card.replacement{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;cursor:pointer;border-style:dashed;border-color:#0ea5e966;border-left-color:#0ea5e9;background:#0ea5e914}.schedule-lesson-card.replacement:disabled{opacity:.7;cursor:default}.group-call-detail{display:flex;flex-direction:column;gap:0}.group-call-detail-time{display:flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:18px}.group-call-detail-time svg{color:var(--dk-fg-0ea5e9, #0ea5e9);flex-shrink:0}.group-call-detail-body{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.group-call-detail-row{display:flex;align-items:flex-start;gap:10px}.group-call-detail-row-icon{color:var(--muted);margin-top:1px;flex-shrink:0}.group-call-detail-row-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}.group-call-detail-row-value{font-size:14px;color:var(--ink);line-height:1.4}.group-call-detail-link{font-size:14px;color:var(--accent-strong);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease;line-height:1.4}.group-call-detail-link:hover{border-bottom-color:var(--accent-strong)}.group-call-detail-cta{margin-bottom:16px}.btn.group-call-join-btn{width:100%;justify-content:center;gap:7px;padding:10px 20px;font-size:14px;font-weight:600}.group-call-detail-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border)}.btn.btn-outline-danger{background:none;border:1px solid rgba(239,68,68,.3);color:#ef4444;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer;font-weight:500}.btn.btn-outline-danger:hover:not(:disabled){background:#ef44440f;border-color:#ef444480}.btn.btn-outline-danger:disabled{opacity:.5;cursor:default}.modal-card.day-details-narrow{width:min(460px,100%)}.day-details-header{margin-bottom:4px}.day-details-date{font-size:22px;font-weight:800;line-height:1.15;color:var(--ink);font-family:Montserrat,sans-serif}.day-details-weekday{font-size:13px;font-weight:500;color:var(--ink-muted, #64748b);margin-top:2px}.day-details-subtitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong, var(--brand2-500));margin-top:8px}.day-lesson-card{display:flex;align-items:center;gap:12px;border-left:4px solid var(--accent);background:var(--surface);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:12px;padding:12px 14px;width:100%;text-align:left;color:inherit;cursor:default;transition:box-shadow .15s,background .15s}.day-lesson-card--clickable{cursor:pointer}.day-lesson-card--clickable:hover{background:var(--sidebar-item-hover, #f8fafc);box-shadow:0 2px 12px #0f172a12}.day-lesson-time-col{min-width:72px;flex-shrink:0}.day-lesson-time{font-size:14px;font-weight:800;line-height:1.2;color:var(--ink);white-space:nowrap}.day-lesson-duration{font-size:11px;color:var(--ink-muted, #94a3b8);margin-top:2px}.day-lesson-icon-col{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.day-lesson-info-col{flex:1;min-width:0}.day-lesson-subject{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-lesson-type{font-size:11px;color:var(--ink-muted, #94a3b8);margin-top:2px}.day-lesson-badges-col{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.day-lesson-class-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#94a3b826;color:var(--ink);white-space:nowrap}.day-lesson-status-badge{white-space:nowrap}.day-lesson-status-badge.scheduled{background:#22c55e26;color:var(--dk-fg-166534, #166534)}.day-lesson-status-badge.cancelled{background:#ef44441f;color:var(--dk-fg-991b1b, #991b1b)}.day-lesson-status-badge.moved,.day-lesson-status-badge.moved_replacement{background:#eab30826;color:var(--dk-fg-854d0e, #854d0e)}[data-theme=dark] .day-lesson-status-badge.scheduled{background:#22c55e33;color:#86efac}[data-theme=dark] .day-lesson-status-badge.cancelled{background:#ef444433;color:#fca5a5}[data-theme=dark] .day-lesson-status-badge.moved,[data-theme=dark] .day-lesson-status-badge.moved_replacement{background:#eab30833;color:#fde68a}.schedule-replacements{display:grid;gap:8px;margin-bottom:12px}.schedule-replacements-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong)}.schedule-replacements-list{display:grid;gap:8px}.schedule-lesson-card.is-conflict{border-color:#f97316;background:var(--dk-bg-ffedd5a60, rgba(255, 237, 213, .6))}.schedule-lesson-card .schedule-tooltip{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow);display:none;min-width:180px}.schedule-lesson-card:hover .schedule-tooltip{display:block}.schedule-time{font-weight:700;font-size:12px}.schedule-title{font-weight:600}.schedule-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;font-size:11px;padding:2px 8px;border-radius:999px;background:#94a3b833;color:var(--ink);font-weight:500}.badge.soft{background:rgba(var(--brand-600-rgb),.1);color:var(--accent-strong)}.badge.success{background:#16a34a24;color:var(--dk-fg-15803d, #15803d)}.badge.danger{background:#ef444426;color:var(--warning)}.badge.cancelled{background:#94a3b833;color:var(--muted)}.badge.moved{background:#38bdf82e;color:var(--accent-strong)}.badge.moved_replacement{background:#16a34a24;color:var(--dk-fg-15803d, #15803d)}.icon-btn{height:32px;width:32px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.btn.ghost.setup-delete-icon-btn{color:var(--color-text-danger);border-color:#ef444438}.btn.ghost.setup-delete-icon-btn:hover{color:var(--dk-fg-9f1239, #9f1239);background:#ef444414;border-color:#ef444447}.setup-search-clear{background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .16s ease}.setup-search-clear:hover{color:var(--text)}.setup-search-clear:active{color:var(--accent-strong)}.schedule-editor{display:grid;gap:16px}.schedule-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-editor-actions{display:flex;justify-content:flex-end;gap:8px}.schedule-time-panel{grid-column:1 / -1;padding:14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 82%,var(--accent-soft) 18%)}.schedule-time-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.schedule-time-panel-header label{margin:0}.schedule-time-mode{display:grid;gap:8px}.schedule-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.schedule-slot-chip{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease,box-shadow .14s ease}.schedule-slot-chip:hover{border-color:color-mix(in srgb,var(--accent-strong) 40%,var(--border));background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface));transform:translateY(-1px)}.schedule-slot-chip.is-selected{border-color:var(--accent-strong);background:color-mix(in srgb,var(--accent-soft) 58%,var(--dk-bg-ffffff, white));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 18%,transparent)}.schedule-slot-chip-index{font-size:12px;font-weight:700;color:var(--muted)}.schedule-slot-chip-time{font-size:14px;font-weight:700;color:var(--ink)}.schedule-time-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.schedule-time-status-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.schedule-call-users{display:grid;gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.schedule-call-users-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.schedule-call-users-header label{margin:0}.schedule-call-users-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-call-user-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;width:100%;font-weight:600}.schedule-call-user-row input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.schedule-call-user-label{min-width:0;line-height:1.35;word-break:break-word}.schedule-call-manage{display:grid;gap:10px;padding-top:6px;border-top:1px solid var(--border)}.schedule-call-manage-title{font-size:13px;font-weight:700;color:var(--ink)}.schedule-material-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.schedule-week-agenda{margin-top:16px;display:grid;gap:12px}.schedule-week-title{font-weight:700;color:var(--ink)}.schedule-week-list{display:grid;gap:12px}.schedule-week-day{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:8px}.schedule-week-day-label{font-weight:700;font-size:12px;color:var(--muted)}.schedule-day-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px}.schedule-day-agenda{display:grid;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:5000;padding:20px;overflow:hidden}[data-theme=dark] .modal-backdrop{background:#04081099}.modal-card{position:relative;width:min(920px,100%);max-height:90vh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-card:hover{background:var(--surface);box-shadow:var(--shadow)}.modal-card.library-picker-modal{width:min(880px,100%);height:min(820px,88vh);max-height:88vh;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:24px;border-radius:20px;border:1px solid var(--dk-bd-e2e8f0, #e2e8f0);box-shadow:0 24px 60px #0f172a2e}.library-picker-modal .modal-title{margin-bottom:0;padding-right:52px}.library-picker-modal .modal-close-btn{top:22px;right:22px;width:44px;height:44px;border-radius:12px}.library-picker-header{display:flex;align-items:center;gap:16px;min-width:0}.library-picker-header-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:rgba(var(--brand-600-rgb),.1);color:var(--brand-600)}.library-picker-header-text{min-width:0}.library-picker-title{margin:0;font-size:22px;line-height:1.25;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.library-picker-subtitle{margin:2px 0 0;font-family:var(--font-body, inherit);font-size:14.5px;font-weight:400;color:var(--muted)}.library-picker-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.library-picker-search{flex:1 1 100%}.library-picker-subject{flex:0 1 280px}.library-picker-owner{margin-left:auto}.library-picker-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.library-picker-loading{display:flex;justify-content:center;padding:48px 0}.library-picker-hint{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;border-radius:12px;background:rgba(var(--brand-600-rgb),.07);color:var(--ink);font-size:14px}.library-picker-hint svg{flex:0 0 auto;color:var(--brand-600)}.library-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border)}@media (max-width: 1023px){.modal-card.library-picker-modal{padding:20px}}@media (max-width: 767px){.modal-backdrop:has(>.library-picker-modal){padding:0;align-items:stretch}.modal-card.library-picker-modal{width:100%;height:100%;max-height:none;padding:16px 14px calc(14px + env(safe-area-inset-bottom));gap:12px;border:0;border-radius:0}.library-picker-modal .modal-close-btn{top:14px;right:12px}.library-picker-header{gap:12px}.library-picker-header-icon{width:44px;height:44px;border-radius:12px}.library-picker-header-icon svg{width:22px;height:22px}.library-picker-title{font-size:18px}.library-picker-subtitle{font-size:13.5px}.library-picker-subject{flex:1 1 100%}.library-picker-owner{flex:1 1 100%;margin-left:0}.library-picker-owner button{flex:1 1 0;min-height:40px}.library-picker-hint{padding:10px 12px;font-size:13px}.library-picker-footer{padding-bottom:env(safe-area-inset-bottom)}}[data-theme=dark] .modal-card.library-picker-modal{border-color:var(--border)}.modal-card.substitution-request-modal{display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;overflow-x:visible}.modal-card.group-call-modal{display:flex;flex-direction:column;max-height:90vh;overflow:visible}.modal-card.subject-edit-modal{width:min(1120px,100%);max-height:calc(100vh - 32px)}.subject-edit-modal .multi-list{max-height:min(52vh,520px)}.substitution-request-modal .modal-title{flex-shrink:0}.modal-card.teacher-sub-create-modal{width:min(860px,100%)}.teacher-sub-create-modal .form-grid{overflow:visible;padding-bottom:8px}.group-call-modal .modal-title{flex-shrink:0}.substitution-request-modal-body,.group-call-modal-body{max-height:calc(90vh - 88px);overflow-y:auto;overflow-x:visible;padding-right:4px}.modal-card.sub-offer-modal{width:min(700px,100%);display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.sub-offer-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.sub-offer-subtitle{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--ink)}.sub-offer-list{display:flex;flex-direction:column;gap:6px}.sub-offer-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);cursor:pointer;transition:background .15s,border-color .15s;background:var(--surface);min-width:0}.sub-offer-item:hover{background:rgba(var(--brand2-500-rgb),.05);border-color:rgba(var(--brand2-500-rgb),.25)}.sub-offer-item.is-checked{background:rgba(var(--brand2-500-rgb),.07);border-color:rgba(var(--brand2-500-rgb),.35)}.sub-offer-checkbox{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--primary, var(--brand2-500))}.sub-offer-content{flex:1;min-width:0}.sub-offer-title{font-size:14px;font-weight:600;color:var(--ink);word-break:break-word;margin-bottom:3px}.sub-offer-meta{font-size:13px;color:var(--muted);word-break:break-word}.sub-offer-note-section{margin-top:16px}.sub-offer-note-label{font-size:13px;font-weight:500;display:block;margin-bottom:6px}.sub-offer-textarea{width:100%;box-sizing:border-box}.sub-offer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border);flex-shrink:0}.sub-offer-count{font-size:14px;color:var(--muted);font-weight:500;white-space:nowrap}.sub-offer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.sub-offer-item.has-conflict{border-color:#ef44444d;background:#ef44440a}.sub-offer-item.has-conflict:hover{background:#ef444412}.sub-offer-conflict-badge{display:inline-block;margin-top:5px;font-size:12px;font-weight:600;color:#dc2626;background:#ef44441a;border-radius:5px;padding:2px 8px}.sub-offer-empty{text-align:center;padding:32px 16px}.sub-offer-empty-icon{font-size:36px;margin-bottom:12px}.sub-offer-empty-title{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--ink)}.sub-offer-empty-desc{font-size:14px;color:var(--muted)}@media (max-width: 600px){.sub-offer-footer{flex-direction:column;align-items:stretch;gap:10px}.sub-offer-actions{justify-content:flex-end}}.modal-title{font-family:Montserrat,sans-serif;font-size:20px;font-weight:700;margin-bottom:12px;padding-right:40px}.modal-close-btn{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;z-index:1}.modal-close-btn:hover{background:var(--sidebar-item-hover)}.mobile-bottom-nav{display:none}.mobile-more-modal{width:min(560px,100%)}.mobile-more-list{display:grid;gap:10px}.mobile-more-footer{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.mobile-more-theme{background:transparent;padding:0}.mobile-more-theme:hover{background:transparent}@media (max-width: 1100px){.schedule-week{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day-layout{grid-template-columns:1fr}}@media (max-width: 700px){.schedule-week{grid-template-columns:1fr}.training-center-schedule-month .schedule-day{min-height:0}.training-center-student-week-board{grid-template-columns:1fr}.training-center-student-day-card{min-height:0}.training-center-student-lesson-card{padding:18px}.training-center-student-lesson-top{flex-direction:column;align-items:stretch}.training-center-student-lesson-badges{justify-content:flex-start}.training-center-student-lesson-time{font-size:22px}.training-center-student-lesson-modal-grid,.training-center-student-lesson-modal-statuses,.training-center-journal-lesson-grid{grid-template-columns:1fr}.training-center-journal-record-card{flex-direction:column}.schedule-toolbar{flex-direction:column;align-items:flex-start}.schedule-actions{width:100%;justify-content:space-between}}.filter-group{display:flex;gap:6px;align-items:flex-start;flex-direction:column;flex:0 0 auto}.filter-search-row{display:flex}.filter-controls-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-controls-row .filter-group{min-width:200px;flex:1 1 200px}.filter-controls-row select,.filter-search-row .filter-group,.filter-search-row .filter-input{width:100%}.filter-group-actions{align-self:flex-end;flex:0 0 auto}.filter-group-block{flex-direction:column;align-items:flex-start;gap:6px;min-width:260px;padding:6px 8px;border-radius:10px;background:var(--accent-soft)}.filter-label{font-weight:700;font-size:13px;color:var(--ink)}.filter-input{width:100%}.filter-help{font-size:12px;color:var(--muted)}.chip{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface);font-weight:600;font-size:13px;transition:background .2s ease,border .2s ease,box-shadow .2s ease}.chip:hover{background:var(--accent-soft);border-color:rgba(var(--brand-600-rgb),.25)}.chip.is-active,.chip.active{background:var(--accent-soft);border-color:rgba(var(--brand-600-rgb),.45);box-shadow:0 6px 16px #0f172a0f}.filter-tab{border:none;border-radius:10px;padding:8px 14px;background:var(--sidebar-item-bg);font-size:13px;font-weight:600;color:inherit;cursor:pointer;transition:background .18s ease,color .18s ease;white-space:nowrap}.filter-tab:hover{background:var(--sidebar-item-hover)}.filter-tab.is-active{background:var(--sidebar-item-active);color:var(--accent-strong)}.finance-chip-row{margin-top:12px;margin-bottom:16px;gap:12px}.finance-chip-row .chip{min-height:38px;padding:9px 16px;font-size:14px;border-radius:12px}.chip.setup-weekday-chip{background:transparent}.chip.setup-weekday-chip:hover{background:transparent;border-color:rgba(var(--brand-600-rgb),.45);box-shadow:none}.chip.setup-weekday-chip.active,.chip.setup-weekday-chip.active:hover{background:var(--accent-soft);border-color:rgba(var(--brand-600-rgb),.7);box-shadow:none}@media (max-width: 900px){.filter-row{position:static}.filter-controls-row{flex-direction:column;align-items:stretch}.finance-chip-row .chip{min-height:34px;padding:8px 14px;font-size:13px}}.pagination{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:16px}.empty-state{display:grid;gap:8px;justify-items:center;text-align:center;color:var(--muted);padding:24px 0}.empty-state-card{margin-top:12px;padding:28px 20px;border:1px dashed var(--border);background:var(--surface-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.empty-state-icon{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);background:var(--surface)}.empty-state-icon.empty-state-icon-success{color:var(--dk-fg-059669, #059669);border-color:#05966947;background:var(--dk-bg-ecfdf5a95, rgba(236, 253, 245, .95))}.empty-state-card.empty-state-card-success{border-color:#05966938}.empty-state-title{font-size:20px;font-weight:700;color:var(--text)}.empty-state-description{max-width:560px;color:var(--muted)}.empty-state-action{width:100%;display:flex;justify-content:center;margin-top:8px}.empty-state-icon.chat-empty-state-illustration{width:min(220px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.empty-state-icon.chat-empty-state-illustration img{display:block;width:100%;height:auto;object-fit:contain}.empty-state-icon.journal-empty-state-illustration{width:min(240px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.empty-state-icon.journal-empty-state-illustration img{display:block;width:100%;height:auto;object-fit:contain}.teacher-dashboard-empty-compact .empty-state-icon.teacher-empty-schedule-illustration{width:min(260px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.teacher-dashboard-empty-compact .empty-state-icon.teacher-empty-schedule-illustration img{display:block;width:100%;height:auto;object-fit:contain}.empty-state-icon.hw-revision-illustration{width:200px;height:200px;border:0;background:transparent;border-radius:0;margin:0 auto -24px}.empty-state-icon.hw-revision-illustration img{display:block;width:100%;height:100%;object-fit:contain}.card.empty-state-card.empty-state-flat{border:none;box-shadow:none;background:transparent;margin-top:0}.card.empty-state-card.empty-state-flat:hover{background:transparent;box-shadow:none}.empty-state-icon.subjects-empty-mascot{width:auto;height:auto;border:none;border-radius:0;background:transparent;margin-bottom:-6px}.empty-state-icon.subjects-empty-mascot img{width:220px;height:auto;display:block}.teacher-dash-welcome{margin-bottom:2px}.teacher-dash-breadcrumb{display:block;font-size:13px;color:var(--muted);font-weight:500;margin-bottom:6px}.teacher-dash-greeting{font-size:26px;font-weight:800;color:var(--ink);margin:0;font-family:Montserrat,sans-serif;letter-spacing:-.01em;line-height:1.2}.teacher-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.teacher-dash-stat-card{display:flex;align-items:center;gap:16px;padding:18px 20px}.teacher-dash-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-dash-stat-icon--week{background:var(--accent-soft, var(--brand-100));color:var(--accent, var(--brand-600))}.teacher-dash-stat-icon--today{background:#22c55e1f;color:var(--dk-fg-15803d, #15803d)}.teacher-dash-stat-icon--now{background:#f59e0b24;color:var(--dk-fg-b45309, #b45309)}.teacher-dash-stat-body{display:flex;flex-direction:column;gap:0;min-width:0}.teacher-dash-stat-label{font-size:13px;color:var(--muted);font-weight:500}.teacher-dash-stat-value{font-size:32px;font-weight:800;color:var(--ink);line-height:1.05;margin:4px 0 2px;font-family:Montserrat,sans-serif}.teacher-dash-stat-desc{font-size:12px;color:var(--muted)}.teacher-today-list{display:flex;flex-direction:column;overflow-y:auto;max-height:340px;padding-right:2px}.teacher-today-lesson{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.teacher-today-lesson:last-child{border-bottom:none;padding-bottom:0}.teacher-today-lesson:first-child{padding-top:0}.teacher-today-lesson.is-past{filter:saturate(.55) brightness(.96)}.teacher-today-lesson-time{flex-shrink:0;width:78px;font-size:12px;font-weight:700;color:var(--accent, var(--brand-600));background:var(--accent-soft, var(--brand-100));border-radius:8px;padding:6px 8px;text-align:center;line-height:1.5}.teacher-today-lesson-time.is-past{background:#47546714;color:var(--muted)}.teacher-today-lesson-body{flex:1;min-width:0}.teacher-today-lesson-title{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-today-lesson-class{font-size:13px;color:var(--muted);margin-top:2px}.teacher-week-day.is-today{border-color:rgba(var(--brand-600-rgb),.28);background:rgba(var(--brand-100-rgb),.18)}.teacher-week-day.is-today .teacher-week-day-label{color:var(--accent, var(--brand-600))}@media (max-width: 960px){.teacher-dash-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.teacher-dash-stats{grid-template-columns:repeat(3,1fr);gap:8px}.teacher-dash-stat-card{flex-direction:column;align-items:flex-start;padding:12px;gap:7px}.teacher-dash-stat-icon{width:34px;height:34px;border-radius:9px}.teacher-dash-stat-icon svg{width:16px;height:16px}.teacher-dash-stat-value{font-size:20px;margin:1px 0}.teacher-dash-stat-label{font-size:10px;line-height:1.3}.teacher-dash-stat-desc{font-size:10px}.teacher-dash-greeting{font-size:18px}.teacher-dashboard-section-head>div>.muted{display:none}.teacher-dashboard-section-head{padding-bottom:12px;margin-bottom:12px}.teacher-today-list{max-height:260px}}.sub-section-header{display:flex;align-items:center;gap:8px}.sub-section-title{font-size:15px;font-weight:700;color:var(--ink);margin:0}.sub-section-desc{font-size:13px;color:var(--muted);margin-top:3px;margin-bottom:14px}.sub-date-badge{flex-shrink:0;width:50px;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent-soft, var(--brand-100));border-radius:8px;padding:6px 4px;line-height:1.2;gap:1px}.sub-date-badge-wd{font-size:10px;font-weight:700;color:var(--accent, var(--brand-600));text-transform:uppercase;letter-spacing:.04em}.sub-date-badge-day{font-size:22px;font-weight:800;color:var(--ink, #101828);line-height:1}.sub-date-badge-mo{font-size:10px;font-weight:600;color:var(--muted, #475467);text-transform:uppercase;letter-spacing:.03em}.sub-open-card{border:1px solid var(--border);border-radius:var(--radius, 10px);background:var(--surface);overflow:hidden}.sub-open-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}.sub-open-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sub-open-card-title h3{font-size:14px;font-weight:700;color:var(--ink);margin:0}.sub-open-items{display:flex;flex-direction:column}.sub-open-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.sub-open-item:last-child{border-bottom:none}.sub-open-item-body{flex:1;min-width:0}.sub-open-item-main{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}.sub-open-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:13px;color:var(--muted)}.sub-reason-badge{flex-shrink:0;align-self:flex-start;margin-top:4px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--color-text-warning, #b45309);background:var(--color-background-warning, rgba(245, 158, 11, .14));border-radius:6px;padding:3px 9px;white-space:nowrap}.sub-my-card{border:1px solid var(--border);border-radius:var(--radius, 10px);background:var(--surface)}.sub-my-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 10px;flex-wrap:wrap}.sub-my-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sub-my-card-type{font-size:14px;font-weight:700;color:var(--ink)}.sub-my-items{padding:0 16px 10px;display:flex;flex-direction:column;gap:4px}.sub-my-item{display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink);padding:2px 0}.sub-my-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px 12px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.sub-my-assigned{color:var(--color-text-success, #15803d);font-weight:600}.sub-filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.sub-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.sub-filter-tab:hover{background:var(--accent-soft, var(--brand-100));border-color:rgba(var(--brand-600-rgb),.25)}.sub-filter-tab.active{background:var(--accent, var(--brand-600));border-color:var(--accent, var(--brand-600));color:#fff}.sub-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--accent-soft, var(--brand-100));color:var(--accent, var(--brand-600));font-size:11px;font-weight:700;line-height:1}.sub-filter-tab.active .sub-tab-count{background:#ffffff40;color:#fff}@media (max-width: 640px){.sub-open-card-header{flex-direction:column;align-items:flex-start}.sub-open-card-header>:last-child{width:100%}.sub-open-card-header>:last-child>button{width:100%}}.my-req-section{display:flex;flex-direction:column;gap:16px}.my-req-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.my-req-page-title{font-size:20px;font-weight:700;color:var(--fg);margin:0 0 3px}.my-req-page-subtitle{font-size:13px;color:var(--muted);margin:0}.my-req-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.my-req-tabs{display:flex;gap:4px;flex-wrap:wrap}.my-req-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.my-req-tab:hover{background:var(--surface, rgba(0, 0, 0, .04));color:var(--fg)}.my-req-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.my-req-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--dk-bg-000000a10, rgba(0, 0, 0, .1));font-size:11px;font-weight:600}.my-req-tab.active .my-req-tab-count{background:#ffffff40}.my-req-sort select{font-size:13px;padding:6px 10px;height:36px;border-radius:8px;border:1px solid var(--card-border);background:var(--surface);color:var(--fg);cursor:pointer}.my-req-layout{display:grid;grid-template-columns:196px minmax(0,1fr);gap:20px;align-items:start}.my-req-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:20px}.my-req-sidebar-panel{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);border:1px solid var(--card-border)}.my-req-sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}.my-req-legend{display:flex;flex-direction:column;gap:8px}.my-req-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg)}.my-req-stats{display:flex;flex-direction:column;gap:8px}.my-req-stats-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.my-req-stats-label{color:var(--muted)}.my-req-stats-value{font-weight:600;color:var(--fg)}.my-req-content{display:flex;flex-direction:column;min-height:80px}.my-req-cards{display:flex;flex-direction:column;gap:10px}.req-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--card-border);overflow:hidden}.req-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--card-border);gap:12px}.req-card-header-left,.req-card-header-right{display:flex;align-items:center;gap:8px}.req-card-type{font-size:13px;font-weight:600;color:var(--fg)}.req-card-date{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.req-card-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.req-card-lessons{padding:14px 16px;border-right:1px solid var(--card-border)}.req-card-meta{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.req-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.req-lessons-list{display:flex;flex-direction:column;gap:7px}.req-lesson-row{display:flex;align-items:flex-start;gap:8px}.req-lesson-icon{color:var(--muted);flex-shrink:0;margin-top:2px}.req-lesson-info{display:flex;flex-direction:column;gap:1px}.req-lesson-name{font-size:13px;font-weight:500;color:var(--fg)}.req-lesson-detail{font-size:12px;color:var(--muted)}.req-show-details{margin-top:8px;background:none;border:none;font-size:12px;color:var(--accent);cursor:pointer;padding:0;font-weight:500}.req-show-details:hover{text-decoration:underline}.req-meta-block{display:flex;flex-direction:column;gap:4px}.req-meta-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.req-meta-value{font-size:13px;color:var(--fg)}.req-meta-teachers{display:flex;flex-direction:column;gap:4px}.req-meta-teacher{font-size:13px;color:var(--fg);display:flex;align-items:center;gap:4px}.req-meta-teacher-date{color:var(--muted);font-size:12px}.req-status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap}.req-status.approved{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-166534, #166534)}.req-status.pending{background:var(--dk-bg-fef3c7, #fef3c7);color:var(--dk-fg-92400e, #92400e)}.req-status.cancelled{background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-6b7280, #6b7280)}.req-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.req-status-dot.approved{background:#16a34a}.req-status-dot.pending{background:#d97706}.req-status-dot.cancelled{background:#9ca3af}.req-menu{position:relative}.req-menu-btn{background:none;border:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:6px;display:flex;align-items:center}.req-menu-btn:hover{background:var(--surface, rgba(0, 0, 0, .06));color:var(--fg)}.req-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 4px 16px #0000001a;min-width:160px;z-index:10;overflow:hidden}.req-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 14px;font-size:13px;cursor:pointer;color:var(--fg)}.req-menu-item:hover{background:var(--surface, rgba(0, 0, 0, .04))}.req-menu-item.danger{color:var(--color-danger, #dc2626)}.req-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 24px;gap:8px}.req-empty-icon{color:var(--muted);margin-bottom:4px}.req-empty-title{font-size:15px;font-weight:600;color:var(--fg)}.req-empty-desc{font-size:13px;color:var(--muted);margin-bottom:6px}.req-empty-state .btn{align-self:center}@media (max-width: 900px){.my-req-layout{grid-template-columns:1fr}.my-req-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.my-req-sidebar-panel{flex:1;min-width:140px}}@media (max-width: 640px){.my-req-tabs-row{flex-direction:column;align-items:flex-start}.req-card-body{grid-template-columns:1fr}.req-card-lessons{border-right:none;border-bottom:1px solid var(--card-border)}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--page)}.not-found-card{width:min(1180px,100%);padding:32px}.not-found-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:28px}.not-found-illustration-wrap{display:flex;justify-content:center;align-items:center}.not-found-illustration{width:min(100%,640px);height:auto;display:block;object-fit:contain}.not-found-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.not-found-code{font-size:clamp(88px,16vw,220px);line-height:.9;font-weight:800;color:var(--text)}.not-found-description{max-width:420px;margin:0;font-size:18px;line-height:1.55;color:var(--muted)}.not-found-actions{display:flex;align-items:center;gap:12px;padding-top:4px}@media (max-width: 900px){.not-found-card{padding:24px 20px}.not-found-layout{grid-template-columns:1fr;gap:20px}.not-found-copy{align-items:center;text-align:center}.not-found-description{max-width:560px}}.profile-school-hero{min-height:150px;display:flex;align-items:center;background-position:center;background-size:cover}.profile-school-hero.has-cover{color:#fff}.profile-school-hero:hover{background:var(--surface);box-shadow:var(--shadow)}.profile-school-hero.has-cover .muted,.profile-school-hero.has-cover .profile-school-copy span{color:#ffffffd1}.profile-school-hero-main{display:flex;align-items:center;gap:18px;min-width:0}.profile-school-avatar{width:86px;height:86px;flex:0 0 auto;overflow:hidden;border-radius:8px;border:3px solid rgba(255,255,255,.88);background:var(--dk-bg-ffffff, #fff);box-shadow:0 14px 32px #0f172a2e}.profile-school-avatar img{width:100%;height:100%;object-fit:cover}.profile-school-copy{display:grid;gap:6px;min-width:0}.profile-school-copy span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.profile-school-copy h1{margin:0;overflow-wrap:anywhere}.profile-school-copy p{margin:0}@media (max-width: 640px){.profile-school-hero{min-height:180px;align-items:flex-end}.profile-school-hero-main{align-items:flex-start;flex-direction:column}.profile-school-avatar{width:72px;height:72px}.profile-avatar{flex-direction:column;align-items:center;gap:14px;padding:16px}.avatar-preview{width:88px;height:88px}.profile-avatar .stack{width:100%;gap:8px}.profile-avatar .stack .btn{width:100%;justify-content:center}}.profile-avatar{display:flex;gap:16px;align-items:center;padding:12px;border-radius:12px;background:var(--dk-bg-ffffffa70, rgba(255, 255, 255, .7));border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08))}.avatar-preview{width:96px;height:96px;border-radius:16px;overflow:hidden;background:var(--dk-bg-e2eefaa60, rgba(var(--tint-item-rgb), .6));display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:600}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{text-align:center}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:12px;background:var(--dk-bg-e2eefaa65, rgba(var(--tint-item-rgb), .65))}.sidebar-profile-platform{background:var(--dk-bg-d7e7ffa92, rgba(var(--tint-strong-rgb), .92));border:1px solid rgba(var(--brand-600-rgb),.16)}.sidebar-avatar{width:36px;height:36px;border-radius:10px;overflow:hidden;background:var(--dk-bg-ffffffa80, rgba(255, 255, 255, .8));display:grid;place-items:center;color:var(--muted)}.sidebar-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-profile-info{display:grid;gap:2px}.sidebar-profile-name{font-weight:700;font-size:13px;color:var(--ink)}.sidebar-profile-role{font-size:12px;color:var(--muted)}.sidebar-profile-email{font-size:12px;color:var(--accent-strong);word-break:break-word}.sidebar-profile-class{font-size:12px;color:var(--accent-strong);font-weight:600}.account-dropdown{position:relative;margin:6px 0 10px}.account-dropdown-footer{width:100%;margin:0}.account-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82));color:var(--ink);font:inherit;cursor:pointer}.account-dropdown-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:4000;display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.account-dropdown-menu-footer{position:fixed;left:calc(var(--sidebar-width) + 8px);right:auto;top:auto;bottom:18px;min-width:min(360px,calc(100vw - 48px))}.account-dropdown-current{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(var(--brand-600-rgb),.18);border-radius:12px;background:linear-gradient(180deg,var(--dk-bg-dbeafea62, rgba(var(--brand-100-rgb), .62)),var(--dk-bg-ffffffa92, rgba(255, 255, 255, .92)))}.account-dropdown-section-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong)}.account-dropdown-current-name{font-weight:800;color:var(--ink)}.account-dropdown-current-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);text-align:left;cursor:pointer}.account-dropdown-item.is-active{border-color:rgba(var(--brand-600-rgb),.34);background:linear-gradient(180deg,var(--dk-bg-dbeafea62, rgba(var(--brand-100-rgb), .62)),var(--dk-bg-ffffffa92, rgba(255, 255, 255, .92)));box-shadow:inset 0 0 0 1px rgba(var(--brand-600-rgb),.08)}.account-dropdown-main{min-width:0;display:grid;gap:4px}.account-dropdown-name{font-weight:700;color:var(--ink)}.account-dropdown-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-dropdown-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.mobile-account-list{display:grid;gap:8px;margin-top:4px}.mobile-more-group{display:grid;gap:8px}.mobile-more-group-title{margin:6px 0 0}.mobile-more-group-list{display:grid;gap:8px}.mobile-account-item{width:100%;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--dk-bg-ffffffa82, rgba(255, 255, 255, .82));text-align:left}.mobile-account-item.is-active{border-color:rgba(var(--brand-600-rgb),.24);background:rgba(var(--brand-100-rgb),.48)}.mobile-account-name{font-weight:700;color:var(--ink)}.mobile-account-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-switch-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.account-switch-card.is-active{border-color:rgba(var(--brand-600-rgb),.24);background:rgba(var(--brand-100-rgb),.48)}.account-switch-main{min-width:0;display:grid;gap:4px}.account-switch-name{font-weight:700;color:var(--ink)}.account-switch-meta{font-size:12px;color:var(--muted);word-break:break-word}.app-layout.sidebar-collapsed .sidebar-profile{justify-content:center;padding:10px 0}.app-layout.sidebar-collapsed .sidebar-profile-info{display:none}.comment-block{margin-top:12px;padding-top:4px}.comment-block .btn{margin-top:8px}.material-items{display:grid;gap:0;padding-right:4px}.material-item{background:var(--dk-bg-ffffffa92, rgba(255, 255, 255, .92))}.material-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:0}.material-tabs .chip{border:1px solid var(--dk-bd-101828a12, rgba(16, 24, 40, .12));border-bottom:0;background:rgba(var(--tint-item-rgb),.5);border-radius:8px 8px 0 0;padding:12px 18px;font-size:15px;position:relative}.material-tabs .chip.is-active{background:rgba(var(--brand-600-rgb),.16);border-color:rgba(var(--brand-600-rgb),.25);color:var(--accent-strong);box-shadow:none}.material-tabs .chip:hover{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.25)}.material-items:hover .material-tabs .chip.is-active{background:rgba(var(--brand-600-rgb),.16);border-color:rgba(var(--brand-600-rgb),.25)}.material-item{border-top-left-radius:0;border-top-right-radius:6px;border-color:var(--dk-bd-101828a14, rgba(16, 24, 40, .14));margin-top:-1px;border-top:0}.material-items .card.material-item{margin-top:0;border-top-width:1px}.materials-section{margin-top:12px}.homework-materials-head,.homework-flat-materials-head{align-items:flex-start;padding-top:4px}.homework-materials-empty{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed rgba(var(--brand-600-rgb),.28);border-radius:8px;background:var(--dk-bg-eff6ffa62, rgba(var(--brand-50-rgb), .62))}.homework-flat-material-list{display:grid;gap:12px}.homework-flat-material-item{display:grid;gap:12px;padding:14px;border:1px solid rgba(var(--brand-600-rgb),.35);border-radius:8px;background:var(--dk-bg-ffffff, #fff)}.homework-flat-material-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.add-file-btn{margin-top:8px}.publish-mode-grid{flex-wrap:wrap}.publish-mode-grid .attachment-kind-btn{padding:10px 16px;font-size:14px;min-height:38px;min-width:140px;white-space:nowrap}.add-material-btn{margin-bottom:8px}.alert{padding:10px 12px;border-radius:12px;background:#dc26261a;color:var(--warning);font-weight:600;font-size:13px}.table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border);background:var(--table-bg);max-width:100%;-webkit-overflow-scrolling:touch}.permissions-grid{display:grid;gap:8px;margin:12px 0}.permission-option{align-items:start}.permission-option-copy{display:grid;gap:2px;min-width:0}.permission-option-copy span{overflow-wrap:break-word;word-break:normal}.permissions-grid .checkbox-row span{min-width:0;overflow-wrap:break-word;word-break:normal}.permissions-grid .checkbox-row .muted{grid-column:2}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.form-actions .btn{min-height:40px}.form-actions.center{justify-content:center}.table-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.table th.table-actions-heading{text-align:right;width:1%;white-space:nowrap}.course-detail-heading{display:flex;align-items:flex-start;gap:12px}.table-actions .btn{display:inline-flex;align-items:center;gap:6px}.grouped-actions{flex-wrap:wrap;gap:10px}.table-action-group{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.table-action-group .btn{min-height:34px;padding:7px 10px}.payment-action-stack{display:grid;gap:6px;justify-content:end;justify-items:end;min-width:0}.payment-action-primary-row{display:grid;gap:6px;justify-items:end;min-width:148px}.payment-action-primary-row .btn,.payment-action-history{width:100%;justify-content:center;min-height:34px;padding:7px 10px;white-space:nowrap}.payment-action-history{min-height:32px;justify-self:stretch}.training-center-payments-table-wrap{width:100%;max-width:100%;overflow-x:scroll;overflow-y:visible;-webkit-overflow-scrolling:touch}.training-center-payments-table{width:max-content;min-width:1480px;table-layout:auto}.training-center-payments-table th,.training-center-payments-table td{white-space:nowrap}.training-center-payments-table th:first-child,.training-center-payments-table td:first-child{min-width:240px}.training-center-payments-table th:nth-child(2),.training-center-payments-table td:nth-child(2){min-width:180px}.training-center-payments-table th:nth-child(3),.training-center-payments-table td:nth-child(3),.training-center-payments-table th:nth-child(4),.training-center-payments-table td:nth-child(4){min-width:108px;padding-left:4px;padding-right:4px}.training-center-payments-table th:nth-child(4),.training-center-payments-table td:nth-child(4){min-width:96px;padding-right:1px}.training-center-payments-table th:nth-child(5),.training-center-payments-table td:nth-child(5){min-width:92px;padding-left:1px;padding-right:4px}.training-center-payments-table th:last-child,.training-center-payments-table td:last-child{min-width:220px}.link-inline{display:inline-flex;align-items:center;gap:6px}.users-table-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:8px}.users-table-action-slot{display:flex;align-items:center;justify-content:flex-end;width:32px;min-width:32px;height:32px}.users-table-action-placeholder{width:32px;height:32px;display:block}.table-wrap .table{min-width:100%}.link-button{background:none;border:none;padding:0;color:var(--accent-strong);font-weight:600;cursor:pointer;text-align:left}.link-button:hover{text-decoration:underline}.class-pill{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}.class-dot{width:10px;height:10px;border-radius:50%}.subjects-table .table tr:hover{background:var(--accent-soft)}@media (max-width: 700px){.subjects-table .table,.subjects-table thead,.subjects-table tbody,.subjects-table th,.subjects-table td,.subjects-table tr{display:block}.subjects-table thead{display:none}.subjects-table tr{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px;background:var(--surface)}.subjects-table td{display:grid;grid-template-columns:100px 1fr;gap:6px;padding:4px 0;font-size:13px}.subjects-table td:before{content:attr(data-label);font-size:12px;color:var(--muted);font-weight:600;align-self:center}.subjects-table td[data-label=Статус]{display:none}.subjects-table td[data-label=Действия]{display:block;padding-top:6px;border-top:1px solid var(--border);margin-top:2px}.subjects-table td[data-label=Действия]:before{display:none}.subjects-table td[data-label=Действия] .table-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px}.subjects-table td[data-label=Действия] .table-actions .btn{font-size:12px;padding:5px 10px}}.checkbox-row-inline{display:flex;align-items:center;gap:10px;justify-content:flex-start;width:fit-content;align-self:flex-start}.checkbox-row-inline label{margin:0}.checkbox-row-inline input[type=checkbox]{margin:0;width:18px;height:18px;border-radius:5px}.checkbox-row-inline span{font-size:15px;font-weight:600}.role-option-grid{display:flex;flex-wrap:wrap;gap:10px}.role-option-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:var(--dk-bg-f8fafca90, rgba(248, 250, 252, .9));transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:auto;max-width:100%}.role-option-card:hover{background:var(--dk-bg-eff6ffa96, rgba(var(--brand-50-rgb), .96));border-color:rgba(var(--brand-500-rgb),.24)}.role-option-card.active{background:var(--dk-bg-dbeafea95, rgba(var(--brand-100-rgb), .95));border-color:rgba(var(--brand-600-rgb),.34);box-shadow:0 8px 24px rgba(var(--brand-600-rgb),.08)}.role-option-card input[type=checkbox]{margin:0;width:18px;height:18px;flex:0 0 auto;order:-1}.role-option-card-main{display:grid;gap:2px;min-width:0}.role-option-card-title{font-size:14px;font-weight:700;color:var(--ink)}.role-option-card-description{font-size:12px;line-height:1.3;color:var(--muted)}.tenant-picker{display:grid;gap:12px}.tenant-item{text-align:left;border:1px solid var(--border);background:var(--sidebar-item-bg);border-radius:10px;padding:12px 14px;transition:background .15s ease,border-color .15s ease;color:var(--ink)}.tenant-item:hover{background:var(--sidebar-item-hover);border-color:rgba(var(--brand-600-rgb),.2)}.checkbox-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;width:100%;margin-top:8px;font-size:16px;line-height:1.45}.checkbox-row span{display:block;width:100%;overflow-wrap:anywhere}.checkbox-row .muted{grid-column:2}.role-editor{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);overflow:hidden}.role-editor-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:16px 18px;text-align:left;color:var(--ink);cursor:pointer}.role-editor-toggle:hover{background:var(--dk-bg-eff6ffa66, rgba(var(--brand-50-rgb), .66))}.role-editor.is-open .role-editor-toggle{border-bottom:1px solid var(--border)}.role-editor-toggle-main{min-width:0}.role-editor-title{font-size:15px;font-weight:700}.role-editor-meta{margin-top:4px;color:var(--muted);font-size:13px}.role-editor-toggle-icon{flex:0 0 auto;color:var(--muted);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease,color .16s ease}.role-editor-toggle-icon.is-open{transform:rotate(180deg)}.role-editor-body{padding:16px 18px 18px}.table th,.table td{text-align:left;padding:10px 8px}.table tbody tr{border-top:1px solid var(--border)}.journal-grid-wrap{border:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));border-radius:12px;overflow-x:scroll;overflow-y:scroll;flex:1;min-height:0;height:100%;max-height:100%;width:100%;max-width:100%;min-width:0;background:var(--surface);box-shadow:inset 0 0 0 1px #0f172a0a;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-gutter:stable both-edges}.journal-grid{display:grid;gap:0;background:var(--dk-bg-e2e8f0a60, rgba(226, 232, 240, .6));font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.journal-row{display:contents}.journal-cell{background:var(--surface);padding:3px 4px;min-height:28px;font-size:11px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));border-bottom:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));cursor:cell}.journal-cell.row-even{background:var(--dk-bg-f1f5f9a60, rgba(241, 245, 249, .6))}.journal-row-me .journal-cell{background:rgba(var(--brand-600-rgb),.14)}.journal-row-me .journal-cell.row-even{background:rgba(var(--brand-600-rgb),.19)}.journal-row-me .journal-sticky{background:#c5d7fff7}.journal-row-me .journal-cell.is-hover,.journal-row-me .journal-cell-edit.is-hover{background:rgba(var(--brand-600-rgb),.28)!important}.journal-header{position:sticky;top:0;z-index:1;background:var(--bg-alt);font-weight:700;text-align:center;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.journal-header-span{grid-row:span 2;align-items:center}.journal-date-header{justify-content:center}.journal-cell.is-period-start{box-shadow:inset 2px 0 0 var(--accent)}.journal-date-header.has-period-label{flex-direction:column;gap:1px;line-height:1.1}.sgr-th-date.is-period-start,.sgr-td-value.is-period-start{box-shadow:inset 2px 0 0 var(--accent)}.sgr-th-date .journal-period-label{display:block}.journal-period-label{font-size:10px;font-weight:700;color:var(--accent-strong);white-space:nowrap}.journal-subheader{font-size:11px;font-weight:600;text-transform:lowercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-work-badge{margin-top:3px;font-size:10px;font-weight:700;color:var(--accent-strong);line-height:1}.journal-work-badge.is-assessment{color:var(--dk-fg-b8722a, #B8722A)}[data-theme=dark] .journal-work-badge.is-assessment{color:#e09a50}.journal-cell.journal-header.journal-subheader.is-assessment{background:var(--dk-bg-fde7b8, #FDE7B8);color:var(--dk-fg-b8722a, #B8722A)}.journal-cell.journal-cell-edit.is-assessment,.journal-cell.is-assessment:not(.journal-header):not(.journal-cell-edit){background:var(--dk-bg-fff4dd, #FFF4DD)}.journal-cell.journal-cell-edit.is-assessment.row-even{background:var(--dk-bg-ffefc4, #ffefc4)}[data-theme=dark] .journal-cell.journal-header.journal-subheader.is-assessment{background:#b8722a2e;color:#e09a50}[data-theme=dark] .journal-cell.journal-cell-edit.is-assessment,[data-theme=dark] .journal-cell.is-assessment:not(.journal-header):not(.journal-cell-edit){background:#b8722a14}[data-theme=dark] .journal-cell.journal-cell-edit.is-assessment.row-even{background:#b8722a21}.journal-work-label{margin-top:4px;font-size:10px;color:var(--muted);font-weight:600}.journal-sticky{position:sticky;left:0;z-index:2;background:var(--dk-bg-f8fafca95, rgba(248, 250, 252, .95))}.journal-header.journal-sticky{z-index:2}.journal-cell-edit{display:flex;align-items:center;justify-content:center;position:relative}.journal-input{width:100%;padding:0;border-radius:4px;border:1px solid transparent;background:transparent;font-size:12px;text-align:center}.journal-value{font-size:12px;text-align:center}.journal-value-empty{color:#d8dee8}.journal-grade-2{color:var(--dk-fg-c4432e, #C4432E);font-weight:600}.journal-grade-3{color:var(--dk-fg-c4842e, #C4842E);font-weight:600}.journal-grade-45{color:var(--dk-fg-4a8b5c, #4A8B5C);font-weight:600}.journal-grade-absent{color:var(--dk-fg-8a93a3, #8A93A3)}[data-theme=dark] .journal-value-empty{color:#3a4155}[data-theme=dark] .journal-grade-2{color:#e0604a}[data-theme=dark] .journal-grade-3{color:#e0a050}[data-theme=dark] .journal-grade-45{color:#6aad7e}[data-theme=dark] .journal-grade-absent{color:#6b7280}.journal-cell-edit.dirty{outline:2px solid rgba(234,179,8,.45)}.journal-cell-edit.saving{outline:2px solid rgba(14,116,144,.45)}.journal-cell-edit.saved{outline:2px solid rgba(16,185,129,.45)}.journal-cell-edit.error{outline:2px solid rgba(220,38,38,.6)}.journal-cell.is-hover,.journal-cell-edit.is-hover{background:rgba(var(--brand-500-rgb),.08)}.journal-cell-edit.is-active{outline:2px solid rgba(var(--brand-500-rgb),.6);background:var(--surface)}.journal-cell-edit.is-active .journal-input{border:1px solid rgba(var(--brand-500-rgb),.6);background:var(--input-bg);height:24px}.journal-hint{position:absolute;right:6px;bottom:4px;font-size:10px;color:var(--muted)}.journal-toolbar{display:grid;gap:10px;padding:12px;background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9));border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08));border-radius:12px;position:relative;z-index:60}.journal-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.journal-toolbar-section{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:240px}.journal-toolbar-filters{flex:1}.journal-toolbar-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:240px;flex:1}.journal-toolbar-group input,.journal-toolbar-group select,.journal-toolbar-section input,.journal-toolbar-section select{min-width:128px;width:auto;height:34px;font-size:12px;border-radius:8px;padding:6px 10px;background:var(--input-bg);color:var(--ink)}.journal-toolbar-group .date-input.is-range .date-input-field input{min-width:210px}.journal-toolbar .btn{height:34px;padding:0 12px;border-radius:8px;font-size:12px}.journal-toolbar-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-left:auto;min-width:auto}.journal-search{min-width:200px}.journal-work-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.journal-work-title{font-weight:700;font-size:12px;color:var(--muted);margin-right:4px}.journal-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.journal-legend-item{display:inline-flex;align-items:center;gap:6px}.journal-legend-pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;border-radius:999px;font-weight:700;font-size:11px;color:var(--ink);background:#94a3b833}.journal-legend-pill.is-present{background:#10b9812e}.journal-legend-pill.is-absent{background:#ef44442e}.journal-legend-pill.is-late{background:#eab30833}.journal-legend-pill.is-grade{background:#3b82f62e}.journal-attendance-legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}.journal-attendance-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:600}.journal-attendance-legend-item i{width:14px;height:14px;border-radius:3px;flex:0 0 auto}.journal-attendance-legend-item .is-present,.journal-attendance-legend-item .is-late{background:#4f9a48}.journal-attendance-legend-item .is-absent{background:#df574d}.journal-attendance-legend-item .is-excused{background:#6caed6}.journal-attendance-legend-item .is-planned{background:var(--dk-bg-d9d9d9, #d9d9d9)}.journal-attendance-legend-item .is-conducted{background:#64748b}.journal-attendance-legend-item.is-total{font-weight:800}.journal-fullscreen-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;margin:0;border-radius:0;padding:10px 16px 12px;background:var(--surface);gap:6px;display:flex;flex-direction:column}.journal-fullscreen-card .journal-grid-wrap{flex:1;height:0;min-height:0;max-height:none;overflow:auto}.journal-table-actions{position:absolute;top:12px;right:12px;z-index:12;display:inline-flex;align-items:center;gap:8px}.journal-fs-toggle{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:background .15s ease,border .15s ease}.journal-fs-toggle:hover{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.25)}.journal-fullscreen-card .journal-table-actions{position:fixed;top:12px;right:12px;z-index:1110}.journal-card{padding:14px;border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08))}.journal-table-card{padding-top:0;min-height:420px;display:flex;flex-direction:column;height:auto;flex:1;width:100%;min-width:0;position:relative;overflow:visible}.journal-status{display:flex;align-items:center;gap:16px;margin-top:10px;font-size:13px}.journal-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}.journal-pagination-actions{display:flex;gap:8px}.journal-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;justify-content:space-between}.journal-top-card{padding:10px 16px}.journal-top-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.journal-top-actions{display:flex;align-items:center;gap:8px}.journal-top-meta{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.journal-top-title{font-size:15px;font-weight:700;white-space:nowrap;color:var(--ink, #0f172a)}.journal-back{display:inline-flex;align-items:center;gap:8px}.journal-tabs-bar{position:relative;z-index:40;background:var(--dk-bg-f8fafca98, rgba(248, 250, 252, .98));border-bottom:1px solid var(--dk-bd-0f172aa12, rgba(15, 23, 42, .12));padding:8px 10px 6px;display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.journal-tabs-bar.fullscreen{border-radius:10px}.journal-grid-wrap.journal-fullscreen{box-sizing:border-box}.journal-tabs{display:flex;flex-wrap:nowrap;gap:6px;margin:0;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.journal-tabs::-webkit-scrollbar{display:none}.journal-tabs-actions{margin-left:0;display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.journal-fs-toggle.in-tabs{position:static;margin-left:0}.journal-tab{border:1px solid var(--dk-bd-0f172aa12, rgba(15, 23, 42, .12));border-bottom:none;background:var(--dk-bg-eef2f6, #eef2f6);border-radius:8px 8px 0 0;padding:8px 16px 9px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;position:relative;top:1px;white-space:nowrap;flex-shrink:0}.journal-tab.active{background:var(--dk-bg-ffffff, #ffffff);border-color:var(--dk-bd-0f172aa18, rgba(15, 23, 42, .18));color:var(--ink);z-index:2}.journal-tab.readonly{opacity:.7}.journal-tab-lock{font-size:11px;text-transform:lowercase}.journal-tabs-scroll-wrap{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:4px}.journal-tabs-scroll-wrap .journal-tabs{flex:1 1 0;min-width:0}.journal-tabs-scroll-btn{flex-shrink:0;width:30px;height:30px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--card-bg, #fff);box-shadow:0 1px 3px #00000014;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink, #0f172a);padding:0;transition:background .15s,border-color .15s,opacity .15s;-webkit-user-select:none;user-select:none}.journal-tabs-scroll-btn:hover{background:var(--hover-bg, #f1f5f9);border-color:var(--border-dark, #cbd5e1)}.journal-tabs-scroll-btn--inactive{opacity:.25}@media (max-width: 768px){.journal-tabs-scroll-btn{display:none}.journal-tabs-scroll-wrap{width:100%;order:0}.journal-tabs-bar{flex-wrap:wrap;gap:6px 8px;padding:8px 8px 6px}.journal-tabs{width:100%;order:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px;gap:5px}.journal-tabs::-webkit-scrollbar{display:none}.journal-tab{flex-shrink:0;white-space:nowrap;border-radius:20px;border:1.5px solid var(--dk-bd-0f172aa14, rgba(15, 23, 42, .14));border-bottom:1.5px solid var(--dk-bd-0f172aa14, rgba(15, 23, 42, .14));top:0;padding:6px 13px;font-size:13px;background:var(--dk-bg-f4f6f8, #f4f6f8)}.journal-tab.active{background:var(--primary, var(--brand-600));color:#fff;border-color:transparent}.journal-view-switcher{order:1;margin-left:auto}.journal-fs-toggle.in-tabs{order:2}.journal-tabs-bar>.btn{order:1;font-size:13px;padding:6px 12px}.journal-tabs-actions{order:2;width:100%;margin-left:0;justify-content:flex-end;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.journal-tabs-actions::-webkit-scrollbar{display:none}.journal-tabs-actions .btn{font-size:13px;padding:5px 10px;white-space:nowrap;flex-shrink:0}.journal-toolbar-group{min-width:0;flex:1 1 100%}.journal-legend{flex:1 1 100%;gap:6px}}.journal-toolbar-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.journal-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.journal-class-card{text-align:left;border:1px solid rgba(var(--brand-600-rgb),.35);background:var(--dk-bg-ffffff, #fff);transition:border .2s ease,box-shadow .2s ease;cursor:default;padding:0;display:flex;flex-direction:column}.journal-class-card:hover{border-color:rgba(var(--brand-600-rgb),.7);box-shadow:none}.journal-class-card-body{text-align:left;background:none;border:none;padding:20px;cursor:pointer;flex:1;width:100%}.journal-class-card-body:hover .journal-class-card-title{color:var(--primary, var(--brand-600))}.journal-class-card-footer{border-top:1px solid var(--dk-bd-f0f4fa, #f0f4fa);padding:10px 20px;display:flex;align-items:center}.journal-class-card-grades-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--dk-fg-6b7280, #6b7280);background:var(--dk-bg-f9fafb, #f9fafb);border:1.5px solid var(--dk-bd-e5e7eb, #e5e7eb);border-radius:8px;cursor:pointer;padding:7px 14px;transition:border-color .15s,color .15s,background .15s}.journal-class-card-grades-btn:hover{border-color:var(--primary, var(--brand-600));color:var(--primary, var(--brand-600));background:var(--dk-bg-eff6ff, var(--brand-50))}.journal-class-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.journal-class-card-title{font-weight:600;font-size:16px}.journal-class-card-meta{display:flex;gap:12px;margin-top:6px}.journal-class-card-subjects{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.journal-pill{background:var(--dk-bg-eef1f6, #eef1f6);border-radius:999px;padding:4px 8px;font-size:12px}.journal-cell-edit.is-readonly{background:var(--dk-bg-f4f5f7, #f4f5f7);color:var(--dk-fg-667085, #667085);cursor:default}.journal-cell.is-weekend,.journal-header.is-weekend,.journal-cell-edit.is-weekend{background:var(--dk-bg-f8eee3a60, rgba(248, 238, 227, .6))}.cell-present{background:#10b9811f}.cell-absent{background:#ef444424}.cell-late{background:#10b9811f}.cell-excused{background:#6caed633}.cell-grade{background:rgba(var(--brand-500-rgb),.12)}.student-attendance-page{gap:18px;--attendance-present-strong: var(--brand-600);--attendance-present-soft: rgba(var(--brand-600-rgb), .12);--attendance-absent-strong: #dc2626;--attendance-absent-soft: rgba(220, 38, 38, .12);--attendance-planned-strong: #64748b;--attendance-planned-soft: rgba(148, 163, 184, .18);--attendance-conducted-strong: #475467}.student-attendance-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-attendance-head h1{margin:0}.student-attendance-mode{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.student-attendance-mode button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:10px 18px;background:transparent;color:var(--muted);font-weight:700;text-transform:uppercase;cursor:pointer}.student-attendance-mode button.is-active{background:var(--accent);color:#fff}.student-attendance-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.student-attendance-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center}.student-attendance-ring>div{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--surface);color:var(--ink)}.student-attendance-ring span,.student-attendance-ring small{color:var(--muted);font-size:12px}.student-attendance-ring strong{font-size:24px;line-height:1}.student-attendance-legend{display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center}.student-attendance-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:600}.student-attendance-legend-item i{width:14px;height:14px;border-radius:3px;border:1px solid var(--dk-bd-101828a8, rgba(16, 24, 40, .08))}.student-attendance-legend-item .is-present,.student-attendance-day.is-present,.student-attendance-week-cell.is-present,.student-attendance-legend-item .is-late,.student-attendance-day.is-late,.student-attendance-week-cell.is-late{background:var(--attendance-present-soft);color:var(--accent-strong)}.student-attendance-legend-item .is-absent,.student-attendance-day.is-absent,.student-attendance-week-cell.is-absent{background:var(--attendance-absent-soft);color:var(--attendance-absent-strong)}.student-attendance-legend-item .is-excused,.student-attendance-day.is-excused,.student-attendance-week-cell.is-excused{background:#0ea5e924;color:var(--dk-fg-0f5f8f, #0f5f8f)}.student-attendance-legend-item .is-planned,.student-attendance-day.is-planned,.student-attendance-week-cell.is-planned{background:var(--attendance-planned-soft);color:var(--attendance-planned-strong)}.student-attendance-legend-item .is-conducted{background:#47546729;color:var(--attendance-conducted-strong)}.student-attendance-legend-item.is-total{font-weight:800}.student-attendance-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.student-attendance-month{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface);box-shadow:var(--shadow-soft)}.student-attendance-month h2{margin:0 0 12px;text-align:center;font-size:17px}.student-attendance-weekdays,.student-attendance-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.student-attendance-weekdays span{color:var(--muted);text-align:center;font-size:12px;font-weight:700}.student-attendance-day{min-height:38px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.student-attendance-day:hover{outline:2px solid rgba(var(--brand-600-rgb),.22)}.student-attendance-week-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow-x:auto}.student-attendance-week-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:16px}.student-attendance-week-grid{display:grid;min-width:980px;border-top:1px solid var(--border)}.student-attendance-week-row{display:contents}.student-attendance-week-header{background:var(--accent);color:#fff;padding:13px 16px;font-weight:800;text-transform:uppercase;text-align:center;border-right:1px solid rgba(255,255,255,.2)}.student-attendance-period{padding:16px;font-weight:800;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(var(--brand-600-rgb),.06)}.student-attendance-week-cell{min-height:58px;margin:4px;border-radius:4px;padding:10px;background:var(--dk-bg-f8fafca92, rgba(248, 250, 252, .92));border:1px solid transparent;border-bottom:1px solid var(--border)}.student-attendance-week-cell strong,.student-attendance-week-cell span{display:block;overflow-wrap:anywhere}.student-attendance-week-cell span{font-size:12px;opacity:.9}.training-center-student-journal-cell-list{display:grid;gap:8px}.training-center-student-journal-cell-item{display:grid;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.training-center-student-journal-cell-item+.training-center-student-journal-cell-item{padding-top:8px;border-top:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08))}.training-center-student-journal-cell-item:hover{opacity:.9}.uc-journal-stats-wrap{margin-bottom:20px}.uc-journal-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.uc-journal-stat-card{border-radius:12px;padding:14px 16px;min-height:72px;display:flex;flex-direction:column;justify-content:center}.uc-journal-stat-value{font-size:24px;font-weight:700;line-height:1.15;margin-bottom:2px}.uc-journal-stat-label{font-size:12px;opacity:.72;font-weight:500}.uc-journal-stat-card.green{background:#10b9811a;color:var(--dk-fg-059669, rgb(5,150,105))}.uc-journal-stat-card.blue{background:#2563eb17;color:#2563eb}.uc-journal-stat-card.red{background:#ef444417;color:var(--dk-fg-b91c1c, rgb(185,28,28))}.uc-journal-stat-card.amber{background:#f59e0b1a;color:var(--dk-fg-a05f00, rgb(160,95,0))}.uc-journal-courses{margin-bottom:16px}.uc-journal-course-row{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:13px}.uc-journal-course-name{width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text, #222)}.uc-journal-course-track{flex:1;height:7px;background:var(--color-border, #e5e7eb);border-radius:4px;overflow:hidden}.uc-journal-course-fill{height:100%;border-radius:4px;transition:width .4s ease}.uc-journal-course-pct{width:34px;text-align:right;font-size:12px;font-weight:600;color:var(--color-muted, #888);flex-shrink:0}.uc-journal-weak-zones{background:#ef44440f;border:1px solid rgba(239,68,68,.18);border-radius:10px;padding:11px 14px;display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--dk-fg-b91c1c, rgb(185,28,28))}.uc-journal-weak-zones strong{font-size:13px;font-weight:700;display:block;margin-bottom:2px}.uc-journal-weak-zones span{opacity:.8}@media (max-width: 760px){.student-attendance-head,.student-attendance-summary{grid-template-columns:1fr;align-items:stretch}.student-attendance-head{display:grid}.student-attendance-ring{justify-self:center}.student-attendance-mode{justify-content:stretch}.student-attendance-mode button{flex:1;justify-content:center;padding:10px 12px}}.cell-substitution-replaced{background:#ef44441f;box-shadow:inset 0 0 0 1px #ef444433}.cell-substitution-replacement{background:#22c55e1f;box-shadow:inset 0 0 0 1px #22c55e33}.cell-substitution{background:rgba(var(--brand-500-rgb),.12);box-shadow:inset 0 0 0 1px rgba(var(--brand-500-rgb),.2)}.journal-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.journal-legend-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--ink)}.journal-class-name{font-size:28px;font-weight:700;color:var(--accent-strong)}.journal-title{text-align:right}.error-text{color:var(--warning)}.schedule-template-summary{margin-left:auto}.schedule-template-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;padding:12px;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.schedule-template-flow-item{display:flex;align-items:center;gap:10px;min-width:0}.schedule-template-flow-index{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--brand-600);color:#fff;font-weight:700;flex:0 0 auto}.schedule-template-flow-item strong{display:block;line-height:1.2}.schedule-template-flow-item .muted{margin-top:2px;font-size:12px;line-height:1.3}.schedule-template-flow-arrow{align-self:center;color:var(--muted);font-weight:700}@media (max-width: 900px){.schedule-template-flow{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.schedule-template-flow-item{min-width:240px}}.schedule-template-cell.filled{box-shadow:inset 0 0 0 1px #16a34a2e}.schedule-template-cell.filled select{background:#16a34a14;border-color:#16a34a4d}.schedule-template-cell.conflict{background:var(--dk-bg-fff1f2a85, rgba(255, 241, 242, .85));box-shadow:inset 0 0 0 1px #dc262633}.schedule-template-table th,.schedule-template-table td{min-width:64px;padding:4px}.schedule-template-table{width:auto;min-width:0}.schedule-template-table select{width:100%;max-width:123px;min-width:0;font-size:13px;padding:4px 6px}.schedule-template-table .workload-time-col,.schedule-template-table .workload-time-cell{min-width:84px}.schedule-template-table .muted{font-size:12px}.schedule-template-teacher{min-height:16px;line-height:16px;white-space:normal;overflow-wrap:anywhere;max-width:84px;margin-inline:auto}.schedule-template-weekend-col{background:var(--dk-bg-f8fafc, #f8fafc);opacity:.72}.schedule-template-outer-wrap{border:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));border-radius:12px;overflow-x:auto;max-width:100%;width:100%;background:var(--surface);box-shadow:inset 0 0 0 1px #0f172a0a;transition:opacity .15s ease;-webkit-overflow-scrolling:touch}body.journal-fullscreen-active .sidebar{display:none}body.journal-fullscreen-active .app-layout{grid-template-columns:1fr}body.journal-fullscreen-active .app-layout main{padding:0;margin-left:0}body.journal-fullscreen-active .page{max-width:none;margin:0;padding:0;width:100vw;height:100vh;gap:0}body.journal-fullscreen-active .journal-stage-card,body.journal-fullscreen-active .jv-filters-accordion,body.journal-fullscreen-active .jv-subject-header-card,body.journal-fullscreen-active .jv-filters-bar,body.journal-fullscreen-active .school-cover-hero,body.journal-fullscreen-active .student-school-hero,body.journal-fullscreen-active .mobile-school-header,body.journal-fullscreen-active .journal-top-card{display:none}@media (max-width: 1024px){.journal-toolbar{grid-template-columns:1fr}.journal-toolbar-actions{justify-content:flex-start}}.details{border:1px solid var(--border);border-radius:12px;padding:10px 14px;background:var(--surface)}.details summary{cursor:pointer;font-weight:600}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-soft);transition:background-color .15s ease}.lesson-row:hover{background:rgba(var(--brand-600-rgb),.08)}.progress{display:grid;gap:6px}.progress-track{height:8px;background:var(--dk-bg-101828a10, rgba(16, 24, 40, .1));border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0f766e,#34d399)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end}.auth-shell{position:relative;max-width:420px;margin:60px auto;padding:20px 16px;overflow:visible}.auth-card{position:relative;overflow:hidden;display:grid;gap:16px;box-shadow:0 22px 40px #10182814,0 4px 14px #1018280a}.auth-card .btn{justify-self:center}.auth-pill{display:inline-flex;align-items:center;gap:5px}.auth-date-inline{width:16px;height:16px;object-fit:contain}.auth-date-watermark{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain}.auth-date-watermark-back{width:190px;right:-44px;top:-24px;opacity:.06}.auth-date-watermark-page{width:320px;right:-150px;top:50%;transform:translateY(-50%) rotate(-8deg);opacity:.07;z-index:0}.auth-card{z-index:1}.hint{font-size:13px;color:var(--warning)}.comment-thread{display:grid;gap:10px}.comment-bubble{max-width:76%;padding:10px 12px;border-radius:12px;background:rgba(var(--tint-item-rgb),.5);border:1px solid rgba(var(--brand-600-rgb),.15)}.comment-bubble.is-own{margin-left:auto;background:rgba(var(--brand-600-rgb),.1)}.comment-bubble.is-other{margin-right:auto}.comment-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.accordion-header{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:none;background:rgba(var(--tint-item-rgb),.4);cursor:pointer;text-align:left}.accordion-header:hover{background:rgba(var(--brand-600-rgb),.12)}.accordion-icon{transition:transform .15s ease}.accordion-icon.is-open{transform:rotate(180deg)}.workload-filters .filter-row{gap:10px}.workload-filters .filter-group select,.workload-filters .filter-group input{height:30px;font-size:12px;padding:4px 8px}.workload-tabs-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}.workload-year-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workload-year-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--dk-bg-f7f8fb, #f7f8fb);transition:border .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.workload-year-card:hover{border-color:rgba(var(--brand-600-rgb),.4);box-shadow:0 6px 18px #0f172a14}.workload-year-card.add{border-style:dashed;background:rgba(var(--brand-600-rgb),.04)}.workload-time-slot-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workload-time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.workload-time-slot-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--dk-bg-ffffff, #fff);box-shadow:0 6px 16px #0f172a0f}.workload-time-slot-card input[type=time]{border:none;padding:0;font-weight:600;background:transparent}.workload-time-slot-remove{border:1px solid rgba(226,232,240,.9);color:var(--text-muted)}.workload-time-slot-remove:hover{color:#b91c1ce6;border-color:#f8717199;background:#f871711a}.workload-time-slot-add{border:1px dashed rgba(var(--brand-600-rgb),.4);background:rgba(var(--brand-600-rgb),.06);color:var(--accent-strong);padding:12px;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.workload-time-slot-add:hover{background:rgba(var(--brand-600-rgb),.12)}.workload-weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 12px}.workload-weekday-grid input[type=checkbox]{width:20px;height:20px}.workload-weekday-grid .checkbox-row{gap:12px}.workload-year-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.workload-year-delete{border:1px solid rgba(225,29,72,.4);color:#be123cf2;background:var(--dk-bg-ffffff, #fff)}.workload-year-delete:hover{background:#e11d481a}.workload-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex:1;border-bottom:1px solid var(--border);min-width:0}.workload-tab{border:1px solid var(--border);border-bottom:3px solid transparent;background:var(--dk-bg-f7f8fb, #f7f8fb);color:var(--ink);padding:8px 14px;border-radius:10px 10px 0 0;font-size:13px;white-space:nowrap;cursor:pointer}.workload-tab.is-active{background:linear-gradient(180deg,rgba(var(--brand-600-rgb),.16),rgba(var(--brand-600-rgb),.08));border-color:rgba(var(--brand-600-rgb),.48);border-bottom-color:rgba(var(--brand-600-rgb),.18);font-weight:700;color:var(--dk-fg-0f172a, #0f172a);box-shadow:0 10px 24px rgba(var(--brand-600-rgb),.16)}.workload-tabs-actions{display:grid;gap:6px;justify-items:end}.workload-tabs-switcher{display:flex;align-items:center;gap:8px;min-width:0}.workload-tab-nav{width:28px;height:28px;flex:0 0 28px;border-radius:8px;border:1px solid var(--dk-bd-0f172aa10, rgba(15, 23, 42, .1));background:var(--dk-bg-ffffff, #fff);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.workload-tab-nav:hover:not(:disabled){background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.28)}.workload-tab-nav:disabled{opacity:.45;cursor:default}.workload-tabs-switcher .muted{min-width:0;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workload-tabs-subrow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:10px}.workload-tabs-subrow-compact{margin-top:4px;align-items:center}.workload-tab-meta{display:grid;gap:4px;justify-items:start;text-align:left;max-width:min(760px,100%);margin-top:8px}.workload-tab-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workload-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.workload-summary-chip{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--card-border);border-radius:10px;background:var(--surface);box-shadow:0 2px 6px #0f17280a;flex:1 1 140px}.workload-summary-chip-icon{width:36px;height:36px;border-radius:9px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0}.workload-summary-chip span{color:var(--muted);font-size:12px}.workload-summary-chip strong{color:var(--ink);font-size:18px;font-weight:700;display:block}.workload-chip-label,.workload-plan-unset{display:inline-flex;align-items:center;gap:4px}.workload-plan-unset-icon{color:var(--text-muted);cursor:help;flex-shrink:0;position:relative}.workload-plan-unset-icon[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:12px;font-weight:400;line-height:1.45;padding:6px 10px;border-radius:6px;width:max-content;max-width:220px;white-space:normal;pointer-events:none;opacity:0;z-index:300}.workload-plan-unset-icon[data-tooltip]:hover:after{opacity:1}.workload-plan-unset-icon[data-tooltip][data-tooltip-align=left]:after{left:0;transform:none}.workload-lesson-chip{width:100%;min-height:34px;border-radius:8px;display:grid;gap:5px;justify-items:center;white-space:normal;cursor:pointer}.workload-lesson-chip .badge{font-size:10px}.workload-lesson-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.workload-lesson-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.workload-lesson-detail-grid>div{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:var(--dk-bg-f8fafc, #f8fafc)}.workload-lesson-detail-grid span{color:var(--muted);font-size:12px}.workload-time-col,.workload-total-col{min-width:120px}.workload-table td.workload-time-cell{font-weight:600;background:var(--dk-bg-eff6ff, var(--brand-50))}.workload-time-col,.workload-time-cell{position:sticky;left:0;z-index:3}.workload-assignments{margin-top:12px}.workload-table-card{min-height:420px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.workload-empty-schedule-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px}.workload-table-wrap{border:1px solid var(--dk-bd-0f172aa8, rgba(15, 23, 42, .08));border-radius:12px;overflow:auto;max-height:70vh;max-width:100%;width:100%;background:var(--surface);box-shadow:inset 0 0 0 1px #0f172a0a;transition:opacity .15s ease}.workload-table-fetching{opacity:.55;pointer-events:none}.workload-table{border-collapse:collapse;background:var(--surface);width:max-content;min-width:100%}.workload-table th,.workload-table td{border:1px solid var(--dk-bd-0f172aa7, rgba(15, 23, 42, .07));padding:6px 8px;text-align:center;min-width:110px;vertical-align:top;background:var(--surface)}.workload-table .workload-month-header{position:sticky;top:0;z-index:2;background:var(--dk-bg-f8fafc, #f8fafc);font-weight:700}.workload-table .workload-date-header{position:sticky;top:36px;z-index:2;background:var(--dk-bg-f8fafc, #f8fafc);font-weight:700}.workload-table .workload-weekday-header{position:sticky;top:72px;z-index:2;background:var(--dk-bg-f8fafc, #f8fafc);font-weight:600;text-transform:capitalize;font-size:12px}.workload-table th.workload-time-col{top:0;z-index:5;background:var(--dk-bg-eff6ff, var(--brand-50))}.workload-table th.workload-corner-header{position:sticky;left:0;z-index:4;background:var(--dk-bg-eff6ff, var(--brand-50))}.workload-month-header{font-size:14px}.workload-week-cell{min-width:72px;background:var(--dk-bg-eff6ffa70, rgba(var(--brand-50-rgb), .7));border-left:1px solid rgba(var(--brand-300-rgb),.5);border-right:1px solid rgba(var(--brand-300-rgb),.5);font-weight:700;font-size:14px;vertical-align:middle}.workload-week-total{font-size:18px;font-weight:700;color:var(--accent);line-height:1.1}.workload-week-unit{font-size:13px;font-weight:400;color:var(--dk-fg-6b7280, #6b7280)}.workload-week-number{font-size:11px;color:var(--dk-fg-6b7280, #6b7280);margin-top:4px}.workload-sunday{background:var(--dk-bg-fbe9e9, #fbe9e9)}.workload-sunday .muted{color:var(--dk-fg-a33a3a, #a33a3a)}.workload-week-col,.workload-week-cell{border-right:2px solid var(--dk-bd-0f172aa14, rgba(15, 23, 42, .14))}.workload-substitution-replaced{background:#ef44441f}.workload-substitution-replacement{background:#22c55e1f}.workload-substitution-replaced .workload-lesson-chip{border-color:#ef4444b3;box-shadow:0 0 0 1px #ef44441f}.workload-substitution-replacement .workload-lesson-chip{border-color:#16a34ab3;box-shadow:0 0 0 1px #16a34a1f}.workload-manual-lesson{background:#f59e0b1f}.workload-today-date-header{background:rgba(var(--brand-600-rgb),.07)!important;color:var(--accent)!important;font-weight:700!important}.workload-today-col{background:rgba(var(--brand-600-rgb),.03)!important}.workload-lesson-card{width:100%;min-height:54px;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:rgba(var(--brand-600-rgb),.06);border:none;text-align:left;cursor:pointer;transition:background .15s ease;white-space:normal}.workload-lesson-card:hover{background:rgba(var(--brand-600-rgb),.1)}.workload-lesson-card-label{font-weight:600;font-size:12.5px;color:var(--ink);line-height:1.3}.workload-lesson-card-badge{display:inline-flex}.workload-substitution-replaced .workload-lesson-card{background:#ef444414}.workload-substitution-replaced .workload-lesson-card:hover{background:#ef444421}.workload-substitution-replacement .workload-lesson-card{background:#16a34a14}.workload-substitution-replacement .workload-lesson-card:hover{background:#16a34a21}.workload-manual-lesson .workload-lesson-card{background:#f59e0b17}.workload-manual-lesson .workload-lesson-card:hover{background:#f59e0b26}.workload-proof-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;border:1px solid transparent;white-space:nowrap}.workload-proof-badge-journal{background:rgba(var(--brand-600-rgb),.12);border-color:rgba(var(--brand-600-rgb),.2);color:var(--dk-fg-1d4ed8, var(--brand-700))}.workload-proof-badge-attendance{background:#0ea5e91f;border-color:#0ea5e933;color:var(--dk-fg-0369a1, #0369a1)}.workload-proof-badge-grades{background:#22c55e1f;border-color:#22c55e33;color:var(--dk-fg-15803d, #15803d)}.workload-proof-badge-homework{background:#f973161f;border-color:#f9731633;color:var(--dk-fg-c2410c, #c2410c)}.workload-proof-badge-recording{background:#a855f71f;border-color:#a855f733;color:var(--dk-fg-7e22ce, #7e22ce)}.workload-proof-badge-materials{background:#4755691f;border-color:#47556933;color:var(--dk-fg-334155, #334155)}.teacher-workload-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.teacher-workload-legend-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--dk-bg-f8fafca95, rgba(248, 250, 252, .95));border:1px solid rgba(148,163,184,.18);color:var(--dk-fg-334155, #334155);font-size:13px;font-weight:600}.teacher-workload-legend-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.teacher-workload-legend-dot-base{background:#0f172a6b;box-shadow:0 0 0 4px #0f172a14}.teacher-workload-legend-dot-replacement{background:#22c55ee6;box-shadow:0 0 0 4px #22c55e24}.teacher-workload-legend-dot-replaced{background:#ef4444e0;box-shadow:0 0 0 4px #ef44441f}.teacher-workload-legend-dot-empty{background:#cbd5e1e6;box-shadow:0 0 0 4px #cbd5e138}.workload-stat-period-chips{display:flex;gap:6px;margin-bottom:12px}.workload-stats-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}.workload-stat-card{background:var(--dk-bg-ffffff, #fff);border:1px solid var(--border);border-radius:10px;padding:14px 20px;min-width:140px;flex:1}.workload-stat-card-current{border-color:var(--accent);background:var(--dk-bg-f0f6ff, var(--tint-soft-2))}.workload-stat-label{font-size:12px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.workload-stat-value{font-size:24px;font-weight:700;line-height:1.1;color:var(--text)}.workload-stat-value-accent{color:var(--accent)}.workload-stat-unit{font-size:13px;font-weight:400;color:var(--text-muted)}.workload-stat-sub{font-size:12px;color:var(--text-muted);margin-top:3px}@media (max-width: 900px){.student-school-hero{align-items:flex-end;min-height:138px;padding:18px;border-radius:24px}.student-school-avatar{width:54px;height:54px;border-radius:16px}.student-school-copy h1{font-size:clamp(26px,8vw,34px)}.student-school-copy p{display:none}.teacher-dashboard-sections,.manual-corrections-grid{grid-template-columns:1fr}.substitutions-page-hero,.schedule-teacher-hero,.schedule-admin-hero,.workload-table-card{padding:12px}.substitutions-admin-header,.schedule-substitutions-header,.schedule-teacher-hero-header,.schedule-admin-hero-header{gap:12px}.substitutions-page-hero .page-header,.workload-tabs-row,.workload-tabs-subrow,.workload-empty-schedule-note,.schedule-change-scenario-actions,.teacher-dashboard-substitution-alert-head,.teacher-session-summary,.teacher-session-footer{flex-direction:column;align-items:stretch}.workload-tabs-actions,.workload-tab-actions,.workload-tabs-switcher{width:100%;justify-content:space-between}.workload-tabs{width:100%;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.workload-tab{white-space:nowrap}.teacher-workload-legend{flex-direction:column;align-items:stretch}.teacher-workload-legend-item{width:100%;justify-content:flex-start}.workload-table-card{min-height:0}.workload-table-wrap{max-height:62vh}.workload-table th,.workload-table td{min-width:96px;padding:5px 6px;font-size:12px}.workload-week-col,.workload-week-cell{min-width:52px;font-size:14px}.workload-week-total{font-size:18px}.multi-item{flex-direction:column;align-items:flex-start}.teacher-choice-item{flex-direction:row;align-items:flex-start}.teacher-choice-main{align-items:flex-start;flex-direction:column}.subject-edit-modal .multi-list{max-height:46vh}.substitutions-request-head,.substitutions-request-actions,.substitutions-offer-actions,.schedule-substitutions-actions,.schedule-teacher-hero-actions,.schedule-admin-hero-actions,.schedule-request-offer-actions,.manual-corrections-footer{width:100%}.substitutions-request-actions .btn,.substitutions-offer-actions .btn,.schedule-request-offer-actions .btn,.manual-corrections-footer .btn{flex:1 1 220px}.substitutions-candidate-head,.teacher-session-summary-card,.teacher-dashboard-current-list,.teacher-dashboard-today-list,.teacher-dashboard-substitution-list,.teacher-dashboard-replaced-list{gap:10px}.teacher-dashboard-substitution-item{align-items:flex-start;flex-direction:column}.multi-item>div:last-child{width:100%}.multi-item .btn{width:100%;justify-content:center}.substitution-lesson-body{flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.substitutions-page-hero h1,.modal-title{font-size:18px}.schedule-substitutions-card,.schedule-teacher-hero,.schedule-admin-hero,.substitutions-admin-card,.manual-corrections-slot-card,.manual-corrections-form-card{padding:12px}.modal-card.substitution-request-modal{width:min(100%,100vw - 20px);max-height:92vh}.substitution-request-modal-body{max-height:calc(92vh - 80px);padding-right:0}.substitution-submit,.offer-submit,.form-actions .btn,.page-header .btn,.substitutions-request-actions .btn,.substitutions-offer-actions .btn,.schedule-substitutions-actions .btn,.schedule-teacher-hero-actions .btn,.schedule-admin-hero-actions .btn,.schedule-request-offer-actions .btn,.manual-corrections-footer .btn{width:100%;justify-content:center}.substitutions-request-statuses,.substitutions-request-actions,.substitutions-offer-actions,.substitutions-candidate-stats,.substitutions-candidate-reason-badges,.schedule-substitutions-actions,.schedule-teacher-hero-actions,.schedule-admin-hero-actions,.schedule-request-offer-actions{flex-direction:column;align-items:stretch}.substitutions-history-card .chip,.schedule-request-card .chip,.schedule-my-request-card .chip,.manual-corrections-summary-card .chip{width:100%;justify-content:flex-start}.workload-table-wrap{max-height:58vh}.workload-table th,.workload-table td{min-width:84px;padding:4px 5px;font-size:11px}.workload-week-col,.workload-week-cell{min-width:46px}.workload-week-total{font-size:16px}.teacher-week-day{min-height:0;padding:14px}.teacher-week-day-empty{min-height:88px}.teacher-week-lesson{padding:10px 12px}.teacher-session-table{overflow-x:auto}.teacher-session-header,.teacher-session-row{min-width:520px}.substitution-lesson{grid-template-columns:18px minmax(0,1fr);gap:10px;padding:10px}.substitution-lesson-main{gap:8px}}.workload-details-row td{background:var(--dk-bg-f8fafca60, rgba(248, 250, 252, .6))}.workload-fs-toggle{position:absolute;top:12px;right:12px;z-index:12;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s ease,border .15s ease}.workload-fs-toggle:hover{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.25)}.workload-fs-inline{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:background .15s ease,border .15s ease}.workload-fs-inline:hover{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.25)}.workload-fullscreen-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;margin:0;border-radius:0;padding:10px 16px 12px;background:var(--surface);gap:6px}.workload-fullscreen-card .workload-table-wrap{flex:1;height:0;min-height:0;max-height:none}.workload-fullscreen-card .workload-tabs-subrow{margin-top:2px}.workload-fullscreen-card .workload-tab-meta{margin-top:0}.workload-fullscreen-card .workload-tab-actions .btn{font-size:12px;padding:4px 10px}.workload-fullscreen-card .workload-summary-bar{margin-top:0}.workload-fullscreen-card .workload-summary-chip{padding:6px 10px}.workload-fullscreen-card .workload-summary-chip strong{font-size:13px}body.workload-fullscreen-active .sidebar{display:none}body.workload-fullscreen-active .app-layout{grid-template-columns:1fr}body.workload-fullscreen-active .page{padding:0}.landing-page{min-height:100vh}.landing-container{width:min(1120px,calc(100% - 32px));margin:0 auto}.landing-hero-header,.landing-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-hero-header{position:absolute;top:0;left:0;right:0;z-index:2;padding:22px clamp(24px,5vw,72px);background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-header-inner{padding:14px 0}.landing-brand{display:inline-flex;align-items:center;gap:6px;color:#102344;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.45)}.landing-brand-mark{display:inline-flex;align-items:center;padding:0;background:transparent;border:0;box-shadow:none}.landing-brand-logo{display:block;width:40px;height:40px;border-radius:0;box-shadow:none}.landing-brand:hover{background:transparent}.landing-header-actions{display:inline-flex;align-items:center;gap:8px}.landing-hero-header .landing-login-btn.btn.ghost{min-height:44px;padding:11px 20px;border:1px solid rgba(16,35,68,.24);background:#fffffff0;color:#102344;font-weight:900;box-shadow:0 18px 38px #081a344d,0 4px 12px #081a342e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-hero-header .landing-login-btn.btn.ghost:hover{background:#fff;color:#0b1f3a;transform:translateY(-1px)}.landing-page{position:relative;overflow:hidden}.landing-page:before,.landing-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none;z-index:0}.landing-page:before{width:420px;height:420px;top:-180px;right:-120px;background:radial-gradient(circle,rgba(var(--brand-600-rgb),.1),rgba(var(--brand-600-rgb),0) 70%);animation:landing-float-slow 13s ease-in-out infinite alternate}.landing-page:after{width:320px;height:320px;left:-120px;top:140px;background:radial-gradient(circle,rgba(var(--brand-600-rgb),.08),rgba(var(--brand-600-rgb),0) 72%);animation:landing-float-slow 16s ease-in-out infinite alternate-reverse}.landing-page main{position:relative;z-index:2}.landing-page .landing-footer{position:relative;z-index:1}.landing-cookie-banner{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(16,24,40,.12);background:#fffffff2;box-shadow:0 18px 34px #1018282e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-cookie-banner p{margin:0;color:#1f2937;font-size:14px;line-height:1.45}.landing-cookie-accept-btn.btn{min-height:38px;padding:9px 14px;box-shadow:0 8px 16px rgba(var(--brand-600-rgb),.24);white-space:nowrap}.landing-section{padding:68px 0}.landing-page main>.landing-section:last-child{position:relative;z-index:3;padding-bottom:0;margin-bottom:-32px}.landing-page main>.landing-section:last-child:after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(var(--tint-page-rgb),0),rgba(var(--tint-page-rgb),.72) 54%,rgba(var(--tint-page-rgb),.96))}.landing-advantages-section,.landing-how-it-works-section,.landing-audience-section{padding-top:34px}.landing-section-head{display:grid;gap:10px;margin-bottom:24px;max-width:740px}.landing-section-title-row{display:inline-flex;align-items:center;gap:6px}.landing-section-title-row h2{margin:0}.landing-hero{padding:0 0 62px;position:relative;width:100vw;margin-inline:calc(50% - 50vw)}.landing-hero-stage{--landing-hero-x: clamp(30px, 5vw, 72px);--landing-hero-top: clamp(108px, 10vw, 144px);--landing-hero-bottom: clamp(30px, 5vw, 72px);--landing-hero-bg-top: var(--tint-soft);--landing-hero-bg-mid: #e6f1fd;--landing-hero-bg-bottom: #dcedfc;--landing-hero-image-width: min( calc(100vw - clamp(180px, 18vw, 300px)) , calc(100vh * 1794 / 876));--landing-hero-seam: clamp(180px, 14vw, 260px);position:relative;display:flex;align-items:center;min-height:100svh;width:100vw;margin:0 auto;padding:0;overflow:hidden;isolation:isolate;border-radius:0;background:linear-gradient(180deg,var(--landing-hero-bg-top) 0%,var(--landing-hero-bg-mid) 52%,var(--landing-hero-bg-bottom) 100%);box-shadow:none}.landing-hero-image{position:absolute;top:0;right:0;bottom:0;left:calc(100vw - var(--landing-hero-image-width));display:block;width:var(--landing-hero-image-width);height:100%;z-index:-1;pointer-events:none;object-fit:cover;object-position:right center;-webkit-user-select:none;user-select:none;-webkit-mask-image:-webkit-linear-gradient(left,transparent 0,rgba(0,0,0,.1) 36px,rgba(0,0,0,.38) 88px,rgba(0,0,0,.76) 148px,#000 var(--landing-hero-seam));mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.1) 36px,rgba(0,0,0,.38) 88px,rgba(0,0,0,.76) 148px,#000 var(--landing-hero-seam))}.landing-hero-copy{display:grid;gap:20px;max-width:560px;margin:var(--landing-hero-top) var(--landing-hero-x) var(--landing-hero-bottom);color:#102344;text-shadow:0 1px 0 rgba(255,255,255,.42);position:relative;z-index:1}.landing-hero-panel{position:relative;overflow:hidden;padding:34px 36px;border-radius:28px;background:radial-gradient(180px 120px at 92% 18%,rgba(var(--brand-600-rgb),.1),rgba(var(--brand-600-rgb),0) 72%),radial-gradient(220px 140px at 0% 100%,rgba(var(--brand-600-rgb),.08),rgba(var(--brand-600-rgb),0) 74%),linear-gradient(180deg,#ffffffeb,#ffffffc7);border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 60px #10182814,inset 0 1px #fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-hero-panel:before,.landing-hero-panel:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.landing-hero-panel:before{width:180px;height:180px;right:-44px;top:-52px;background:radial-gradient(circle,rgba(var(--brand-600-rgb),.1),rgba(var(--brand-600-rgb),0) 72%);animation:landing-float-slow 12s ease-in-out infinite alternate}.landing-hero-panel:after{width:220px;height:220px;left:-90px;bottom:-128px;background:radial-gradient(circle,rgba(var(--brand-600-rgb),.08),rgba(var(--brand-600-rgb),0) 72%);animation:landing-float-slow 14s ease-in-out infinite alternate-reverse}.landing-hero-eyebrow{justify-self:start;padding:0;border:0;border-radius:0;background:transparent;color:#102344ad;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;-webkit-backdrop-filter:none;backdrop-filter:none}.landing-hero-copy h1{display:grid;gap:8px;font-family:Montserrat,sans-serif;font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.055em;margin:0;max-width:11ch}.landing-hero-copy h1 span{font-size:clamp(30px,4vw,54px);letter-spacing:-.035em;opacity:.92}.landing-hero-copy p{color:#102344bd;font-size:18px;font-weight:650;margin:0;max-width:520px;line-height:1.6}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.landing-hero-cta{padding:14px 22px;border:0;background:#fff;color:#1c5d9f;font-weight:900;box-shadow:0 18px 34px #081a3433}.landing-hero-cta:hover{transform:translateY(-2px);background:#f4f9ff;box-shadow:0 22px 40px #081a343d}.landing-inline-badges{display:flex;gap:8px;flex-wrap:wrap}.landing-hero-visual{display:grid;gap:14px}.landing-mock-card{display:grid;gap:12px}.landing-mock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.landing-mock-label{display:inline-flex;align-items:center;gap:8px;font-weight:700}.landing-mock-list{display:grid;gap:8px}.landing-mock-item{display:flex;align-items:center;gap:8px;border-radius:10px;padding:8px 10px;border:1px solid var(--border);background:var(--surface-soft);font-size:14px}.landing-mock-item .badge{margin-left:auto}.landing-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-pricing-section{padding-top:34px;padding-bottom:34px}.landing-pricing-section .landing-container{width:min(1280px,calc(100% - 28px))}.landing-pricing-section+.landing-section{padding-top:20px}.landing-pricing-shell{display:block}.landing-pricing-content{display:grid;gap:20px}.landing-pricing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:24px;background:linear-gradient(135deg,#fffffff5,#e8f0ffe0);box-shadow:0 22px 42px #1018280f,inset 0 1px #ffffffe6}.landing-pricing-toolbar-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0f1d698a}.landing-pricing-toolbar-title{margin-top:6px;font-size:clamp(20px,2vw,28px);font-weight:900;line-height:1.05;color:#0f2d83}.landing-pricing-toolbar-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;flex-wrap:wrap}.landing-pricing-switch-group{display:grid;gap:8px}.landing-pricing-switch-label{padding-left:10px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0f1d698f}.landing-pricing-period-toggle,.landing-pricing-currency-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:#ffffffeb;box-shadow:inset 0 1px #ffffffe6,0 10px 20px #1018280d}.landing-pricing-period-toggle button,.landing-pricing-currency-toggle button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 16px;font:inherit;font-weight:700;color:#0c1f62bd;background:transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.landing-pricing-period-toggle button span{margin-left:8px;color:#128341}.landing-pricing-period-toggle button.is-active,.landing-pricing-currency-toggle button.is-active{color:#fff;background:linear-gradient(135deg,#0f3ecb,#1d63ee);box-shadow:0 14px 28px #1b53d742}.landing-pricing-period-toggle button.is-active span{color:#ffffffeb}.landing-pricing-currency-toggle button{gap:8px;min-width:112px}.landing-pricing-currency-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;font-size:13px;font-weight:900;color:#1450da;background:#1450da1a;transition:color .2s ease,background-color .2s ease}.landing-pricing-currency-toggle button.is-active .landing-pricing-currency-mark{color:#fff;background:#ffffff2e}.landing-pricing-grid{display:grid;align-items:stretch;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.landing-pricing-card,.landing-super-card{--pricing-accent: var(--brand-600);--pricing-accent-soft: rgba(var(--brand-600-rgb), .12);position:relative;display:flex;flex-direction:column;min-height:100%;height:100%;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.92);background:linear-gradient(180deg,#fffffffa,#fafcfff0);box-shadow:0 24px 50px #10182812,inset 0 1px #ffffffeb}.landing-pricing-card:before,.landing-super-card:before{content:"";position:absolute;inset:0 0 auto 0;height:48px;background:linear-gradient(135deg,#0730b7,#2a69f3)}.landing-pricing-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.landing-pricing-card:hover,.landing-pricing-card.is-active,.landing-super-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px #1018281a,0 14px 24px #1018280d}.landing-pricing-card-ribbon{position:relative;z-index:1;padding:11px 16px;text-align:center;font-size:14px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:#fff}.landing-pricing-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;padding:24px 18px 14px}.landing-pricing-card-copy{display:grid;gap:10px}.landing-pricing-card-eyebrow{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;border-radius:999px;background:var(--pricing-accent-soft);color:var(--pricing-accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-pricing-card h3{margin:0;font-size:clamp(22px,1.75vw,29px);line-height:.98;font-weight:900;color:var(--pricing-accent)}.landing-pricing-card p{margin:0;min-height:52px;font-size:14px;line-height:1.55;color:#0d1e60e0}.landing-pricing-feature-list{display:grid;gap:10px}.landing-pricing-feature{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.45;color:#102b80}.landing-pricing-feature-icon,.landing-super-card-icon{flex:0 0 auto}.landing-pricing-feature-icon,.landing-super-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:var(--pricing-accent);background:var(--pricing-accent-soft)}.landing-pricing-card-footer{margin-top:auto;display:grid;gap:10px;padding:0 18px 18px}.landing-pricing-price-panel{display:grid;justify-items:center;gap:6px;padding:15px 14px 14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--pricing-accent) 14%,white);background:linear-gradient(180deg,rgba(255,255,255,.9),var(--pricing-accent-soft));box-shadow:inset 0 1px #ffffffe0,0 12px 24px #1018280a}.landing-pricing-card-footer-meta{min-height:22px;display:flex;align-items:center;justify-content:center}.landing-pricing-card-footer-meta:not(.is-active){opacity:0;pointer-events:none}.landing-pricing-price{font-size:clamp(24px,1.95vw,34px);line-height:1;letter-spacing:-.03em;font-weight:900;color:var(--pricing-accent);white-space:nowrap;text-transform:uppercase}.landing-pricing-price.is-quote{letter-spacing:0;text-transform:none}.landing-pricing-price-caption{font-size:13px;font-weight:800;letter-spacing:.06em;color:#0f2d83}.landing-pricing-card-button{width:100%;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.landing-pricing-card-button.is-active{border-color:#ff7a1a6b}.landing-pricing-super-cta{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:22px;font-size:13px;font-weight:700;color:#ff7a1a}.landing-pricing-note-strip,.landing-pricing-discount-strip{padding:20px 22px;border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f4f8ffe6);box-shadow:0 20px 40px #1018280d,inset 0 1px #ffffffeb;border:1px solid rgba(255,255,255,.92)}.landing-pricing-note-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-pricing-note-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;color:#0f2d83}.landing-pricing-note-card strong,.landing-pricing-discount-copy strong,.landing-pricing-discount-meta strong{display:block;font-size:18px;font-weight:900;color:#0c226d}.landing-pricing-note-card p,.landing-pricing-discount-copy p{margin:6px 0 0;line-height:1.7;color:#0c226dd1}.landing-super-pricing{display:grid;width:100%;margin:0;gap:16px;animation:landing-fade-up .44s ease both}.landing-super-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 14px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0e35c1,#1c63ec);box-shadow:0 14px 26px #1344c633}.landing-super-banner>svg{width:16px;height:16px;padding:8px;border-radius:14px;background:#ffffff24;box-shadow:inset 0 1px #ffffff38,0 8px 14px #06154e29}.landing-super-banner strong,.landing-super-banner span{display:block}.landing-super-banner strong{font-size:15px;line-height:1.18;font-weight:900}.landing-super-banner span{margin-top:2px;font-size:12px;line-height:1.38;color:#ffffffd6}.landing-super-layout{display:block;padding-inline:36px}.landing-super-grid{display:grid;align-items:stretch;grid-auto-rows:1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.landing-super-card{min-height:536px;padding:20px 12px 18px;border-color:#e2eafff5;background:linear-gradient(180deg,#fffffffc,#f7fafff2);box-shadow:0 14px 28px #10182811,0 6px 14px #10182809,inset 0 1px #fffffff5}.landing-super-card:before{inset:0 16px auto 16px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--pricing-accent),color-mix(in srgb,var(--pricing-accent) 45%,white))}.landing-super-card.is-featured{border-color:#1d63ee61;box-shadow:0 20px 38px #1018281a,0 8px 20px #1d63ee12,0 0 0 1px #1d63ee29}.landing-super-card-title-row{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;color:var(--pricing-accent)}.landing-super-card-title-row svg{flex:0 0 auto;color:color-mix(in srgb,var(--pricing-accent) 82%,white)}.landing-super-card-title{margin:0;font-size:18px;line-height:1.05;font-weight:900;letter-spacing:-.02em;color:var(--pricing-accent);white-space:nowrap}.landing-super-card-head{display:grid;gap:8px;min-height:92px;justify-items:start;padding:8px 12px 10px;border-radius:22px;background:linear-gradient(180deg,#ffffffc7,#f7faff61)}.landing-super-card-head .landing-super-card-icon{width:36px;height:36px}.landing-super-card-head strong{display:block;font-size:clamp(19px,1.55vw,29px);line-height:.96;letter-spacing:-.03em;color:#0d2574}.landing-super-card-divider{height:1px;margin:18px 0 16px;background:linear-gradient(90deg,rgba(var(--brand-600-rgb),.14),rgba(var(--brand-600-rgb),.34),rgba(var(--brand-600-rgb),.14))}.landing-super-card-meta{display:grid;flex:1 1 auto;gap:14px}.landing-super-card-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px 0;align-items:start;color:#0f2d83}.landing-super-card-row+.landing-super-card-row{border-top:1px solid rgba(var(--brand-600-rgb),.1)}.landing-super-card-row>div{display:grid;gap:3px}.landing-super-card-row strong{display:block;font-size:14px;line-height:1.18;font-weight:900}.landing-super-card-row p{margin:0;font-size:12px;line-height:1.52;color:#0c226dc7}.landing-super-card-price{margin-top:auto;min-height:60px;padding:10px 9px 9px;border-radius:14px;border:1px solid color-mix(in srgb,var(--pricing-accent) 14%,white);background:linear-gradient(180deg,rgba(255,255,255,.8),var(--pricing-accent-soft));box-shadow:inset 0 1px #ffffffe6,0 6px 12px #10182808;text-align:center}.landing-super-card-price div{font-size:clamp(17px,1.25vw,25px);line-height:1;letter-spacing:-.03em;font-weight:900;color:var(--pricing-accent);white-space:nowrap;text-transform:uppercase}.landing-super-card-price div.is-quote{letter-spacing:0;text-transform:none}.landing-super-card-price span{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#0f2d83}.landing-pricing-discount-strip{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.9fr);gap:22px;align-items:center}.landing-pricing-discount-badge{min-width:118px;padding:24px 20px;border-radius:26px;text-align:center;font-size:42px;font-weight:900;line-height:1;color:#fff;background:linear-gradient(135deg,#2a69f3,#4e6cff);box-shadow:0 22px 38px #225be93d}.landing-pricing-discount-meta{padding-left:22px;border-left:1px solid rgba(var(--brand-600-rgb),.16)}.landing-pricing-discount-meta-head{display:inline-flex;align-items:center;gap:10px;color:#0c226d}.landing-pricing-discount-meta ul{margin:10px 0 0;padding-left:18px;color:#0c226dd1}.landing-pricing-discount-meta li+li{margin-top:8px}@media (max-width: 1240px){.landing-super-layout{padding-inline:0}.landing-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-super-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-pricing-discount-strip{grid-template-columns:1fr}.landing-pricing-discount-meta{padding-left:0;border-left:0;padding-top:10px;border-top:1px solid rgba(var(--brand-600-rgb),.16)}}@media (max-width: 860px){.landing-pricing-note-strip,.landing-super-grid{grid-template-columns:1fr}.landing-pricing-toolbar{flex-direction:column;align-items:stretch}.landing-pricing-toolbar-actions{width:100%;justify-content:stretch}.landing-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.landing-pricing-intro,.landing-pricing-toolbar,.landing-pricing-note-strip,.landing-pricing-discount-strip{padding:18px;border-radius:20px}.landing-pricing-grid,.landing-super-grid{grid-template-columns:1fr}.landing-pricing-card-body{padding:22px 16px 14px}.landing-pricing-card-footer{padding:0 16px 16px}.landing-pricing-toolbar{gap:16px}.landing-pricing-toolbar-actions,.landing-pricing-switch-group{width:100%}.landing-pricing-period-toggle,.landing-pricing-currency-toggle{width:100%;justify-content:space-between}.landing-pricing-period-toggle button,.landing-pricing-currency-toggle button{flex:1 1 0;justify-content:center}.landing-pricing-discount-badge{width:100%}}.landing-feature-card,.landing-step-card,.landing-audience-card{display:grid;gap:12px;padding:24px;border-radius:18px;background:linear-gradient(180deg,#fffffff0,#ffffffd6);box-shadow:0 18px 34px #1018280f,0 2px 10px #10182808;border:1px solid rgba(255,255,255,.78);position:relative;overflow:hidden;transform:translateY(0);transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}.landing-feature-card:before,.landing-step-card:before,.landing-audience-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,#ffffffd9,rgba(var(--brand-600-rgb),.18),#ffffffd9)}.landing-feature-card:hover,.landing-step-card:hover,.landing-audience-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px #10182814,0 10px 20px #1018280a}.landing-feature-card h3,.landing-step-card h3,.landing-audience-card h3{margin:0;font-size:20px;line-height:1.3}.landing-feature-card p,.landing-step-card p,.landing-audience-card p{margin:0;line-height:1.7}.landing-feature-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 1px #ffffff94,0 8px 18px rgba(var(--brand-600-rgb),.12)}.landing-audience-card .landing-feature-icon{width:50px;height:50px;border-radius:15px}.landing-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-faq-list{display:grid;gap:12px}.landing-faq-item{padding:10px;border-radius:18px;background:#ffffffd6;box-shadow:0 14px 28px #1018280d,0 2px 10px #10182808}.landing-faq-trigger{justify-content:space-between;padding:14px 16px;border:1px solid transparent;border-radius:14px}.landing-faq-trigger:focus-visible{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.landing-faq-content{padding:12px 16px 8px;opacity:0;transform:translateY(-6px);transition:opacity .24s ease,transform .24s ease}.landing-faq-content.is-open{opacity:1;transform:translateY(0)}.landing-faq-content-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.landing-faq-content-wrap.is-open{grid-template-rows:1fr}.landing-faq-content-wrap .landing-faq-content{min-height:0;overflow:hidden}.landing-faq-content p{margin:0}.landing-final-cta-wrap{padding-top:18px}.landing-final-cta{display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-final-cta h2,.landing-final-cta p{margin:0}.landing-footer{--landing-footer-art-height: calc(100vw * 864 / 1821);position:relative;overflow:hidden;margin-top:0;width:100vw;margin-inline:calc(50% - 50vw);min-height:var(--landing-footer-art-height);padding:calc(var(--landing-footer-art-height) - clamp(72px,7vw,120px)) 0 clamp(24px,2.4vw,40px);border-top:0;background:url(/landing-footer-bright.jpg) center bottom / 100% auto no-repeat}.landing-footer:before{content:"";position:absolute;inset:0 0 auto;height:min(160px,24%);z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--tint-page) 0%,rgba(var(--tint-page-rgb),.72) 40%,rgba(var(--tint-page-rgb),0) 100%)}.landing-footer-hadith{position:absolute;left:50%;top:29%;z-index:1;width:min(1040px,60vw,calc(100% - 32px));margin:0;padding:clamp(22px,2.2vw,40px) clamp(22px,3vw,56px);transform:translate(-50%,-50%);text-align:center;border:1px solid rgba(255,255,255,.9);border-radius:clamp(24px,2.4vw,40px);background:#ffffffc7;box-shadow:0 24px 60px #2563eb24,inset 0 1px #ffffffe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-footer-hadith blockquote{display:grid;gap:2px;margin:0;color:#0f1d45;font-family:Montserrat,sans-serif;font-size:clamp(24px,2.9vw,54px);font-weight:800;line-height:1.12;letter-spacing:-.035em}.landing-footer-hadith-kicker{margin:0 0 clamp(10px,1vw,18px);color:#3b4f78;font-size:clamp(14px,1.1vw,20px);font-weight:700}.landing-footer-hadith figcaption{display:inline-flex;align-items:center;gap:clamp(12px,1.6vw,28px);margin-top:clamp(12px,1.2vw,22px);color:#3b4f78;font-size:clamp(12px,1vw,18px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.landing-footer-hadith figcaption:before,.landing-footer-hadith figcaption:after{content:"";width:clamp(20px,2.4vw,44px);height:2px;border-radius:2px;background:#2f6fe4}.landing-footer-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0}.landing-footer-brand{display:inline-flex;align-items:center;gap:10px;color:#102344;font-size:16px;font-weight:600}.landing-footer-logo{width:28px;height:28px;object-fit:contain;flex:0 0 auto}.landing-footer-links{display:inline-flex;align-items:center;flex-wrap:wrap}.landing-footer-links a{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;color:#102344;font-size:15px;font-weight:700}.landing-footer-links a svg{color:#2f6fe4;flex:0 0 auto}.landing-footer-links a+a{position:relative}.landing-footer-links a+a:before{content:"";position:absolute;left:0;top:50%;width:1px;height:22px;transform:translateY(-50%);background:#1023442e}.landing-footer-links a:hover{background:#fff9;color:#0b1f3a}.landing-date-inline{width:18px;height:18px;object-fit:contain;flex:0 0 auto}.landing-date-inline-heading{width:20px;height:20px}.landing-date-inline-cta{width:16px;height:16px;transition:transform .22s ease,opacity .22s ease}.landing-hero-cta:hover .landing-date-inline-cta{transform:translate(2px) translateY(-1px)}.landing-date-watermark{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain}.landing-date-watermark-hero{width:220px;right:-20px;bottom:-44px;opacity:.05}.landing-date-watermark-footer{width:140px;right:24px;bottom:-20px;opacity:.045}.privacy-policy-page{overflow:visible;background:radial-gradient(620px 360px at 8% 6%,rgba(var(--brand-600-rgb),.12),transparent 72%),radial-gradient(520px 320px at 92% 0%,rgba(16,185,129,.1),transparent 70%),linear-gradient(180deg,var(--tint-page) 0%,var(--tint-soft) 100%);color:#102344}.privacy-policy-page:before,.privacy-policy-page:after{display:none}.privacy-policy-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,35,68,.08);background:rgba(var(--tint-page-rgb),.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.privacy-policy-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.privacy-policy-main{position:relative;z-index:1;padding:64px 0 96px}.privacy-policy-hero{display:grid;gap:14px;padding-bottom:28px}.privacy-policy-hero h1{max-width:820px;margin:0;color:#102344;font-size:clamp(18px,2.2vw,26px);line-height:1.2;letter-spacing:0;overflow-wrap:break-word;word-break:break-word}.privacy-policy-hero p{margin:0;color:#102344ad;font-size:17px;font-weight:800}.privacy-policy-content{display:grid;gap:16px}.privacy-policy-section{display:grid;gap:12px;padding:24px;border:1px solid rgba(16,35,68,.08);border-radius:22px;background:#ffffffb8;box-shadow:0 18px 42px #081a3414;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.privacy-policy-section h2,.privacy-policy-card h3{margin:0;color:#102344}.privacy-policy-section h2{font-size:clamp(22px,3vw,30px)}.privacy-policy-card h3{font-size:17px}.privacy-policy-section p{margin:0;color:#102344b8;line-height:1.7}.privacy-policy-section a{color:var(--brand-800);font-weight:800}.privacy-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.privacy-policy-card{display:grid;gap:10px;padding:16px;border:1px solid rgba(var(--brand-600-rgb),.12);border-radius:16px;background:#ffffffbd}.privacy-policy-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.privacy-policy-list li{position:relative;padding-left:18px;color:#102344bd;line-height:1.55}.privacy-policy-list li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:var(--brand-600);box-shadow:0 0 0 4px rgba(var(--brand-600-rgb),.12)}.privacy-policy-contact{border-color:rgba(var(--brand-600-rgb),.16);background:radial-gradient(280px 160px at 100% 0%,rgba(var(--brand-600-rgb),.12),transparent 72%),#ffffffc7}.oferta-hero-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.oferta-hero-meta p{margin:0}.oferta-download-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1.5px solid rgba(var(--brand-600-rgb),.5);border-radius:10px;background:rgba(var(--brand-600-rgb),.06);color:var(--brand-600);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.oferta-download-btn:hover{background:rgba(var(--brand-600-rgb),.12);border-color:rgba(var(--brand-600-rgb),.75)}@media print{@page{size:A4;margin:20mm 20mm 24mm}*,*:before,*:after{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:none!important;color:#111!important}html,body{background:#fff!important}.landing-page:before,.landing-page:after{display:none!important}.landing-nav,.landing-footer,.landing-hero-eyebrow,.oferta-download-btn,.privacy-policy-header{display:none!important;position:static!important;height:0!important;overflow:hidden!important}.privacy-policy-hero{padding:0 0 12pt!important;margin-bottom:0!important;border-bottom:1pt solid #ccc!important}.privacy-policy-hero h1{font-size:14pt!important;margin:0 0 4pt!important;word-break:normal!important;overflow-wrap:normal!important;-webkit-hyphens:none!important;hyphens:none!important}.oferta-hero-meta p{font-size:9pt!important;color:#555!important}body,.landing-page,.privacy-policy-page,.privacy-policy-main{background:#fff!important;margin:0!important;padding:0!important}.landing-container{max-width:100%!important;padding:0!important;margin:0!important}.privacy-policy-content{display:block!important;gap:0!important;margin-top:14pt!important}.privacy-policy-section{border:none!important;border-radius:0!important;padding:0!important;margin:0 0 10pt!important;break-inside:auto!important}.privacy-policy-section h2,.privacy-policy-section h3{font-size:11pt!important;font-weight:700!important;margin:12pt 0 4pt!important;break-after:avoid!important}.privacy-policy-section p{font-size:10pt!important;line-height:1.55!important;margin:0 0 4pt!important;text-align:justify!important;orphans:3;widows:3}.privacy-policy-section ul,.privacy-policy-section ol{margin:4pt 0 4pt 16pt!important;padding:0!important}.privacy-policy-section li{font-size:10pt!important;line-height:1.5!important;margin-bottom:2pt!important}.privacy-policy-list-item:before{display:none!important}}.terms-page-main{padding-bottom:180px}.terms-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--dk-bg-f6faffa94, rgba(var(--tint-page-rgb), .94));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--dk-bd-102344a10, rgba(16, 35, 68, .1));padding:16px 0;box-shadow:0 -8px 32px #081a3414}.terms-action-bar-inner{display:flex;align-items:center;gap:32px}.terms-action-bar-checks{display:flex;flex-direction:column;gap:10px;flex:1}.terms-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;color:var(--dk-fg-102344a85, rgba(16, 35, 68, .85));line-height:1.45}.terms-checkbox-label input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--accent)}@media (max-width: 640px){.terms-action-bar-inner{flex-direction:column;align-items:stretch;gap:16px}.terms-action-bar-inner .btn{width:100%}.privacy-policy-hero h1{font-size:clamp(28px,9vw,40px);white-space:normal;overflow-wrap:break-word;word-break:break-word;line-height:1.1}.terms-page-main{padding-bottom:220px}.privacy-policy-main{padding:28px 0 48px}.privacy-policy-section{padding:16px;border-radius:14px}}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-float-slow{0%{transform:translateZ(0)}to{transform:translate3d(0,8px,0)}}.landing-hero-copy,.landing-section-head,.landing-feature-card,.landing-step-card,.landing-audience-card,.landing-faq-item{animation:landing-fade-up .56s ease both}.landing-feature-card:nth-child(2),.landing-step-card:nth-child(2),.landing-audience-card:nth-child(2),.landing-faq-item:nth-child(2){animation-delay:.05s}.landing-feature-card:nth-child(3),.landing-step-card:nth-child(3),.landing-audience-card:nth-child(3),.landing-faq-item:nth-child(3){animation-delay:.1s}.billing-page{display:grid;gap:16px}.billing-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.billing-summary-item{display:grid;gap:4px}.billing-summary-value{font-size:24px;font-weight:800}.billing-summary-actions{display:flex;justify-content:flex-end}.billing-filter{display:inline-flex;align-items:center;gap:8px}.billing-filter select{min-height:36px}.billing-admin-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tuition-status-filter{display:flex;gap:6px;flex-shrink:0}.tuition-mark-settings{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px;padding:12px 16px;background:#0ea5e90f;border:1px solid rgba(14,165,233,.18);border-radius:8px}.tuition-mark-settings-label{flex:1;min-width:160px}.tuition-mark-settings-title{font-weight:600;font-size:14px}.tuition-mark-settings-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tp-page{display:flex;flex-direction:column;gap:12px}.tp-summary-card{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.tp-summary-month{display:flex;align-items:center;gap:6px;font-weight:600;font-size:15px;min-width:140px}.tp-summary-stats{display:flex;gap:1px;flex:1;background:var(--border, #e5e7eb);border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden}.tp-stat{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--dk-bg-ffffff, #fff);flex:1;gap:2px}.tp-stat-label{font-size:12px;color:var(--muted, #6b7280);white-space:nowrap}.tp-stat-value{font-size:22px;font-weight:700;line-height:1.2}.tp-stat--green .tp-stat-value{color:var(--dk-fg-16a34a, #16a34a)}.tp-stat--green{background:var(--dk-bg-f0fdf4, #f0fdf4)}.tp-stat--red .tp-stat-value{color:#dc2626}.tp-stat--red{background:var(--dk-bg-fff5f5, #fff5f5)}.tp-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.tp-search-wrap{position:relative;flex:1;min-width:200px}.tp-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted, #9ca3af);pointer-events:none}.tp-search-input{width:100%;padding-left:32px!important}.tp-filter-group{display:flex;flex-direction:column;gap:4px}.tp-filter-label{font-size:11px;color:var(--muted, #6b7280);font-weight:500}.tp-select{height:36px;font-size:14px}.tp-month-picker{position:relative;display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--input-bg, #fff);font-size:14px;color:var(--text, #111827);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;min-width:160px}.tp-month-picker:hover{border-color:var(--border-hover, #9ca3af)}.tp-month-picker svg{flex-shrink:0;color:var(--muted, #6b7280)}.tp-table th{font-size:12px;font-weight:600;color:var(--muted, #6b7280)}.tp-row:hover{background:var(--hover-bg, #f9fafb)}.tp-row--selected{background:var(--accent-soft, rgba(var(--brand-600-rgb), .05))}.tp-bulk-bar{display:flex;align-items:flex-start;gap:0;padding:14px 20px;border:1.5px solid var(--brand-500);background:var(--dk-bg-f0f7ff, #f0f7ff)}.tp-bulk-col{display:flex;flex-direction:column;gap:4px;min-width:0}.tp-bulk-col-students{flex:0 0 auto;min-width:140px}.tp-bulk-col-months{flex:1 1 auto;min-width:0;padding:0 20px}.tp-bulk-col-actions{flex:0 0 auto;min-width:200px}.tp-bulk-divider{width:1px;background:var(--dk-bg-dbeafe, var(--brand-100));align-self:stretch;margin:0 4px}.tp-bulk-col-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dk-fg-64748b, #64748b);margin-bottom:2px}.tp-bulk-count{font-size:22px;font-weight:700;color:var(--dk-fg-1e40af, var(--brand-800));line-height:1.1}.tp-bulk-reset{background:none;border:none;padding:0;cursor:pointer;font-size:12px;color:var(--brand-500);text-decoration:underline;text-underline-offset:2px;width:fit-content}.tp-bulk-reset:hover{color:var(--dk-fg-1d4ed8, var(--brand-700))}.tp-bulk-months-trigger-wrap{position:relative}.tp-bulk-months-trigger{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--brand-300);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--dk-fg-1e40af, var(--brand-800));white-space:nowrap}.tp-bulk-months-trigger:hover{border-color:var(--brand-500);background:var(--dk-bg-eff6ff, var(--brand-50))}.tp-bulk-chevron{transition:transform .15s}.tp-bulk-chevron--open{transform:rotate(180deg)}.tp-bulk-months-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:1000;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-e2e8f0, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001a;min-width:220px;overflow:hidden}.tp-bulk-months-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;font-size:13px;font-weight:600;border-bottom:1px solid var(--dk-bd-f1f5f9, #f1f5f9)}.tp-bulk-months-year-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 14px;border-bottom:1px solid var(--dk-bd-f1f5f9, #f1f5f9);background:var(--dk-bg-f8fafc, #f8fafc)}.tp-bulk-year-label{font-size:14px;font-weight:600;min-width:40px;text-align:center}.tp-bulk-year-btn{background:none;border:1px solid var(--dk-bd-e2e8f0, #e2e8f0);border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--dk-fg-374151, #374151)}.tp-bulk-year-btn:hover{background:var(--dk-bg-e2e8f0, #e2e8f0)}.tp-bulk-months-dropdown-list{max-height:240px;overflow-y:auto;padding:4px 0}.tp-bulk-months-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .1s}.tp-bulk-months-dropdown-item:hover{background:var(--dk-bg-f8fafc, #f8fafc)}.tp-bulk-months-dropdown-item.is-checked{background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--dk-fg-1d4ed8, var(--brand-700));font-weight:500}.tp-bulk-months-dropdown-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-500);cursor:pointer;flex-shrink:0}.tp-bulk-months-dropdown-quick{display:flex;gap:8px;padding:6px 14px;border-top:1px solid var(--dk-bd-f1f5f9, #f1f5f9)}.tp-bulk-months-quick-btn{background:none;border:none;padding:0;cursor:pointer;font-size:12px;color:var(--brand-500);text-decoration:underline;text-underline-offset:2px}.tp-bulk-months-quick-btn:hover{color:var(--dk-fg-1d4ed8, var(--brand-700))}.tp-bulk-months-dropdown-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 14px;border-top:1px solid var(--dk-bd-f1f5f9, #f1f5f9)}.tp-bulk-selected-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.tp-bulk-selected-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--dk-bg-dbeafe, var(--brand-100));color:var(--dk-fg-1e40af, var(--brand-800));border-radius:20px;font-size:11px;font-weight:500}.tp-bulk-chip-remove{background:none;border:none;padding:0;cursor:pointer;font-size:13px;color:var(--brand-500);line-height:1;display:flex;align-items:center}.tp-bulk-chip-remove:hover{color:var(--dk-fg-1d4ed8, var(--brand-700))}.tp-bulk-more{background:none;border:none;padding:2px 6px;cursor:pointer;font-size:11px;color:var(--brand-500);font-weight:500;border-radius:20px}.tp-bulk-more:hover{background:var(--dk-bg-dbeafe, var(--brand-100))}.tp-bulk-action-btns{display:flex;gap:8px;flex-wrap:wrap}.tp-bulk-hint{font-size:11px;color:var(--dk-fg-64748b, #64748b);margin-top:2px}.tp-bulk-hint-warn{font-size:11px;color:#f59e0b;margin-top:2px}.tp-confirm-months-list{display:flex;flex-direction:column;gap:2px}.tp-confirm-month-item{font-size:13px;color:var(--dk-fg-374151, #374151)}.tp-cell-class{color:var(--muted, #6b7280);font-size:13px;white-space:nowrap}.tp-student-name{font-weight:500;font-size:14px}.tp-student-email{font-size:12px;color:var(--muted, #6b7280);margin-top:2px}.tp-amount-hint{font-size:12px;color:var(--muted, #6b7280);margin-top:3px}.tp-cell-date{font-size:13px;color:var(--muted, #6b7280);white-space:nowrap}.tp-cell-actions{width:1%;white-space:nowrap}.tp-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.tp-menu-wrap{position:relative}.tp-menu-btn{font-size:18px;letter-spacing:1px;padding:4px 8px}.tp-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--dk-bg-ffffff, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;min-width:200px;padding:4px;display:flex;flex-direction:column}.tp-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:7px;font-size:13px;cursor:pointer;border:none;background:none;text-align:left;text-decoration:none;color:inherit;width:100%}.tp-menu-item:hover{background:var(--hover-bg, #f3f4f6)}.tp-menu-item--red{color:#dc2626}.tp-menu-item--green{color:var(--dk-fg-16a34a, #16a34a)}.tp-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;font-size:13px}.tp-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dk-bg-000000a25, rgba(0,0,0,.25));z-index:200;display:flex;justify-content:flex-end}.tp-sheet{width:460px;max-width:100%;height:100%;background:var(--dk-bg-ffffff, #fff);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000001f}.tp-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0}.tp-sheet-title{font-size:18px;font-weight:700}.tp-sheet-subtitle{font-size:13px;margin-top:2px}.tp-sheet-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.tp-sheet-status-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--border, #e5e7eb)}.tp-sheet-status-card--paid{background:var(--dk-bg-f0fdf4, #f0fdf4);border-color:var(--dk-bd-bbf7d0, #bbf7d0)}.tp-sheet-status-card--unpaid{background:var(--dk-bg-fff5f5, #fff5f5);border-color:var(--dk-bd-fecaca, #fecaca)}.tp-sheet-status-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.tp-sheet-status-icon--paid{background:#16a34a;color:#fff}.tp-sheet-status-icon--unpaid{background:var(--dk-bg-e5e7eb, #e5e7eb);color:var(--dk-fg-6b7280, #6b7280)}.tp-sheet-status-info{flex:1}.tp-sheet-status-label{font-weight:600;font-size:15px}.tp-sheet-status-amount{font-size:13px;color:var(--muted, #6b7280);margin-top:2px}.tp-sheet-status-date{text-align:right;font-size:13px}.tp-sheet-section-title{font-weight:600;font-size:13px;color:var(--muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.tp-history-list{display:flex;flex-direction:column}.tp-history-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border, #f3f4f6);font-size:13px}.tp-history-row--selected{background:var(--dk-bg-f0f7ff, #f0f7ff);border-radius:6px;padding-left:4px;padding-right:4px}.tp-history-month{font-weight:500}.tp-history-amount{text-align:right}.tp-history-date{text-align:right;white-space:nowrap;font-size:12px}.tp-sheet-btn-row{display:flex;gap:8px}.tp-sheet-btn-half{flex:1;justify-content:center}.tp-sheet-bulk-actions{display:flex;flex-direction:column;gap:8px}.tp-sheet-action-primary{background:var(--brand-600)!important;color:#fff!important;border-color:var(--brand-600)!important}.tp-sheet-footer{padding:16px 20px;border-top:1px solid var(--border, #e5e7eb);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.tp-sheet-action-primary{width:100%;justify-content:center;background:var(--brand-600);color:#fff;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:600}.tp-sheet-action-primary:hover:not(:disabled){background:var(--brand-700)}.tp-sheet-footer-note{font-size:12px;text-align:center;margin-top:4px}.journal-view-switcher{display:flex;gap:2px;background:var(--surface-2, #f3f4f6);border-radius:8px;padding:3px}.journal-view-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.journal-view-btn:hover{color:var(--text, #111827)}.journal-view-btn.active{background:var(--card-bg, #fff);color:var(--text, #111827);box-shadow:0 1px 3px #0000001a}.sjc-wrap{padding:12px 16px 8px;max-width:520px}.sjc-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sjc-nav-title{font-weight:600;font-size:14px;text-transform:capitalize}.sjc-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--muted, #6b7280)}.sjc-nav-btn:hover{background:var(--hover-bg, #f3f4f6);color:var(--text, #111827)}.sjc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.sjc-weekday{text-align:center;font-size:10px;font-weight:600;color:var(--muted, #6b7280);padding:2px 0;text-transform:uppercase}.sjc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.sjc-day{border-radius:6px;background:var(--surface-1, #f9fafb);border:1.5px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;height:40px;transition:border-color .15s;position:relative;padding:2px}.sjc-day:hover{border-color:var(--border, #e5e7eb)}.sjc-day.is-today{border-color:var(--primary, var(--brand2-500))!important;border-width:2px}.sjc-day.is-selected{box-shadow:0 0 0 2px var(--primary, var(--brand2-500))}.sjc-day.is-empty-slot{background:transparent;cursor:default}.sjc-day.is-assessment{background:var(--dk-bg-faeeda, #FAEEDA);border-color:#ef9f27;color:var(--dk-fg-854f0b, #854F0B)}.sjc-day.is-absent{background:var(--dk-bg-fcebeb, #FCEBEB);color:var(--dk-fg-791f1f, #791F1F)}.sjc-day-num{font-size:10px;color:var(--muted, #9ca3af);line-height:1}.sjc-day-grade{font-size:14px;font-weight:700;line-height:1}.sjc-day-grade.grade-2{color:var(--dk-fg-c4432e, #C4432E)}.sjc-day-grade.grade-3{color:var(--dk-fg-c4842e, #C4842E)}.sjc-day-grade.grade-45{color:var(--dk-fg-4a8b5c, #4A8B5C)}.sjc-day.is-assessment .sjc-day-grade{color:var(--dk-fg-854f0b, #854F0B)}.sjc-day.is-absent .sjc-day-grade{color:var(--dk-fg-791f1f, #791F1F)}.sjc-detail{margin-top:8px;padding:8px 12px;background:var(--surface-1, #f9fafb);border-radius:8px;font-size:13px;display:flex;flex-direction:column;gap:3px}.sjc-detail-date{font-weight:600;font-size:13px}.sjc-detail-type{color:var(--dk-fg-854f0b, #854F0B);font-size:12px}.sjc-legend{display:flex;gap:12px;margin-top:6px;padding:0 0 4px;flex-wrap:wrap}.sjc-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted, #6b7280)}.sjc-legend-item:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px}.sjc-legend-assessment:before{background:var(--dk-bg-faeeda, #FAEEDA);border:1px solid #EF9F27}.sjc-legend-absent:before{background:var(--dk-bg-fcebeb, #FCEBEB);border:1px solid var(--dk-bd-f9b4b4, #f9b4b4)}.journal-value.journal-value-empty{color:#d8dee8}.journal-value.journal-value-grade-2{color:var(--dk-fg-c4432e, #C4432E);font-weight:600}.journal-value.journal-value-grade-3{color:var(--dk-fg-c4842e, #C4842E);font-weight:600}.journal-value.journal-value-grade-45{color:var(--dk-fg-4a8b5c, #4A8B5C);font-weight:600}.journal-value.journal-value-absent{color:var(--dk-fg-8a93a3, #8A93A3)}.journal-cell.journal-header.journal-subheader.is-assessment{background:var(--dk-bg-faeeda, #FAEEDA);color:var(--dk-fg-854f0b, #854F0B)}.journal-cell.journal-cell-edit.is-assessment,.journal-cell.is-assessment:not(.journal-header):not(.journal-cell-edit){background:var(--dk-bg-faeeda, #FAEEDA)}@media (max-width: 600px){.sjc-wrap{padding:8px 10px 4px}.sjc-day{height:34px}.sjc-day-grade{font-size:13px}.sjc-day-num{font-size:9px}}.billing-admin-class-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.superadmin-billing-page .table-wrap,.superadmin-plan-types-page .table-wrap{overflow-x:auto}.superadmin-billing-table{min-width:1560px;table-layout:fixed}.superadmin-billing-table .superadmin-billing-plan-col{min-width:200px;width:200px;vertical-align:top}.superadmin-billing-table .superadmin-billing-overage-col{min-width:220px;width:220px;vertical-align:top}.superadmin-billing-table .superadmin-billing-actions-col{min-width:300px;width:300px;vertical-align:top}.superadmin-billing-table th:nth-child(1),.superadmin-billing-table td:nth-child(1){width:205px}.superadmin-billing-table th:nth-child(2),.superadmin-billing-table td:nth-child(2){width:150px}.superadmin-billing-table th:nth-child(3),.superadmin-billing-table td:nth-child(3){width:110px}.superadmin-billing-table th:nth-child(4),.superadmin-billing-table td:nth-child(4){width:125px}.superadmin-billing-table th:nth-child(5),.superadmin-billing-table td:nth-child(5){width:120px}.superadmin-billing-table th:nth-child(8),.superadmin-billing-table td:nth-child(8){width:140px}.superadmin-billing-table th{overflow-wrap:break-word;word-break:break-word}.superadmin-billing-table .table-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:end;align-content:start;width:100%}.superadmin-billing-table .table-actions .btn{width:100%;justify-content:center;white-space:normal;line-height:1.25;text-align:center}@media (max-width: 1400px){.superadmin-billing-table .table-actions{grid-template-columns:minmax(0,1fr)}}.superadmin-billing-meta{display:grid;gap:3px}.superadmin-billing-meta span{color:var(--dk-fg-102344a72, rgba(16, 35, 68, .72));font-size:12px;line-height:1.35;overflow-wrap:break-word}.superadmin-billing-meta strong{color:var(--dk-fg-0d2b4f, #0d2b4f);font-size:13px;overflow-wrap:break-word}.superadmin-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.superadmin-plan-card{display:grid;align-content:start;gap:10px;border-radius:16px;padding:16px;border:1px solid var(--dk-bd-101828a10, rgba(16, 24, 40, .1));background:var(--dk-bg-ffffffa92, rgba(255, 255, 255, .92));box-shadow:0 10px 22px #1018280f}.superadmin-plan-card.is-featured{border-color:var(--dk-bd-0d6a3fa28, rgba(13, 106, 63, .28));box-shadow:0 14px 24px #0d6a3f1f}.superadmin-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.superadmin-plan-head h3{margin:0;font-size:20px}.superadmin-plan-head p{margin:4px 0 0;color:var(--dk-fg-102344a74, rgba(16, 35, 68, .74))}.superadmin-plan-price{font-size:18px;font-weight:800;color:var(--dk-fg-0d2b4f, #0d2b4f)}.superadmin-plan-discount{justify-self:start;padding:4px 8px;border-radius:999px;background:#0d6a3f1f;color:var(--dk-fg-0d6a3f, #0d6a3f);font-size:12px;font-weight:800}.superadmin-plan-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.superadmin-plan-list li{display:flex;gap:8px;align-items:flex-start}.superadmin-plan-list li svg{flex:0 0 auto;margin-top:2px;color:var(--dk-fg-0f6f4a, #0f6f4a)}.superadmin-plan-features{display:flex;flex-wrap:wrap;gap:6px}.renewal-notice{background:#0ea5e91a;border-color:#0ea5e999}.school-tariff-page{display:grid;gap:16px}.school-tariff-cover{position:relative;height:148px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--dk-bg-dbeeff, #dbeeff) 0%,var(--dk-bg-c7e3ff, #c7e3ff) 100%);background-size:cover;background-position:center}.school-tariff-cover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--dk-bg-f0f8ffa94, rgba(240, 248, 255, .94)) 0%,var(--dk-bg-f0f8ffa60, rgba(240, 248, 255, .6)) 50%,rgba(200,230,255,.18) 100%)}.school-tariff-cover-inner{position:relative;height:100%;display:flex;align-items:center;gap:18px;padding:0 32px}.school-tariff-cover-icon{width:64px;height:64px;border-radius:16px;background:var(--dk-bg-ffffffa85, rgba(255, 255, 255, .85));border:1px solid rgba(15,139,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0f8bff;overflow:hidden}.school-tariff-cover-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.school-tariff-cover-title{font-size:22px;font-weight:800;color:var(--dk-fg-0d2b4f, #0d2b4f);line-height:1.2}.school-tariff-cover-subtitle{margin-top:4px;font-size:14px;color:var(--dk-fg-64748b, #64748B);font-weight:500}.school-tariff-plan-card{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.school-tariff-plan-left{display:flex;align-items:center;gap:16px}.school-tariff-plan-icon-wrap{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#0f6cbf,#0f8bff);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.school-tariff-plan-label{font-size:13px;color:var(--dk-fg-64748b, #64748B);font-weight:500}.school-tariff-plan-name{font-size:24px;font-weight:800;color:var(--dk-fg-0d2b4f, #0d2b4f);line-height:1.2;margin-top:2px}.school-tariff-plan-price{margin-top:4px;font-size:16px;font-weight:700;color:var(--dk-fg-343133, #343133)}.school-tariff-plan-meta-card{display:flex;align-items:flex-start;gap:10px;background:#0f8bff0f;border:1px solid rgba(15,139,255,.12);border-radius:12px;padding:14px 18px;flex-shrink:0}.school-tariff-plan-meta-icon{color:var(--dk-fg-64748b, #64748B);margin-top:2px;flex-shrink:0}.school-tariff-plan-meta-lines{display:grid;gap:3px;font-size:13px;color:var(--dk-fg-343133, #343133);font-weight:500}.school-tariff-limits-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.school-tariff-limit-card{display:grid;gap:12px}.school-tariff-limit-card.is-exceeded{border-color:#dc262647}.school-tariff-limit-top{display:flex;align-items:flex-start;gap:12px}.school-tariff-limit-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.school-tariff-limit-icon--blue{background:#0f8bff1a;color:#0f8bff}.school-tariff-limit-icon--green{background:#16a34a1a;color:var(--dk-fg-16a34a, #16a34a)}.school-tariff-limit-icon--purple{background:#7c3aed1a;color:#7c3aed}.school-tariff-limit-title-row{display:flex;flex-direction:column;gap:4px;min-width:0}.school-tariff-limit-name{margin:0;font-size:15px;font-weight:700;color:var(--dk-fg-343133, #343133)}.school-tariff-limit-value{font-size:20px;font-weight:800;color:var(--dk-fg-0d2b4f, #0d2b4f);line-height:1.2}.school-tariff-limit-note{font-size:11px;color:var(--dk-fg-64748b, #64748B);line-height:1.4}.school-tariff-progress-row{display:flex;align-items:center;gap:10px}.school-tariff-progress{flex:1;height:7px;border-radius:999px;background:#94a3b838;overflow:hidden}.school-tariff-progress span{display:block;height:100%;border-radius:inherit;background:#0f8bff;transition:width .3s ease}.school-tariff-progress--blue span{background:#0f8bff}.school-tariff-progress--green span{background:#16a34a}.school-tariff-progress--purple span{background:#7c3aed}.school-tariff-progress--empty span{background:#94a3b866}.school-tariff-progress--blue.is-exceeded span,.school-tariff-progress--green.is-exceeded span,.school-tariff-progress--purple.is-exceeded span{background:#dc2626}.school-tariff-pct{font-size:12px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;flex-shrink:0}.school-tariff-pct--blue{background:#0f8bff1a;color:#0f8bff}.school-tariff-pct--green{background:#16a34a1a;color:var(--dk-fg-16a34a, #16a34a)}.school-tariff-pct--purple{background:#7c3aed1a;color:#7c3aed}.school-tariff-limit-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--dk-fg-64748b, #64748B);font-size:13px}.school-tariff-storage-card{display:grid;gap:12px}.school-tariff-storage-card.is-exceeded{border-color:#dc262647}.school-tariff-change-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.school-tariff-change-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.school-tariff-change-icon-wrap{width:52px;height:52px;border-radius:14px;background:#0f8bff14;border:1px solid rgba(15,139,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0f8bff}.school-tariff-change-title{font-size:17px;font-weight:700;color:var(--dk-fg-343133, #343133)}.school-tariff-change-subtitle{margin-top:3px;font-size:13px;color:var(--dk-fg-64748b, #64748B)}.school-tariff-contact-chat{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(29,98,208,.36);border-radius:10px;background:var(--dk-bg-ffffff, #fff);color:var(--dk-fg-1d62d0, #1d62d0);cursor:pointer;font-weight:700;font-size:14px;padding:10px 18px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;white-space:nowrap;flex-shrink:0}.school-tariff-contact-chat:hover{text-decoration:none;background:#2f80ed14;border-color:#1d62d099}.school-tariff-contact-chat:focus-visible{outline:none;box-shadow:0 0 0 3px #2f80ed2e}@media (max-width: 1024px){.landing-hero-grid,.landing-cards-grid,.landing-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-pricing-image{min-width:760px}.landing-hero-copy{padding:22px;border:1px solid rgba(255,255,255,.58);border-radius:28px;background:#ffffffad;box-shadow:0 18px 42px #081a3424;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}}@media (max-width: 780px){.landing-cookie-banner{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.landing-cookie-accept-btn.btn{width:100%;justify-content:center}.landing-hero-header,.landing-header-inner{flex-wrap:nowrap}.landing-hero-header{padding:max(12px,env(safe-area-inset-top)) 12px 6px}.landing-header-actions{width:auto}.landing-header-actions .btn{flex:0 0 auto;justify-content:center}.landing-hero-grid,.landing-cards-grid,.landing-steps-grid{grid-template-columns:1fr}.landing-pricing-section{padding-top:24px;padding-bottom:24px}.landing-pricing-section+.landing-section{padding-top:16px}.landing-pricing-image{min-width:680px}.landing-section{padding:44px 0}.landing-page main>.landing-section:last-child{margin-bottom:0;padding-bottom:24px}.landing-page main>.landing-section:last-child:after{height:96px}.landing-advantages-section,.landing-how-it-works-section,.landing-audience-section{padding-top:24px}.landing-hero{padding:0 0 36px}.landing-hero-stage{--landing-hero-x: 24px;--landing-hero-top: 92px;--landing-hero-bottom: 32px;--landing-hero-image-width: 100vw;--landing-hero-bg-top: #d8deea;--landing-hero-bg-mid: #d8deea;--landing-hero-bg-bottom: #d2d8e4;width:100vw;min-height:100svh;align-items:flex-end;padding:0;border-radius:0}.landing-hero-image{left:0;width:100vw;object-fit:cover;object-position:58% 34%;-webkit-mask-image:none;mask-image:none}.landing-hero-copy h1{font-size:clamp(38px,12vw,54px);max-width:10ch}.landing-hero-copy p{font-size:16px;max-width:360px}.landing-section-title-row{align-items:flex-start}.landing-final-cta{flex-direction:column;align-items:flex-start}.landing-footer-inner{order:2;flex-direction:column;align-items:flex-start;gap:10px}.landing-footer-links{margin-inline:-12px}.landing-footer-links a{padding:6px 12px;font-size:14px}.landing-footer-links a+a:before{display:none}.landing-footer{display:flex;flex-direction:column;margin-top:-48px;min-height:0;padding:56px 0 28px;background:#f0f8fe}.landing-footer:before{height:72px}.landing-footer:after{content:"";order:1;height:var(--landing-footer-art-height);margin:-12px 0 4px;background:url(/landing-footer-bright.jpg) center / 100% auto no-repeat}.landing-footer-hadith{position:relative;top:auto;left:auto;width:auto;margin:0 16px;padding:16px 16px 14px;border-radius:22px;transform:none}.landing-footer-hadith blockquote{font-size:clamp(20px,6vw,30px)}.landing-footer-hadith-kicker{margin-bottom:8px;font-size:13px}.landing-footer-hadith figcaption{margin-top:10px;font-size:12px}.landing-date-watermark-hero{width:160px;right:-18px;bottom:-24px}.privacy-policy-main{padding:38px 0 64px}.privacy-policy-nav{align-items:flex-start}.privacy-policy-hero h1{font-size:clamp(34px,12vw,50px)}.privacy-policy-grid{grid-template-columns:1fr}.privacy-policy-section{padding:18px;border-radius:18px}.billing-summary-grid{grid-template-columns:1fr}.billing-summary-actions{justify-content:flex-start}.billing-filter{width:100%;justify-content:flex-start}.superadmin-plan-grid,.school-tariff-limits-grid{grid-template-columns:1fr}.school-tariff-cover{height:auto;min-height:110px}.school-tariff-cover-title{font-size:17px}.school-tariff-plan-card{flex-direction:column;align-items:flex-start}.school-tariff-plan-meta-card{width:100%}.school-tariff-change-card{flex-direction:column;align-items:flex-start}.billing-admin-filters .billing-filter{width:100%}}@media (max-width: 1024px){.page{gap:16px}.card{padding:16px}.page-header{flex-wrap:wrap;align-items:flex-start}.page-header>*{min-width:0}.page-header .btn{max-width:100%}.page-header-actions{width:100%;justify-content:flex-start}.form-grid,.homework-class-subject-row,.material-inline,.teacher-material-row{grid-template-columns:minmax(0,1fr)}.teacher-material-actions{justify-content:flex-start}.schedule-time-panel-header{flex-direction:column;align-items:flex-start}.schedule-time-panel-header .btn{width:100%;justify-content:center}.schedule-time-panel{padding:12px}.filter-search-row,.filter-controls-row{width:100%;min-width:0}.filter-group-block{min-width:0;width:100%}.table-actions{flex-wrap:wrap;justify-content:flex-start}.checkbox-row{grid-template-columns:16px minmax(0,1fr);align-items:start}.checkbox-row .muted{grid-column:2}.card>.table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.chat-layout-card{grid-template-columns:minmax(0,1fr)!important;min-height:auto!important;height:auto!important}.chat-layout-sidebar{height:auto!important;max-height:45vh}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.chat-sidebar-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chat-sidebar-header-actions .btn{align-self:center}}.chat-class-teachers{display:grid;gap:8px;padding:10px;border:1px solid rgba(var(--brand-600-rgb),.14);border-radius:10px;background:var(--dk-bg-eff6ffa72, rgba(var(--brand-50-rgb), .72))}.chat-class-teachers-sidebar{margin:2px 0 4px}.chat-class-teachers-head{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:13px;font-weight:800}.chat-class-teachers-list{display:grid;gap:6px;max-height:148px;overflow-y:auto}.chat-class-teacher-button{display:grid;gap:3px;width:100%;padding:9px 10px;border:1px solid rgba(var(--brand-600-rgb),.14);border-radius:8px;background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9));color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.chat-class-teacher-button:hover,.chat-class-teacher-button.is-selected{border-color:rgba(var(--brand-600-rgb),.34);background:var(--dk-bg-dbeafea78, rgba(var(--brand-100-rgb), .78))}.chat-class-teacher-button:disabled{cursor:wait;opacity:.65}.chat-class-teacher-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.chat-class-teacher-inline-subject{color:var(--muted);font-size:12px;font-weight:600}.chat-class-teacher-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.chat-class-teachers-more{border:0;background:transparent;color:var(--accent-strong);font-weight:700;text-align:left;cursor:pointer}@media (max-width: 700px){.modal-card.subject-edit-modal{max-height:calc(100vh - 16px)}.subject-edit-modal .multi-list{max-height:42vh}.teacher-choice-badges,.teacher-choice-meta{width:100%}.card>.table th,.card>.table td{white-space:nowrap}.page-header{gap:12px}}@media (max-width: 1024px){.app-layout{--mobile-nav-offset: calc(84px + env(safe-area-inset-bottom)) }.app-layout main{margin-left:0;padding:20px 16px calc(24px + var(--mobile-nav-offset))}.sidebar{display:none}.mobile-school-header{display:flex;align-items:center;gap:11px;width:min(100%,760px);margin:0 auto 14px;padding:10px 12px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:0 14px 30px #10182814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.school-cover-hero{min-height:96px;margin-bottom:14px;padding:16px;border-radius:22px}.school-cover-avatar{width:44px;height:44px;border-radius:13px}.mobile-bottom-nav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:8px 12px env(safe-area-inset-bottom);background:linear-gradient(180deg,rgba(var(--tint-page-rgb),0) 0%,var(--dk-bg-f6faffa92, rgba(var(--tint-page-rgb), .92)) 28%,var(--dk-bg-f6faffa98, rgba(var(--tint-page-rgb), .98)) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}[data-theme=dark] .mobile-bottom-nav{background:linear-gradient(180deg,#0f111500,#0f1115eb 28%,#0f1115fa)}.mobile-bottom-nav-inner{display:grid;gap:8px;width:min(100%,760px);margin:0 auto;padding:8px;border:1px solid var(--border);border-radius:20px;background:var(--surface-soft);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;align-self:stretch;gap:6px;min-width:0;min-height:44px;height:100%;padding:10px 8px;border-radius:14px;font:inherit;text-decoration:none;overflow:hidden}.mobile-bottom-nav-item.active{background:var(--sidebar-item-active);color:var(--accent-strong)}.mobile-bottom-nav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:20px;flex:0 0 auto}.mobile-bottom-nav-label{font-size:11px;font-weight:700;line-height:1.15;text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;min-width:0;max-width:100%}.mobile-bottom-nav-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center}.nav-unread-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--surface),0 0 8px 1px #ef444473;animation:badge-pulse 2.2s ease-in-out infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 2px var(--surface),0 0 6px 1px #ef444459}50%{box-shadow:0 0 0 2px var(--surface),0 0 12px 3px #ef444499}}.mobile-more-modal{margin-top:auto;max-height:min(calc(100vh - 16px - env(safe-area-inset-bottom)),640px);border-radius:22px 22px 16px 16px}.mobile-more-list .nav-item,.mobile-more-footer .nav-item{display:flex;flex-direction:row;align-items:center;width:100%}.mobile-more-list .nav-item,.mobile-more-footer .logout-btn{justify-content:center}.mobile-more-list .nav-label,.mobile-more-footer .logout-btn .nav-label{text-align:center}.mobile-more-footer .theme-toggle{width:fit-content;justify-content:center;justify-self:center}.modal-backdrop{padding:8px 12px calc(12px + env(safe-area-inset-bottom))}}.payroll-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:16px}.payroll-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.payroll-range-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:0 0 auto}.payroll-range-field{display:grid;gap:6px;min-width:220px;flex:1 1 220px}.payroll-range-field .date-input{width:100%}.payroll-range-field .date-input-field{min-height:42px}.payroll-range-field .date-input input{width:100%}.payroll-export-btn{height:42px;white-space:nowrap;flex:0 0 auto}.payroll-stat{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);box-shadow:none}.payroll-stat-label{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;white-space:nowrap}.payroll-table-wrap{border-color:#94a3b838}.payroll-table-wrap .table th,.payroll-table-wrap .table td{border-right:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16)}.payroll-table-wrap .table th:last-child,.payroll-table-wrap .table td:last-child{border-right:0}.payroll-table-wrap .table tbody tr:last-child td{border-bottom:0}.payroll-fullscreen-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;margin:0;border-radius:0;padding:16px;background:var(--surface);overflow:auto}.payroll-fullscreen-card .payroll-table-wrap{max-height:none}.payroll-fullscreen-card .page-header,.payroll-fullscreen-card .payroll-controls,.payroll-fullscreen-card .payroll-stats,.payroll-fullscreen-card .payroll-note-row .muted{display:none}.payroll-stat strong{font-size:19px;font-weight:700;line-height:1}.payroll-note-row{margin-top:12px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.payroll-proof-cell{display:grid;gap:8px;min-width:220px}.payroll-proof-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.payroll-proof-badges{display:flex;flex-wrap:wrap;gap:4px}.pr-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:20px}.pr-kpi-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--card-border);border-radius:10px;background:var(--surface);box-shadow:0 1px 4px #0f172a0a}.pr-kpi-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.pr-kpi-icon.tone-blue{background:#2563eb14;color:#2563eb}.pr-kpi-icon.tone-green{background:#16a34a14;color:var(--dk-fg-16a34a, #16a34a)}.pr-kpi-icon.tone-amber{background:#d9770614;color:var(--dk-fg-d97706, #d97706)}.pr-kpi-icon.tone-red{background:#dc262614;color:#dc2626}.pr-kpi-body{display:flex;flex-direction:column;gap:1px;min-width:0}.pr-kpi-label{font-size:11px;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-kpi-value{font-size:20px;font-weight:700;color:var(--ink);line-height:1.1}.pr-kpi-sub{font-size:10px;color:var(--muted);margin-top:1px}.pr-filters-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pr-filter-select{min-width:200px;max-width:320px}.pr-table-wrap{overflow-x:auto;margin-bottom:16px;border-radius:10px;border:1px solid var(--card-border)}.pr-table{width:100%;border-collapse:collapse;font-size:13px}.pr-table th,.pr-table td{padding:10px 12px;border-bottom:1px solid var(--card-border);vertical-align:top;text-align:left}.pr-table thead th{background:var(--bg-alt);font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--card-border)}.pr-table tbody tr:last-child td{border-bottom:none}.pr-table tbody tr:hover{background:var(--bg-alt)}.pr-row-expanded>td{border-bottom:none}.pr-th-employee,.pr-td-employee{min-width:200px}.pr-employee-cell{display:flex;align-items:flex-start;gap:10px}.pr-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px}.pr-employee-info{display:flex;flex-direction:column;gap:2px;min-width:0}.pr-employee-name{font-weight:600;color:var(--ink);font-size:13px}.pr-employee-email{font-size:11px;color:var(--muted)}.pr-employee-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.pr-role-badge{font-size:10px;padding:1px 6px}.pr-td-rate{min-width:130px}.pr-rate-cell{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.pr-rate-value{font-weight:600;color:var(--ink)}.pr-rate-type,.pr-rate-comment{font-size:11px}.pr-rate-btn{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;text-align:left}.pr-rate-btn:hover{text-decoration:underline}.pr-td-subjects{min-width:140px;max-width:200px}.pr-subjects-cell{display:flex;flex-direction:column;gap:4px}.pr-subjects-text{font-size:12px;color:var(--ink)}.pr-class-tags{display:flex;flex-wrap:wrap;gap:3px}.pr-class-tag{font-size:10px;padding:1px 5px;border-radius:4px;background:rgba(var(--brand-600-rgb),.07);color:var(--brand-600);font-weight:500}.pr-td-lessons{min-width:140px}.pr-lessons-cell{display:flex;flex-direction:column;gap:3px}.pr-lessons-row{display:flex;align-items:center;gap:6px;font-size:12px}.pr-lessons-label{font-size:10px;min-width:20px}.pr-td-status{min-width:100px}.pr-status-cell{display:flex;flex-direction:column;gap:4px}.pr-status-item{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.pr-status-ok{color:var(--dk-fg-16a34a, #16a34a)}.pr-status-warn{color:var(--dk-fg-d97706, #d97706)}.pr-status-err{color:#dc2626}.pr-td-payroll{min-width:130px}.pr-payroll-cell{display:flex;flex-direction:column;gap:2px}.pr-payroll-amount{font-size:14px;font-weight:700;color:var(--ink)}.pr-payroll-adj{font-size:11px}.pr-payroll-basis{font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-td-expand{width:36px;text-align:center;vertical-align:middle}.pr-expand-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--card-border);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:background .12s ease,color .12s ease}.pr-expand-btn:hover{background:var(--bg-alt);color:var(--ink)}.pr-expand-btn.is-open{background:var(--bg-alt);color:var(--accent);transform:rotate(90deg)}.pr-detail-row>td{padding:0 12px 10px;background:rgba(var(--brand-50-rgb),.4);border-bottom:1px solid var(--card-border)}.pr-detail-grid{display:flex;flex-wrap:wrap;gap:12px 24px;padding:10px 0 4px}.pr-detail-item{display:flex;flex-direction:column;gap:1px;font-size:12px}.pr-detail-item span{font-size:11px}.pr-detail-badges{display:flex;flex-wrap:wrap;gap:4px;width:100%}.callout{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--ink);padding:12px 14px}.callout.danger{border-color:#dc262642;background:var(--dk-bg-fee2e2a72, rgba(254, 226, 226, .72))}.callout.success{border-color:#16a34a3d;background:var(--dk-bg-dcfce7a68, rgba(220, 252, 231, .68))}.callout.info{border-color:rgba(var(--brand-500-rgb),.18);background:var(--dk-bg-eff6ffa72, rgba(var(--brand-50-rgb), .72))}.journal-stage-card{padding:12px 14px}.journal-stage-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.journal-stage-card-head h2{margin:0;font-size:18px}.journal-stage-list{display:grid;gap:8px}.journal-stage-group{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);overflow:hidden}.journal-stage-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;cursor:pointer}.journal-stage-toggle:hover{background:var(--dk-bg-eff6ffa66, rgba(var(--brand-50-rgb), .66))}.journal-stage-group.is-open .journal-stage-toggle{border-bottom:1px solid var(--border)}.journal-stage-title{flex:1;font-size:14px;font-weight:700}.journal-stage-meta{color:var(--muted);font-size:12px}.journal-stage-toggle-icon{color:var(--muted);font-size:18px;line-height:1;width:18px;text-align:right}.journal-stage-body{padding:10px;display:grid;gap:8px}.journal-parallel-row{display:flex;align-items:center;gap:10px}.journal-parallel-label{flex:0 0 auto;min-width:86px;font-size:13px;font-weight:700;color:var(--muted)}.journal-class-chips{display:flex;flex-wrap:wrap;gap:8px}.journal-class-chip{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);padding:6px 10px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.journal-class-chip:hover{background:var(--dk-bg-eff6ffa96, rgba(var(--brand-50-rgb), .96));border-color:rgba(var(--brand-500-rgb),.24)}.journal-class-chip.is-active{background:var(--dk-bg-dbeafea95, rgba(var(--brand-100-rgb), .95));border-color:rgba(var(--brand-600-rgb),.34);color:var(--accent-strong)}.journal-stage-card-title{margin:0;font-size:16px;font-weight:700}.jv-selected-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;border:1px solid rgba(var(--brand-600-rgb),.35);background:var(--dk-bg-ffffff, #fff);color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.jv-chip-check{margin-left:4px;color:var(--accent);flex-shrink:0}.jv-filters-accordion{padding:0;overflow:hidden}.jv-filters-accordion-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;text-align:left}.jv-filters-accordion-header:hover{background:var(--surface-hover, #f8fafc)}.jv-filters-accordion-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border, #e2e8f0)}.jv-filters-chevron{margin-left:auto;color:var(--muted);transition:transform .18s ease;flex-shrink:0}.jv-filters-chevron.is-open{transform:rotate(180deg)}.jv-filter-icon{color:var(--muted);flex-shrink:0}.jv-filter-label{font-size:13px;font-weight:600;color:var(--ink)}.jv-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.jv-filter-select{height:30px;padding:0 8px;border-radius:7px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--ink);font-size:12px;cursor:pointer}.jv-filter-clear{padding:4px 10px;border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;border-radius:6px}.jv-filter-clear:hover{background:rgba(var(--brand-600-rgb),.07)}.jv-journal-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.jv-toolbar-left{flex:1;min-width:0}.jv-toolbar-title{font-size:20px;font-weight:700;color:var(--ink);line-height:1.2;white-space:nowrap}.jv-toolbar-subtitle{font-size:12px;color:var(--muted);margin-top:1px}.jv-toolbar-week{display:flex;align-items:center;gap:8px;flex-shrink:0}.jv-week-arrow{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.jv-week-arrow:hover{background:rgba(var(--brand-600-rgb),.07);border-color:rgba(var(--brand-600-rgb),.25)}.jv-week-label{font-size:14px;font-weight:600;color:var(--ink);min-width:130px;text-align:center;white-space:nowrap}.jv-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.jv-today-btn{height:32px;padding:0 12px;font-size:12px;border-radius:7px}.journal-fullscreen-card .jv-toolbar-left,.journal-fullscreen-card .jv-today-btn{display:none}.journal-fullscreen-card .jv-journal-toolbar{justify-content:space-between}.journal-fullscreen-card .jv-toolbar-week{flex:1;justify-content:center}.jv-student-header{font-size:12px;font-weight:700;color:var(--ink)}.jv-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 4px;flex-shrink:0}.jv-topbar-title{margin:0;font-size:20px;font-weight:700;color:var(--ink);white-space:nowrap}.jv-topbar-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.jv-class-selector{position:relative}.jv-class-selector-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.jv-class-selector-btn:hover,.jv-class-selector-btn.is-open{background:var(--dk-bg-eff6ffa90, rgba(var(--brand-50-rgb), .9));border-color:rgba(var(--brand-600-rgb),.28)}.jv-selector-icon{color:var(--muted);flex-shrink:0}.jv-selector-chevron{color:var(--muted);transition:transform .16s ease;flex-shrink:0}.jv-selector-chevron.is-open{transform:rotate(180deg)}.jv-class-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:280px;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #1018281f;overflow:hidden}.jv-class-search-wrap{padding:10px 10px 8px;border-bottom:1px solid var(--border)}.jv-class-search{width:100%;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:13px;outline:none;box-sizing:border-box}.jv-class-search:focus{border-color:rgba(var(--brand-600-rgb),.4)}.jv-class-dropdown-body{max-height:300px;overflow-y:auto;padding:8px;display:grid;gap:10px}.jv-class-dropdown-group{display:grid;gap:6px}.jv-class-dropdown-stage{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 2px}.jv-class-dropdown-empty{padding:12px;text-align:center;color:var(--muted);font-size:13px}.jv-week-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.jv-week-label-btn{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;min-width:130px;text-align:center}.jv-week-label-btn:hover{background:var(--dk-bg-eff6ffa90, rgba(var(--brand-50-rgb), .9));border-color:rgba(var(--brand-600-rgb),.28)}.jv-fs-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.jv-fs-btn:hover{background:var(--dk-bg-eff6ffa90, rgba(var(--brand-50-rgb), .9));border-color:rgba(var(--brand-600-rgb),.28);color:var(--accent)}.jv-subject-header-card{position:relative;background:linear-gradient(135deg,var(--dk-bg-eef5ff, #eef5ff) 0%,var(--dk-bg-e8f0fe, #e8f0fe) 100%);border:1px solid rgba(var(--brand-600-rgb),.14);border-radius:12px;padding:2px;flex-shrink:0}.jv-subject-selector-btn{display:inline-flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;border-radius:10px;background:transparent;color:var(--ink);font:inherit;cursor:pointer;text-align:left;transition:background .15s}.jv-subject-selector-btn:hover:not(:disabled){background:var(--dk-bg-ffffffa55, rgba(255, 255, 255, .55))}.jv-subject-selector-btn:disabled{cursor:default}.jv-subject-icon{color:var(--accent);flex-shrink:0}.jv-subject-name{font-size:16px;font-weight:700;color:var(--ink);flex:1}.jv-subject-count{font-size:12px;font-weight:500;color:var(--muted);margin-left:auto;white-space:nowrap}.jv-subject-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #1018281f;padding:6px;display:grid;gap:2px}.jv-subject-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-align:left;transition:background .14s}.jv-subject-option:hover{background:var(--surface-2)}.jv-subject-option.is-active{background:var(--dk-bg-dbeafea70, rgba(var(--brand-100-rgb), .7));color:var(--accent-strong);font-weight:600}.jv-subject-check{color:var(--accent);flex-shrink:0}.jv-filters-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-shrink:0;flex-wrap:wrap}.jv-name-cell{padding:6px 10px;min-height:42px}.jv-name-surname{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jv-name-rest{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 5px;border-radius:5px;font-size:11px;font-weight:700;line-height:1}.jv-high{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-15803d, #15803d)}.jv-mid{background:var(--dk-bg-fef9c3, #fef9c3);color:var(--dk-fg-a16207, #a16207)}.jv-low,.jv-absent{background:#ef444424;color:var(--dk-fg-b91c1c, #b91c1c)}.jv-late{background:#f59e0b24;color:var(--dk-fg-b45309, #b45309)}.jv-plain{font-size:12px;font-weight:600;color:var(--ink)}.jv-empty{color:#c8d0dc;font-size:12px}.jv-hw-done{color:var(--dk-fg-16a34a, #16a34a)}.jv-hw-circle{font-size:13px;color:#c8d0dc}.jv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.jv-legend-item{display:inline-flex;align-items:center;gap:5px}.jv-footer{padding:8px 16px;border-top:1px solid var(--border);font-size:12px}.journal-table-card.jv-redesigned{padding-top:0}.journal-table-card.jv-redesigned .journal-grid{min-width:0}.journal-table-card.jv-redesigned .journal-header.journal-sticky{background:var(--bg-alt);z-index:3}.jv-period-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.jv-periods-hint{font-size:13px;padding:0 4px}body.payroll-fullscreen-active .sidebar{display:none}body.payroll-fullscreen-active .app-layout{grid-template-columns:1fr}body.payroll-fullscreen-active .page{padding:0}@media (max-width: 1100px){.payroll-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 720px){.payroll-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.payroll-range-field,.payroll-export-btn{width:100%;flex:1 1 100%}.payroll-note-row{grid-template-columns:1fr;justify-items:start}.homework-create-helper-row,.homework-materials-head,.homework-flat-materials-head,.homework-materials-empty,.homework-create-footer-actions,.homework-create-primary-actions,.homework-flat-material-item-head,.homework-material-actions,.homework-file-picker-row{align-items:stretch;flex-direction:column}.homework-create-helper-row .btn,.homework-materials-head .btn,.homework-flat-materials-head .btn,.homework-materials-empty .btn,.homework-create-footer-actions .btn,.homework-create-primary-actions .btn,.homework-material-actions .btn,.homework-file-picker-row .btn{width:100%}.journal-stage-card{padding:12px}.journal-stage-card-head{align-items:flex-start;flex-direction:column}.journal-parallel-row{align-items:flex-start;flex-direction:column;gap:6px}.journal-parallel-label{min-width:0}}.training-center-task-filterbar{display:flex;flex-wrap:wrap;gap:10px}.training-center-task-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.training-center-task-updates,.training-center-task-updates-list{display:grid}.training-center-task-updates{gap:12px}.training-center-task-updates-head,.training-center-task-updates-title,.training-center-task-update-item{display:flex}.training-center-task-updates-head,.training-center-task-update-item{align-items:flex-start;justify-content:space-between;gap:12px}.training-center-task-updates-title{align-items:center;gap:8px}.training-center-task-updates-list{gap:10px}.training-center-task-update-item{padding:10px 12px;border-radius:10px;background:var(--dk-bg-f8fafca92, rgba(248, 250, 252, .92))}.training-center-task-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px;display:grid;gap:12px}.training-center-task-card-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.95fr);gap:18px;align-items:start}.training-center-task-card-main,.training-center-task-card-side,.training-center-task-personal-card,.training-center-task-progress,.training-center-task-menu,.training-center-task-menu-statuses{display:grid}.training-center-task-card-main,.training-center-task-card-side,.training-center-task-personal-card,.training-center-task-progress{gap:10px}.training-center-task-card.is-overdue{border-color:#ef444447;box-shadow:0 0 0 1px #ef444414}.training-center-task-card-head,.training-center-manager-card,.training-center-manager-card-head,.training-center-task-card-actions,.training-center-task-card-badges,.training-center-task-card-meta,.training-center-task-status-row,.training-center-manager-meta,.training-center-manager-card-body{display:flex}.training-center-task-card-head{align-items:flex-start;justify-content:space-between;gap:12px}.training-center-task-card-head h3{margin:0;font-size:17px}.training-center-task-card-title{display:grid;gap:8px;min-width:0}.training-center-task-card-badges,.training-center-task-card-actions,.training-center-task-card-meta,.training-center-task-status-row,.training-center-manager-meta{flex-wrap:wrap;gap:8px}.training-center-task-card-description{margin:0;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.training-center-task-card-meta{color:var(--muted);font-size:13px}.training-center-task-card-meta>div{display:inline-flex;align-items:center;gap:6px}.training-center-task-card-foot{color:var(--muted);font-size:12px}.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head,.training-center-task-personal-actions,.training-center-task-tool-actions,.training-center-task-search{display:flex}.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head{align-items:center;justify-content:space-between;gap:10px}.training-center-task-summary,.training-center-task-manager-progress,.training-center-task-team-progress{color:var(--muted);font-size:13px;line-height:1.45}.training-center-task-assignee-pills{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.training-center-task-mini-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--dk-bg-f1f5f9a95, rgba(241, 245, 249, .95));color:var(--muted);font-size:12px;line-height:1.2}.training-center-task-mini-pill.muted{opacity:.85}.training-center-task-mini-pill.is-done{padding:6px 10px;background:var(--dk-bg-dcfce7a95, rgba(220, 252, 231, .95));color:var(--dk-fg-166534, #166534);font-weight:700}.training-center-task-mini-pill.is-in_progress{background:var(--dk-bg-dbeafea95, rgba(var(--brand-100-rgb), .95));color:var(--dk-fg-1d4ed8, var(--brand-700));font-weight:600}.training-center-task-status-row{gap:10px}.training-center-task-status-row .chip{white-space:nowrap}.training-center-task-modal{display:grid;gap:14px}.training-center-task-modal .modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.training-center-task-modal .field textarea{min-height:88px}.training-center-task-section{display:grid;gap:10px}.training-center-task-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.training-center-task-callout{margin-top:0}.training-center-task-assignee-list,.training-center-task-assignee-picker{display:grid;gap:10px}.training-center-task-assignee{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--dk-bg-f8fafca92, rgba(248, 250, 252, .92))}.training-center-task-assignee-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.training-center-task-assignee-name{font-weight:600}.training-center-task-assignee-meta{display:grid;gap:4px;color:var(--muted);font-size:13px}.training-center-task-personal{display:grid;gap:10px;padding-top:2px}.training-center-task-personal-card{padding:14px;border-radius:12px;background:var(--dk-bg-f8fafca92, rgba(248, 250, 252, .92));border:1px solid rgba(148,163,184,.14)}.training-center-task-personal-note{margin:0;color:var(--muted);font-size:13px}.training-center-task-personal-actions,.training-center-task-tool-actions{flex-wrap:wrap;gap:8px}.training-center-task-primary-btn{justify-content:center;min-height:40px}.training-center-task-save-btn{justify-self:flex-start}.training-center-task-progress-bar{height:7px;border-radius:999px;background:#94a3b82e;overflow:hidden}.training-center-task-progress-bar span{display:block;height:100%;border-radius:inherit;background:#22c55ecc}.training-center-task-status-compact{display:grid;gap:8px}.training-center-task-form-tools{display:grid;gap:10px}.training-center-task-search{align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.training-center-task-search input{border:0;background:transparent;box-shadow:none;padding:11px 0}.training-center-task-search input:focus{outline:none}.training-center-task-assignee-picker{max-height:280px;overflow-y:auto}.training-center-task-assignee-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.training-center-task-assignee-option strong{display:block;margin-bottom:2px}.training-center-task-assignee-option .muted{font-size:13px}.training-center-task-assignee-option.active{border-color:rgba(var(--brand-500-rgb),.3);background:var(--dk-bg-eff6ffa65, rgba(var(--brand-50-rgb), .65))}.training-center-task-assignee-option input{margin-top:3px}.training-center-team-tasks-page .btn-xs{min-height:32px;padding:6px 10px;border-radius:8px;font-size:13px}.training-center-team-tasks-page .rotated{transform:rotate(180deg)}.training-center-task-menu-trigger{color:var(--muted)}.training-center-task-card-actions{position:relative;flex-wrap:nowrap}.training-center-task-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;padding:8px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 30px #0f172a1f;gap:6px;z-index:4}.training-center-task-menu-item{display:inline-flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.training-center-task-menu-item:hover{background:var(--dk-bg-f1f5f9a90, rgba(241, 245, 249, .9))}.training-center-task-menu-item.danger{color:var(--dk-fg-b91c1c, #b91c1c)}.training-center-task-menu-item.danger:hover{background:var(--dk-bg-fef2f2a95, rgba(254, 242, 242, .95))}.training-center-task-menu-divider{height:1px;background:var(--border);margin:4px 0}.training-center-task-menu-label{padding:2px 2px 0;color:var(--muted);font-size:12px}.training-center-task-menu-statuses{gap:8px}.training-center-manager-list{display:grid;gap:14px}.training-center-manager-card{align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px 18px}.training-center-manager-card.active{border-color:#22c55e47;background:var(--dk-bg-f0fdf4a72, rgba(240, 253, 244, .72))}.training-center-manager-card-body{flex:1;min-width:0;flex-direction:column;gap:10px}.training-center-manager-card-head{align-items:center;gap:12px;min-width:0}.training-center-manager-icon{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--dk-bg-dbeafea90, rgba(var(--brand-100-rgb), .9));color:var(--accent-strong);flex:0 0 auto}.training-center-manager-card.active .training-center-manager-icon{background:var(--dk-bg-dcfce7a95, rgba(220, 252, 231, .95));color:var(--dk-fg-15803d, #15803d)}@media (max-width: 720px){.training-center-task-grid{grid-template-columns:1fr}.training-center-task-card-layout{grid-template-columns:1fr;gap:14px}.training-center-task-updates-head,.training-center-task-update-item,.training-center-task-card-head,.training-center-manager-card,.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head{flex-direction:column;align-items:stretch}.training-center-manager-card .btn,.training-center-task-card-actions,.training-center-task-personal-actions .btn,.training-center-task-tool-actions .btn,.training-center-task-modal .modal-actions .btn{width:100%}.training-center-task-card-actions{align-self:flex-end;width:auto}.training-center-task-assignee-main,.training-center-task-section-head{align-items:flex-start;flex-direction:column}.training-center-task-card{padding:14px}.training-center-task-status-row .chip{flex:1 1 calc(50% - 6px);justify-content:center}.training-center-task-menu{left:0;right:auto;min-width:min(260px,calc(100vw - 48px))}}.la-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.la-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.la-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.la-empty{font-size:13px;color:var(--muted);margin:0}.la-list{display:flex;flex-direction:column;gap:4px}.la-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft, var(--surface));transition:background .12s}.la-item:hover{background:var(--surface-hover, var(--surface))}.la-item-icon{display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.la-item-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.la-item-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.la-item-size{font-size:11px;color:var(--muted)}.la-item-actions{display:flex;align-items:center;gap:4px}.la-item-action{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;flex-shrink:0}.la-upload-modal{width:min(460px,100%)}.la-type-tabs{display:flex;gap:4px;margin:16px 0;padding:3px;background:var(--surface-soft, var(--background));border:1px solid var(--border);border-radius:10px}.la-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.la-type-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.la-type-tab:hover:not(.active){color:var(--text)}.la-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 24px;border:1.5px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.la-dropzone:hover,.la-dropzone.drag-over{border-color:var(--primary, var(--brand-600));background:rgba(var(--brand-600-rgb),.04);color:var(--text)}.la-dropzone.has-file{border-style:solid;border-color:var(--primary, var(--brand-600));color:var(--text)}.la-dropzone-filename{font-weight:500;word-break:break-all}.la-dropzone-hint{font-size:11px;color:var(--muted)}.la-progress{margin-top:10px;height:5px;border-radius:999px;background:var(--border);overflow:hidden}.la-progress-bar{height:100%;border-radius:999px;background:var(--primary, var(--brand-600));transition:width .1s linear}.la-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;background:#040810d9;display:flex;align-items:center;justify-content:center;padding:20px}.la-viewer-panel{display:flex;flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 40px);background:var(--surface);border-radius:14px;overflow:hidden}.la-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.la-viewer-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-viewer-content{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px}.la-viewer-video{width:100%;max-height:calc(90vh - 100px);border-radius:6px}.la-viewer-audio-wrap{padding:20px;width:100%}.la-viewer-audio{width:100%}.la-viewer-image{max-width:100%;max-height:calc(90vh - 120px);object-fit:contain;border-radius:6px}@media (max-width: 540px){.la-item{grid-template-columns:24px 1fr;row-gap:6px}.la-item-actions{grid-column:1 / -1}}.hw-detail-header{display:grid;gap:12px}.hw-detail-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.hw-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--accent)}.hw-back-btn:hover{color:var(--accent-strong)}.hw-detail-title{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--ink)}.hw-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.hw-detail-deadline{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:var(--muted)}.hw-detail-deadline.is-overdue{color:#ef4444}.hw-detail-teacher{font-size:13px}.hw-detail-description{margin:0;font-size:15px;color:var(--ink);line-height:1.6}.hw-detail-section{display:grid;gap:14px}.hw-material-list{display:grid;gap:10px}.hw-material-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.hw-material-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.hw-material-info{flex:1;min-width:0;display:grid;gap:2px;align-content:start}.hw-material-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-material-type{font-size:12px}.hw-material-actions{flex-shrink:0;display:flex;flex-direction:row;align-items:center;gap:6px}.hw-download-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;padding:0;font-size:13px}.hw-answer-form{display:grid;gap:14px}.hw-answer-textarea{width:100%;min-height:120px;box-sizing:border-box;resize:vertical;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5;border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);color:var(--ink);transition:border-color .15s,box-shadow .15s}.hw-answer-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-glow)}.hw-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;color:var(--muted);font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.hw-dropzone:hover,.hw-dropzone.is-drag-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hw-dropzone-hint{font-size:12px;font-weight:400}.hw-submit-btn{width:100%;justify-content:center;padding-top:13px;padding-bottom:13px;font-size:15px}.school-requisites-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:16px}.school-requisites-input-wrap{position:relative}.school-requisites-input-wrap .input{padding-right:38px}.school-requisites-input-wrap .input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 1px #dc262624}.school-requisites-clear{position:absolute;right:8px;top:50%;width:24px;height:24px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);cursor:pointer}.school-requisites-clear:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.school-requisites-clear:disabled{cursor:default;opacity:.35}.school-requisites-error{margin-top:6px;color:#dc2626;font-size:12px;font-weight:600}.school-requisites-hint{font-size:11px;color:var(--muted);margin-top:3px}.school-requisites-warning{font-size:11px;color:var(--dk-fg-b45309, #b45309);margin-top:3px}@media (max-width: 600px){.school-requisites-grid{grid-template-columns:1fr}.school-requisites-grid .form-group[style*=grid-column]{grid-column:1!important}}.school-requisites-dl{margin:12px 0 0;display:grid;grid-template-columns:1fr;gap:0}.school-requisites-dl-row{display:grid;grid-template-columns:200px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);align-items:baseline}.school-requisites-dl-row:last-child{border-bottom:none}.school-requisites-dl-row dt{font-size:13px;color:var(--text-muted);font-weight:500}.school-requisites-dl-row dd{margin:0;font-size:14px;word-break:break-word}@media (max-width: 540px){.school-requisites-dl-row{grid-template-columns:1fr;gap:2px}}.modal-card.billing-limit-modal{width:min(480px,100%)}.billing-limit-body{display:flex;flex-direction:column;gap:16px;padding-top:4px}.billing-limit-stat{display:flex;align-items:baseline;gap:4px;background:#ef44440f;border:1px solid rgba(239,68,68,.18);border-radius:10px;padding:12px 16px}.billing-limit-stat__current{font-size:28px;font-weight:700;color:var(--danger, #ef4444);line-height:1}.billing-limit-stat__sep{font-size:20px;color:var(--text-muted);margin:0 2px}.billing-limit-stat__max{font-size:20px;font-weight:600;color:var(--ink);line-height:1}.billing-limit-stat__label{font-size:13px;color:var(--text-muted);margin-left:8px}.billing-limit-overage{background:rgba(var(--brand-600-rgb),.05);border:1px solid rgba(var(--brand-600-rgb),.15);border-radius:10px;padding:12px 16px;font-size:14px}.billing-limit-overage__title{font-weight:600;margin-bottom:4px}.billing-limit-overage p{margin:0;color:var(--text-secondary)}.billing-limit-actions-info{display:flex;flex-direction:column;gap:8px}.billing-limit-action-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-secondary);line-height:1.4}.billing-limit-action-icon{flex-shrink:0;font-size:16px;margin-top:1px}.payroll-tabs{display:flex;gap:3px;padding:4px;background:var(--bg-secondary, #f1f5f9);border-radius:12px;width:fit-content;margin-top:16px;margin-bottom:8px}.payroll-tab{padding:9px 22px;border:none;border-radius:9px;background:transparent;font-size:15px;font-weight:500;cursor:pointer;color:var(--text-secondary, #64748b);transition:background .15s,color .15s}.payroll-tab.is-active{background:var(--dk-bg-ffffff, #fff);color:var(--text-primary, #0f172a);box-shadow:0 1px 5px #0000001f;font-weight:600}.quality-tab{display:flex;flex-direction:column;gap:24px;padding-top:8px}.quality-hero{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:28px;background:var(--dk-bg-f8fafc, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px}.quality-donut-wrap{display:flex;align-items:center;gap:24px}.quality-donut{width:164px;height:164px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 8px #ffffff0d}.quality-donut-center{width:106px;height:106px;border-radius:50%;background:var(--dk-bg-f8fafc, #f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary, #0f172a)}.quality-donut-center strong{font-family:Montserrat,sans-serif;font-size:28px;font-weight:700;line-height:1}.quality-donut-center span{font-size:11px;opacity:.5;margin-top:3px;text-transform:uppercase;letter-spacing:.05em}.quality-donut-legend{display:flex;flex-direction:column;gap:9px;color:var(--text-secondary, #64748b);font-size:13px}.quality-donut-legend span{display:flex;align-items:center;gap:8px}.quality-donut-legend b{color:var(--text-primary, #0f172a);font-weight:600}.q-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.q-dot-conducted{background:#22a06b}.q-dot-not-counted{background:#e25544}.q-dot-awaiting{background:#f6ab36}.q-dot-rest{background:#475569}.quality-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quality-kpi-grid .director-stat-card{min-height:110px}.quality-kpi-grid .director-stat-card strong{font-size:26px}.quality-teachers-section{display:flex;flex-direction:column;gap:14px}.quality-teachers-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quality-teachers-title{display:flex;align-items:center;gap:10px}.quality-teachers-title h2{margin:0;font-size:16px;font-weight:700}.quality-problem-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;background:var(--dk-bg-fef2f2, #fef2f2);color:#dc2626;font-size:12px;font-weight:600;border:1px solid var(--dk-bd-fecaca, #fecaca)}.quality-sort-tabs{display:flex;gap:2px;background:var(--bg-secondary, #f1f5f9);border-radius:8px;padding:3px}.quality-sort-tabs button{padding:4px 12px;border-radius:6px;border:none;background:transparent;font-size:13px;cursor:pointer;color:var(--text-secondary, #64748b);font-weight:500;transition:background .15s,color .15s}.quality-sort-tabs button.is-active{background:var(--dk-bg-ffffff, #fff);color:var(--text-primary, #0f172a);box-shadow:0 1px 3px #0000001a;font-weight:600}.quality-teacher-list{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.quality-teacher-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(120px,2fr) 100px 22px minmax(80px,1fr) 36px;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.quality-teacher-row:last-child{border-bottom:none}.quality-teacher-row:hover{background:var(--bg-secondary, #f8fafc)}.quality-teacher-info{display:flex;flex-direction:column;gap:2px;min-width:0}.quality-teacher-info strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-teacher-info .muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-bar-wrap{display:flex;align-items:center;gap:8px}.quality-bar{flex:1;height:7px;border-radius:100px;background:var(--border, #e2e8f0);overflow:hidden;display:flex}.quality-bar-seg{height:100%;transition:width .4s ease}.quality-bar-seg.conducted{background:#22a06b}.quality-bar-seg.not-counted{background:#e25544}.quality-bar-seg.awaiting{background:#f6ab36}.quality-bar-pct{font-size:12px;font-weight:600;white-space:nowrap;min-width:30px;text-align:right}.quality-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-transform:uppercase}.quality-pill.excellent{background:var(--dk-bg-f0fdf4, #f0fdf4);color:var(--dk-fg-16a34a, #16a34a);border:1px solid var(--dk-bd-bbf7d0, #bbf7d0)}.quality-pill.warning{background:var(--dk-bg-fffbeb, #fffbeb);color:var(--dk-fg-b45309, #b45309);border:1px solid #fde68a}.quality-pill.problem{background:var(--dk-bg-fef2f2, #fef2f2);color:#dc2626;border:1px solid var(--dk-bd-fecaca, #fecaca)}.quality-pill.no_data{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border, #e2e8f0)}.quality-recording-icon{display:flex;align-items:center;justify-content:center;color:var(--brand2-500)}.quality-counts{display:flex;align-items:center;gap:8px}.quality-count{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:600}.quality-count.conducted{color:var(--dk-fg-16a34a, #16a34a)}.quality-count.not-counted{color:#dc2626}.quality-count.awaiting{color:var(--dk-fg-b45309, #b45309)}.quality-goto-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 12px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:transparent;cursor:pointer;color:var(--text-secondary, #64748b);font-size:13px;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.quality-goto-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a);border-color:#94a3b8}.quality-empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #64748b);font-size:14px;border:1px solid var(--border, #e2e8f0);border-radius:10px}.mc-page{display:flex;flex-direction:column;gap:16px}.mc-hero{padding:20px 24px}.mc-hero-title{font-size:20px;font-weight:700;margin:0 0 2px}.mc-hero-sub{font-size:14px;margin:0}.mc-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:stretch}.mc-history{display:flex;flex-direction:column;align-self:stretch}.mc-history-card{flex:1;display:flex;flex-direction:column;min-height:560px}@media (max-width: 900px){.mc-layout{grid-template-columns:1fr}}.mc-sidebar{display:flex;flex-direction:column;gap:12px}.mc-card-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:12px}.mc-actions-card{padding:16px}.mc-actions-list{display:flex;flex-direction:column;gap:4px}.mc-action-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:none;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .15s}.mc-action-btn:hover:not(:disabled){background:var(--surface-soft)}.mc-action-btn--soon{opacity:.45;cursor:not-allowed}.mc-action-btn--disabled{opacity:.38;cursor:not-allowed}.mc-action-icon{color:var(--primary);flex-shrink:0}.mc-action-btn--soon .mc-action-icon,.mc-action-btn--disabled .mc-action-icon{color:var(--text-secondary)}.mc-year-ended-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--color-background-warning);color:var(--color-text-warning);border-radius:12px}.mc-year-ended-icon{flex-shrink:0}.mc-year-ended-text{flex:1;font-size:14px}.mc-action-text{flex:1;display:flex;flex-direction:column;gap:1px}.mc-action-label{font-size:14px;font-weight:500;color:var(--text-primary)}.mc-action-hint{font-size:12px}.mc-open-card{padding:16px}.mc-open-card--link{display:block;text-decoration:none;cursor:pointer;transition:box-shadow .15s,transform .1s}.mc-open-card--link:hover{box-shadow:0 0 0 2px var(--primary);transform:translateY(-1px)}.mc-open-count{font-size:32px;font-weight:700;color:var(--primary);line-height:1;margin-bottom:4px}.mc-open-hint{font-size:13px}.mc-snapshot-card{padding:16px}.mc-snapshot-list{display:flex;flex-direction:column;gap:8px;font-size:13px}.mc-snapshot-row{display:flex;align-items:center;gap:8px}.mc-snapshot-label{color:var(--text-primary)}.mc-history-card{padding:20px;display:flex;flex-direction:column}.mc-history-body{flex:1;min-height:0;display:flex;flex-direction:column}.mc-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mc-history-head .mc-card-title{margin-bottom:0}.mc-refresh-btn{padding:4px 8px;height:auto}.mc-history-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center;font-size:14px}.mc-history-empty-icon{opacity:.4}.mc-event-groups{display:flex;flex-direction:column;gap:20px}.mc-event-group{display:flex;flex-direction:column;gap:6px}.mc-event-date-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.mc-event-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.mc-event-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mc-event-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mc-event-subject{font-size:13px;font-weight:500;color:var(--text-primary)}.mc-event-time{font-size:12px;white-space:nowrap;flex-shrink:0}.mc-event-desc{font-size:12px;padding-left:2px}.mc-wizard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.mc-wizard-modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.mc-wizard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.mc-wizard-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.mc-wizard-steps{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.mc-wizard-step-label{font-size:12px;color:var(--text-secondary);opacity:.5}.mc-wizard-step-label.is-active{color:var(--primary);font-weight:600;opacity:1}.mc-wizard-step-label.is-done{opacity:.7}.mc-wizard-step-sep{margin:0 4px;opacity:.4}.mc-wizard-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;border-radius:6px;display:flex;align-items:center;flex-shrink:0}.mc-wizard-close:hover{background:var(--surface-soft);color:var(--text-primary)}.mc-wizard-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.mc-wizard-field{display:flex;flex-direction:column;gap:6px}.mc-field-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.mc-wizard-loading{display:flex;justify-content:center;padding:16px 0}.mc-wizard-empty{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:12px 0}.mc-lesson-list{display:flex;flex-direction:column;gap:4px}.mc-lesson-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.mc-lesson-row:hover{border-color:var(--primary);background:var(--surface-soft)}.mc-lesson-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent)}.mc-lesson-time{font-size:13px;font-weight:600;color:var(--primary);min-width:90px;flex-shrink:0}.mc-lesson-subject{font-size:14px;color:var(--text-primary);flex:1}.mc-lesson-check{color:var(--primary);flex-shrink:0}.mc-candidates-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px}.mc-candidate-list{display:flex;flex-direction:column;gap:4px}.mc-candidate-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.mc-candidate-row:hover:not(.is-disabled){border-color:var(--primary);background:var(--surface-soft)}.mc-candidate-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent)}.mc-candidate-row.is-disabled{cursor:default;opacity:.55}.mc-candidate-name{font-size:14px;font-weight:500;color:var(--text-primary);flex:1}.mc-wizard-lesson-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px}.mc-wizard-lesson-label{font-size:15px;font-weight:600;color:var(--text-primary)}.mc-wizard-lesson-meta{font-size:13px;color:var(--text-secondary)}.mc-preview-card{border:1px solid var(--border);border-radius:12px;overflow:hidden}.mc-preview-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.mc-preview-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.mc-preview-row:last-child{border-bottom:none}.mc-preview-key{font-size:13px;color:var(--text-secondary);min-width:110px;flex-shrink:0}.mc-preview-val{font-size:13px;color:var(--text-primary)}.mc-preview-highlight{font-weight:600;color:var(--primary)}.mc-preview-note{font-size:13px;color:var(--text-secondary);padding:0 2px}.mc-wizard-processing{align-items:center;justify-content:center;padding:48px 20px;gap:16px}.mc-processing-text{font-size:15px;color:var(--text-secondary)}.mc-wizard-done{align-items:center;text-align:center;padding:36px 20px 24px;gap:12px}.mc-done-icon{color:var(--dk-fg-22c55e, #22c55e)}.mc-done-title{font-size:18px;font-weight:700;color:var(--text-primary)}.mc-done-desc{font-size:14px;color:var(--text-secondary);line-height:1.6}.mc-done-footer{width:100%;justify-content:center;margin-top:8px}.mc-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid var(--border);padding-top:16px}.swp-page{display:flex;flex-direction:column;gap:16px}.swp-header{display:flex;align-items:center;gap:16px;padding:16px 20px}.swp-back-btn{flex-shrink:0;display:flex;align-items:center;gap:6px}.swp-header-center{display:flex;flex-direction:column;gap:4px}.swp-title{font-size:18px;font-weight:700;margin:0}.swp-open-requests{padding:14px 16px;border-left:3px solid var(--color-text-warning, #d97706)}.swp-open-requests-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-warning, #d97706);margin-bottom:10px}.swp-open-requests-icon{flex-shrink:0}.swp-open-requests-list{display:flex;flex-direction:column;gap:8px}.swp-open-request-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle, rgba(0,0,0,.06))}.swp-open-request-row:last-child{border-bottom:none;padding-bottom:0}.swp-open-request-info{display:flex;flex-direction:column;gap:2px;min-width:0}.swp-open-request-subject{font-size:14px;font-weight:500}.swp-open-request-date,.swp-open-request-reason{font-size:12px}.swp-open-request-cancel{flex-shrink:0;color:var(--color-text-danger, #dc2626)!important;border-color:#dc262640!important}.swp-open-request-cancel:hover{background:#dc262614!important}.swp-steps{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.swp-step{font-size:12px;color:var(--text-secondary);opacity:.45}.swp-step.is-active{color:var(--primary);font-weight:600;opacity:1}.swp-step.is-done{opacity:.65}.swp-step-sep{margin:0 6px;opacity:.35}.swp-layout{display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto auto;gap:16px;align-items:stretch}.swp-layout--narrow{grid-template-columns:1fr;max-width:560px}.swp-layout--single{display:flex;flex-direction:column;gap:16px;width:100%}@media (max-width: 800px){.swp-layout{grid-template-columns:1fr}}.swp-footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.swp-form-card,.swp-summary-card{padding:20px;display:flex;flex-direction:column;gap:16px}.swp-lessons-card,.swp-candidates-card{padding:20px;display:flex;flex-direction:column;gap:12px}.swp-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.swp-field{display:flex;flex-direction:column;gap:6px}.swp-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.swp-section-title{display:flex;align-items:center;gap:8px}.swp-slots-count{font-size:12px;font-weight:500;color:var(--primary, var(--brand-500));background:rgba(var(--brand-500-rgb),.1);padding:2px 8px;border-radius:10px}.swp-circle{color:var(--border, rgba(0,0,0,.18));flex-shrink:0}.swp-slots-clear-row{padding:8px 12px;border-top:1px solid var(--border)}.swp-slots-clear-btn{font-size:12px;padding:4px 10px;color:var(--text-secondary)}.swp-preview-slots{display:flex;flex-direction:column;gap:3px}.swp-preview-slot{display:block}.swp-section-counter{font-size:12px;font-weight:500}.swp-skeleton-list{display:flex;flex-direction:column;gap:6px}.swp-combobox{position:relative}.swp-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--border, rgba(0,0,0,.12));border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:200;max-height:240px;overflow-y:auto;padding:4px}.swp-combobox-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;background:none;text-align:left;font-size:14px;cursor:pointer;border-radius:7px;color:var(--text-primary);transition:background .12s}.swp-combobox-item:hover{background:var(--bg-subtle, rgba(0,0,0,.04))}.swp-combobox-create{color:var(--primary, var(--brand-500));font-weight:500}.swp-combobox-create:hover{background:rgba(var(--brand-500-rgb),.08)}.swp-combobox-empty{padding:10px 12px;font-size:13px;color:var(--text-secondary)}.swp-loading{display:flex;justify-content:center;padding:20px 0}.swp-skeleton-rows{display:flex;flex-direction:column;gap:8px;width:100%}.swp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:13px;text-align:center;flex:1}.swp-workload-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.swp-workload-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.swp-workload-row-end{display:flex;align-items:center;gap:6px}.swp-conflict-hint{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-warning);white-space:nowrap}.swp-icon-btn{padding:4px 6px;border-radius:6px;color:var(--muted)}.swp-add-row-btn{margin-top:4px;align-self:flex-start}.swp-workload-hint-card{padding:16px 18px;background:rgba(var(--brand-600-rgb),.05)!important;border:1px solid rgba(var(--brand-600-rgb),.18)!important;box-shadow:none!important;display:flex;flex-direction:column;gap:12px}.swp-workload-hint-header{display:flex;align-items:flex-start;gap:10px}.swp-workload-hint-icon{flex-shrink:0;margin-top:1px;color:var(--accent-strong, var(--brand-700))}.swp-workload-hint-title{font-size:13px;font-weight:600;color:var(--accent-strong, var(--brand-700));line-height:1.4}.swp-workload-hint-subtitle{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}.swp-workload-hint-subjects{font-size:13px;color:var(--accent-strong, var(--brand-700));line-height:1.6;margin-top:8px}.swp-lesson-list{display:flex;flex-direction:column;gap:6px}.swp-slot-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}.swp-slot-card-header-left{display:flex;align-items:flex-start;gap:12px}.swp-slot-card-icon{color:var(--primary);flex-shrink:0;margin-top:2px}.swp-slot-card-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.3}.swp-slot-card-sub{font-size:13px;color:var(--text-secondary);margin-top:3px;line-height:1.4}.swp-slot-available-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);border-radius:20px;font-size:13px;font-weight:600;flex-shrink:0;line-height:1.3;white-space:nowrap}.swp-slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.swp-slot-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;transition:border-color .15s,background .15s,box-shadow .15s}.swp-slot-radio.is-selected{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--surface)}.swp-slot-footer-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.swp-lesson-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.swp-lesson-row:hover{border-color:var(--primary);background:var(--surface-soft)}.swp-lesson-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent)}.swp-lesson-row.is-blocked,.swp-lesson-row:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.swp-lesson-row--select-all{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:10px;font-weight:600}.swp-lesson-row.is-teacher-busy{border-color:#eab30866;background:#eab3080f}.badge.warning{background:#eab30826;color:var(--dk-fg-a16207, #a16207);border:1px solid rgba(234,179,8,.3)}[data-theme=dark] .badge.warning{background:#eab30826;color:#fbbf24;border-color:#eab3084d}[data-theme=dark] .swp-lesson-row.is-teacher-busy{border-color:#eab3084d;background:#eab30814}.swp-teacher-conflict-summary{display:flex;align-items:flex-start;gap:6px;padding:10px 14px;margin-top:8px;border-radius:8px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:var(--dk-fg-92400e, #92400e);font-size:13px;line-height:1.4}[data-theme=dark] .swp-teacher-conflict-summary{color:#fbbf24;background:#eab3081a;border-color:#eab3084d}.swp-teacher-conflict-icon{flex-shrink:0;margin-top:1px}.swp-lesson-time{font-size:13px;font-weight:600;color:var(--primary);min-width:96px;flex-shrink:0}.swp-lesson-subject{font-size:14px;color:var(--text-primary);flex:1}.swp-check{color:var(--primary);flex-shrink:0}.swp-checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none}.swp-checkbox{flex-shrink:0;width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.swp-selected-count{font-size:12px;font-weight:500;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:2px 8px;border-radius:10px;flex-shrink:0}.swp-transfer-names{display:flex;flex-direction:column;gap:4px;margin:12px 0 8px;padding:10px 14px;background:var(--surface-soft, rgba(0,0,0,.03));border-radius:8px;border:1px solid var(--border);max-height:200px;overflow-y:auto}.swp-transfer-name-row{font-size:13px;color:var(--text-primary);padding:2px 0}.swp-summary-row{display:flex;align-items:flex-start;gap:12px;font-size:14px}.swp-summary-label{color:var(--text-secondary);min-width:80px;flex-shrink:0}.swp-summary-val{color:var(--text-primary);font-weight:500}.swp-search{margin-bottom:4px}.swp-candidates-group{display:flex;flex-direction:column;gap:6px}.swp-candidates-group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:2px}.swp-candidate-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.swp-candidate-row:hover:not(.is-disabled){border-color:var(--primary);background:var(--surface-soft)}.swp-candidate-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent)}.swp-candidate-row.is-disabled{cursor:default;opacity:.5}.swp-candidate-name{font-size:14px;font-weight:500;color:var(--text-primary);flex:1}.swp-conflict-callout{border-left:3px solid var(--danger, #e53e3e);background:color-mix(in srgb,var(--danger, #e53e3e) 6%,var(--surface))}.swp-conflict-title{font-size:13px;font-weight:600;color:var(--danger, #e53e3e);margin-bottom:6px}.swp-conflict-row{font-size:13px;color:var(--text-primary);padding:2px 0}.swp-candidate-subjects{font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swp-preview-card{padding:0;overflow:hidden}.swp-preview-card .swp-section-title{padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface-soft);margin:0}.swp-preview-table{display:flex;flex-direction:column}.swp-preview-row{display:flex;align-items:flex-start;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border)}.swp-preview-row:last-child{border-bottom:none}.swp-preview-key{font-size:13px;color:var(--text-secondary);min-width:130px;flex-shrink:0}.swp-preview-val{font-size:14px;color:var(--text-primary)}.swp-preview-accent{font-weight:600;color:var(--primary)}.swp-preview-note{padding:14px 20px;font-size:13px}.swp-warning-block{display:flex;gap:10px;align-items:flex-start;margin:4px 20px 16px;padding:12px 14px;background:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning-border, #fcd34d);border-radius:8px;font-size:13px;line-height:1.5}.swp-warning-block__icon{flex-shrink:0;margin-top:1px;color:var(--color-warning, #d97706)}.swp-warning-block strong{display:block;font-size:13px;color:var(--color-warning, #d97706);margin-bottom:2px}.swp-warning-block p{margin:0;color:var(--color-ink)}@media (max-width: 540px){.swp-preview-row{flex-direction:column;gap:2px;padding:10px 16px}.swp-preview-key{min-width:0}}.swp-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.swp-centered img{width:200px!important;height:200px!important;margin-bottom:-20px}.swp-done-icon{color:var(--dk-fg-22c55e, #22c55e)}.swp-done-icon--cancelled{color:var(--danger, #ef4444)}.swp-preview-danger{font-weight:600;color:var(--danger, #ef4444)}.swp-done-title{font-size:20px;font-weight:700;color:var(--text-primary)}.swp-done-desc{font-size:14px;line-height:1.7}.swp-done-actions{display:flex;gap:10px;margin-top:8px}.swp-done-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 24px;text-align:center}.swp-done-img{width:96px;height:96px;object-fit:contain}.swp-checklist{display:flex;flex-direction:column;gap:0;width:100%;max-width:420px;text-align:left;border:1px solid var(--border);border-radius:10px;overflow:hidden}.swp-checklist-item{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border)}.swp-checklist-item:last-child{border-bottom:none}.swp-checklist-item--done{background:var(--color-background-success)}.swp-checklist-item--skip{color:var(--muted)}.swp-checklist-item--pending{background:var(--color-background-warning)}.swp-checklist-item--required{background:color-mix(in srgb,var(--color-danger, #e53e3e) 8%,transparent);border-left:3px solid var(--color-danger, #e53e3e)}.swp-checklist-icon--done{color:var(--color-text-success);flex-shrink:0}.swp-checklist-icon--skip{color:var(--muted);flex-shrink:0}.swp-checklist-icon--pending{color:var(--color-text-warning);flex-shrink:0}.swp-checklist-icon--required{color:var(--color-danger, #e53e3e);flex-shrink:0}.swp-checklist-action{margin-left:auto;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600;border-radius:7px;gap:5px;background:rgba(var(--brand-600-rgb),.1)!important;color:var(--accent-strong, var(--brand-700))!important;border-color:rgba(var(--brand-600-rgb),.2)!important}.swp-checklist-action:hover{background:rgba(var(--brand-600-rgb),.16)!important}.mc-event-groups{flex:1;min-height:0;overflow-y:auto}.mc-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:12px;border-top:1px solid var(--border);margin-top:auto}.mc-page-btn{padding:4px 8px;height:auto;display:flex;align-items:center}.mc-page-info{font-size:13px;min-width:48px;text-align:center}.swp-placeholder--mascot{padding:16px 12px 20px;gap:0}.swp-mascot{width:240px;height:240px;object-fit:contain;display:block;margin-bottom:-48px}.swz-weekday-group{margin-bottom:8px}.swz-weekday-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 0 4px 4px}.setup-transition-contingent-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.setup-info-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:16px;border-radius:10px;background:var(--accent-soft);border:1px solid rgba(var(--brand-600-rgb),.2);color:var(--accent-strong);font-size:13px;line-height:1.5}.setup-info-notice svg{flex-shrink:0;margin-top:1px}.setup-transition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.setup-transition-head h2{margin:0 0 4px}.setup-transition-head .muted{font-size:13px}.setup-transition-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.setup-transition-warning{display:flex;align-items:center;gap:8px;padding:9px 14px;margin-bottom:16px;border-radius:10px;background:#dc262612;border:1px solid rgba(220,38,38,.2);color:var(--color-text-danger);font-size:13px;line-height:1.5}.setup-transition-warning svg{flex-shrink:0}.setup-transition-table-wrap{margin-top:4px}.setup-transition-table .table th{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;padding:9px 10px;background:var(--dk-bg-f8faffa80, rgba(248, 250, 255, .8))}.setup-transition-table .table td{padding:10px;vertical-align:middle}.setup-transition-row--enrolled td{background:#16a34a0a}.setup-transition-row--not_returning td{background:#94a3b80f;opacity:.7}.setup-transition-row--not_returning .setup-transition-class-select{pointer-events:none;opacity:.5}.setup-transition-class-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:6px 28px 6px 10px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;min-width:130px;max-width:160px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .15s}.setup-transition-class-select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.setup-transition-class-select:disabled{opacity:.55;cursor:default}.setup-transition-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.btn.ghost.btn-danger{color:var(--color-text-danger);border-color:#dc262638}.btn.ghost.btn-danger:hover{background:#dc262612}.setup-transition-subject-hint{font-size:12px;color:var(--muted)}.setup-transition-parallel{font-size:12px;color:var(--muted);margin-top:2px}.setup-transition-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.setup-transition-search{max-width:260px;padding:6px 10px;font-size:13px}.setup-transition-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border-radius:10px;background:var(--accent-soft);border:1px solid rgba(var(--brand-600-rgb),.2)}.setup-transition-bulk-count{font-size:13px}.setup-transition-check-col{width:36px}.course-program-list{display:flex;flex-direction:column;gap:8px}.course-program-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,opacity .15s}.course-program-item:active{cursor:grabbing}.course-program-item.drag-over{box-shadow:0 0 0 2px var(--primary, var(--brand-600));background:rgba(var(--brand-600-rgb),.04)}.course-program-item-grip{color:var(--muted, #aaa);flex-shrink:0;display:flex;align-items:center}.course-program-item-num{width:28px;height:28px;border-radius:50%;background:rgba(var(--brand-600-rgb),.1);color:var(--brand-600);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-program-item-body{flex:1;min-width:0}.course-program-item-title{font-weight:600;font-size:14px}.course-program-item-desc{font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-program-item-actions{display:flex;gap:4px;flex-shrink:0}.course-material-item{padding:0;overflow:hidden}.course-material-item-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border, #e5e7eb)}.course-material-item-order-btns{display:flex;flex-direction:column;flex-shrink:0}.course-material-item-order-btns .btn{border:none;box-shadow:none;padding:2px 4px;min-height:unset;height:auto;line-height:1;color:var(--muted, #aaa)}.course-material-item-order-btns .btn:not(:disabled):hover{color:var(--ink);background:transparent}.course-material-item-order-btns .btn:disabled{opacity:.25}.course-material-item-type-icon{color:var(--primary, var(--brand-600));flex-shrink:0;display:flex;align-items:center}.course-material-item-title{flex:1;font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-material-item-actions{display:flex;gap:4px;flex-shrink:0}.course-material-item-body{padding:16px}.course-material-text{font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.course-material-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--primary, var(--brand-600));word-break:break-all}.course-material-link:hover{text-decoration:underline}.course-material-embed-wrap{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px}.course-material-embed{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:8px}.course-material-video-wrap,.course-material-audio-wrap{display:flex;flex-direction:column;gap:10px}.course-material-video{width:100%;border-radius:8px;max-height:420px;background:#000}.course-material-audio{width:100%}.course-material-download-btn{align-self:flex-start}.course-material-file-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface, #f9fafb);border-radius:8px;border:1px solid var(--border, #e5e7eb)}.course-material-file-icon{color:var(--muted, #aaa);flex-shrink:0}.course-material-file-info{flex:1;min-width:0}.course-material-file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-material-file-actions{display:flex;gap:6px;flex-shrink:0}.course-material-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.course-material-type-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border:1.5px solid var(--border, #e5e7eb);border-radius:10px;background:var(--card-bg, #fff);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.course-material-type-btn:hover{border-color:var(--primary, var(--brand-600));background:rgba(var(--brand-600-rgb),.04)}.course-material-type-icon{color:var(--primary, var(--brand-600));margin-bottom:2px}.course-material-type-label{font-size:14px;font-weight:600}.course-material-type-desc{font-size:12px;line-height:1.4}.course-material-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.course-material-progress-bar{flex:1;height:4px;background:var(--primary, var(--brand-600));border-radius:2px;transition:width .2s}.grades-tab-bar{display:flex;gap:6px;margin-top:14px}.grades-tab-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:10px;border:1.5px solid var(--dk-bd-e5e7eb, #e5e7eb);background:transparent;color:var(--dk-fg-6b7280, #6b7280);font-size:15px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.grades-tab-btn:hover{border-color:var(--primary, var(--brand-600));color:var(--primary, var(--brand-600))}.grades-tab-btn.active{border-color:var(--primary, var(--brand-600));background:var(--primary, var(--brand-600));color:#fff}.period-grade-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.period-grade-title{margin:0;font-size:22px;font-weight:700}.period-grade-card{padding:0;overflow:hidden}.period-grade-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.period-grade-selector{height:36px;padding:0 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:14px;font-weight:500;background:var(--surface, #fff);color:var(--ink, #111827);cursor:pointer;outline:none;min-width:240px}.period-grade-selector:focus{border-color:var(--primary, var(--brand-600));box-shadow:0 0 0 2px rgba(var(--brand-600-rgb),.12)}.period-grade-table-wrap{overflow-x:auto;border:1px solid var(--card-border, #e5e7eb);border-radius:10px}.period-grade-table{width:100%;border-collapse:collapse;font-size:14px}.period-grade-th{text-align:center;padding:11px 14px;background:var(--bg-alt, rgba(15,23,42,.02));border-bottom:1px solid var(--card-border, #e5e7eb);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #6b7280);white-space:nowrap}.period-grade-th-num{width:48px;text-align:center;color:var(--ink-disabled, #9ca3af);font-weight:400}.period-grade-th-student{text-align:left;min-width:180px}.period-grade-td{padding:9px 14px;border-bottom:1px solid var(--border-soft, #f3f4f6);text-align:center;vertical-align:middle}.period-grade-td-num{color:var(--ink-disabled, #9ca3af);font-size:13px;text-align:center}.period-grade-td-student{text-align:left;font-weight:500;color:var(--ink, #111827)}.period-grade-table tbody tr:hover td{background:rgba(var(--brand-600-rgb),.025)}.period-grade-table tbody tr:last-child td{border-bottom:none}.period-grade-badge-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:50px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:filter .15s,transform .12s;color:#9ca3af;background:transparent}.period-grade-badge-btn:hover{filter:brightness(.92);transform:scale(1.08)}.period-grade-empty-row{padding:28px 20px;color:var(--ink-muted, #6b7280);font-size:14px;text-align:left;font-style:italic}.period-grade-input{width:54px;height:36px;text-align:center;border:2px solid var(--primary, var(--brand-600));border-radius:8px;padding:0 6px;font-size:14px;font-weight:700;outline:none;background:var(--surface, #fff);color:var(--ink, #111827)}.period-grade-input:focus{box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.15)}.pg-th-period{vertical-align:top;min-width:160px;text-transform:none;letter-spacing:0;font-size:12px;color:inherit}.pg-th-dates{font-size:11px;color:var(--ink-disabled, #9ca3af);font-weight:400;margin-top:3px}.period-grade-td-period{padding:4px 6px;vertical-align:top}.pg-period-cell{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:6px;min-width:150px}.pg-grades-preview{display:flex;flex-direction:row;align-items:center;gap:3px;flex-wrap:nowrap;overflow:hidden;max-height:24px}.pg-mini-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:24px;height:24px;padding:0 5px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0}.pg-more{font-size:11px;color:var(--ink-disabled, #9ca3af);flex-shrink:0;line-height:1}.pg-period-footer{display:flex;flex-direction:row;align-items:center;gap:5px;flex-wrap:nowrap}.pg-avg{font-size:11px;color:var(--ink-muted, #6b7280);white-space:nowrap}.pg-final-label{font-size:11px;color:var(--ink-disabled, #9ca3af);white-space:nowrap}.pg-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:var(--ink-muted, #6b7280);padding:0;transition:color .15s,background .15s,transform .15s;flex-shrink:0}.pg-expand-btn:hover{background:var(--surface-muted, #f3f4f6);color:var(--ink, #111827)}.pg-expand-btn.pg-expand-active{transform:rotate(90deg);color:var(--primary, var(--brand-600))}.pg-row-expanded{background:var(--surface-muted, #f9fafb)!important}.pg-detail-panel{border-top:2px solid var(--border, #e5e7eb);padding:16px 20px;background:var(--surface, #fff)}.pg-detail-header{display:flex;flex-direction:row;align-items:center;gap:8px;margin-bottom:14px}.pg-detail-student-name{font-weight:600;font-size:14px;color:var(--ink, #111827)}.pg-detail-close{margin-left:auto}.pg-detail-grid{display:grid;border:1px solid var(--border-soft, #f3f4f6);border-radius:8px;overflow:hidden}.pg-detail-col{padding:12px 14px;border-right:1px solid var(--border-soft, #f3f4f6);min-width:0}.pg-detail-col:last-child{border-right:none}.pg-detail-col-active{background:var(--surface-muted, #f9fafb)}.pg-detail-col-header{margin-bottom:10px}.pg-detail-period-name{display:block;font-weight:600;font-size:13px}.pg-detail-period-dates{display:block;font-size:11px;color:var(--ink-disabled, #9ca3af);margin-top:2px}.pg-detail-type-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:6px;font-size:12px}.pg-detail-type-label{font-weight:600;min-width:52px;color:var(--ink-muted, #374151);padding-top:2px;flex-shrink:0}.pg-detail-type-grades{display:flex;flex-direction:row;flex-wrap:wrap;gap:3px}.pg-detail-empty-grades{font-size:12px;color:var(--ink-disabled, #9ca3af);font-style:italic;margin:0 0 8px}.pg-detail-summary{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft, #f3f4f6);gap:8px;flex-wrap:wrap}.pg-detail-summary-left{font-size:12px}.pg-detail-summary-right{display:flex;align-items:center;gap:6px;font-size:12px}.pg-detail-avg{color:var(--ink-muted, #374151)}.pg-detail-final-label{color:var(--ink-disabled, #9ca3af)}.pg-detail-compact-content{display:flex;flex-direction:column;gap:6px;font-size:12px}.pg-detail-compact-footer{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.pg-detail-col-yearly{text-align:center}.pg-detail-yearly-content{display:flex;justify-content:center;margin-top:8px}.student-certificates-page{max-width:860px;margin:0 auto;padding:24px 4px 0}.student-cert-hero{display:flex;align-items:center;gap:16px;padding:28px 24px;background:linear-gradient(135deg,rgba(var(--brand2-500-rgb),.12),rgba(var(--brand3-500-rgb),.08));border:1px solid rgba(var(--brand2-500-rgb),.15);border-radius:20px}.student-cert-hero-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--brand2-500),var(--brand3-500));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 6px 20px rgba(var(--brand2-500-rgb),.4)}.student-cert-hero-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--ink)}.student-cert-hero-sub{font-size:.875rem;color:var(--muted);margin:0;line-height:1.4}.student-cert-filters{display:flex;gap:8px;flex-wrap:wrap}.student-cert-filter-btn{padding:6px 14px;border-radius:100px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.student-cert-filter-btn:hover{border-color:var(--brand2-500);color:var(--brand2-500)}.student-cert-filter-btn.active{background:var(--brand2-500);border-color:var(--brand2-500);color:#fff}.student-cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.student-cert-card{position:relative;border-radius:20px;padding:24px 20px 20px;color:#fff;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:200px;transition:transform .18s ease,box-shadow .18s ease}.student-cert-card:hover{transform:translateY(-3px) scale(1.01)}.student-cert-card:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:3px}.student-cert-view-hint{display:flex;align-items:center;gap:5px;font-size:.6875rem;opacity:0;transition:opacity .18s ease;position:relative;z-index:1;margin-top:-4px}.student-cert-card:hover .student-cert-view-hint{opacity:.7}.student-cert-card-skeleton{background:var(--surface)!important;box-shadow:none!important;padding:0!important;border:1px solid var(--border)}.student-cert-circle{position:absolute;border-radius:50%;background:#ffffff14;pointer-events:none}.student-cert-circle-1{width:180px;height:180px;right:-50px;top:-60px}.student-cert-circle-2{width:120px;height:120px;right:20px;bottom:-40px;background:#ffffff0d}.student-cert-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.student-cert-icon-wrap{width:44px;height:44px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.student-cert-type-badge{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:#ffffff2e;padding:3px 10px;border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.student-cert-name{font-size:1rem;font-weight:700;line-height:1.3;position:relative;z-index:1;flex:1;margin-top:4px;text-shadow:0 1px 3px rgba(0,0,0,.2)}.student-cert-course{font-size:.8125rem;opacity:.85;position:relative;z-index:1;line-height:1.3}.student-cert-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;position:relative;z-index:1;padding-top:10px;border-top:1px solid rgba(255,255,255,.15)}.student-cert-number{display:flex;align-items:center;gap:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.6875rem;opacity:.75;letter-spacing:.04em}.student-cert-date{font-size:.75rem;opacity:.8;font-weight:500}.student-cert-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.student-cert-empty-icon{width:80px;height:80px;border-radius:24px;background:linear-gradient(135deg,rgba(var(--brand2-500-rgb),.1),rgba(var(--brand3-500-rgb),.08));border:1.5px dashed rgba(var(--brand2-500-rgb),.25);display:flex;align-items:center;justify-content:center;color:var(--brand2-300);margin-bottom:20px}.student-cert-empty-title{font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 8px}.student-cert-empty-sub{font-size:.875rem;color:var(--muted);max-width:280px;margin:0;line-height:1.5}.admin-cert-page{max-width:none}.admin-cert-hero{position:relative;overflow:hidden;border-radius:20px;padding:26px 28px;background:linear-gradient(135deg,var(--brand2-700) 0%,var(--brand3-700) 55%,var(--brand2-600) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-cert-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ffffff0f;right:-60px;top:-110px;pointer-events:none}.admin-cert-hero:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:#ffffff0a;right:120px;bottom:-55px;pointer-events:none}.admin-cert-hero-left{display:flex;align-items:center;gap:18px;position:relative;z-index:1;min-width:0}.admin-cert-hero-icon{width:54px;height:54px;border-radius:16px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-cert-hero-title{font-size:1.375rem;font-weight:700;margin:0 0 4px;color:#fff;line-height:1.2}.admin-cert-hero-sub{font-size:.8125rem;color:#ffffffb3;margin:0}.admin-cert-hero-actions{display:flex;gap:8px;position:relative;z-index:1;flex-shrink:0}.admin-cert-btn-issue{display:flex;align-items:center;gap:6px;padding:9px 16px;background:#ffffff24;border:1.5px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.admin-cert-btn-issue:hover{background:#ffffff3d;border-color:#fff6}.admin-cert-btn-new{display:flex;align-items:center;gap:6px;padding:9px 16px;background:var(--dk-bg-ffffff, #fff);border:none;border-radius:10px;color:var(--brand2-600);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap}.admin-cert-btn-new:hover{background:var(--dk-bg-f0eeff, #f0eeff);box-shadow:0 2px 10px rgba(var(--brand2-600-rgb),.2)}.admin-cert-nav{display:flex;border-bottom:1.5px solid var(--border)}.admin-cert-nav-tab{padding:8px 20px 10px;font-size:.875rem;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;cursor:pointer;transition:color .15s,border-color .15s}.admin-cert-nav-tab:hover{color:var(--ink)}.admin-cert-nav-tab.active{color:var(--brand2-600);border-bottom-color:var(--brand2-600);font-weight:600}.admin-cert-filters{display:flex;gap:8px;flex-wrap:wrap}.admin-cert-filter-pill{padding:5px 14px;border-radius:100px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.admin-cert-filter-pill:hover{border-color:var(--brand2-500);color:var(--brand2-500)}.admin-cert-filter-pill.active{background:var(--brand2-500);border-color:var(--brand2-500);color:#fff}.admin-cert-tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.admin-cert-tmpl-card{border:1.5px solid var(--border);border-radius:18px;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s;background:var(--surface)}.admin-cert-tmpl-card:hover{border-color:rgba(var(--brand2-500-rgb),.35);box-shadow:0 6px 24px rgba(var(--brand2-500-rgb),.1);transform:translateY(-2px)}.admin-cert-tmpl-preview{height:88px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.admin-cert-tmpl-preview:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:#ffffff12;right:-20px;top:-40px;pointer-events:none}.admin-cert-tmpl-preview-icon{width:44px;height:44px;border-radius:12px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-cert-tmpl-body{padding:12px 14px 14px}.admin-cert-tmpl-name{font-size:.875rem;font-weight:600;color:var(--ink);line-height:1.3;margin:0 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cert-tmpl-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:100px;font-size:.7rem;font-weight:600;letter-spacing:.03em}.admin-cert-tmpl-badge.gramota{background:#6366f11a;color:#4f46e5}.admin-cert-tmpl-badge.course{background:#0d94881a;color:var(--dk-fg-0f766e, #0f766e)}.admin-cert-tmpl-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.admin-cert-tmpl-dims{font-size:.6875rem;color:var(--muted);font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:.01em}.admin-cert-tmpl-delete{background:none;border:none;cursor:pointer;color:var(--dk-fg-101828a20, rgba(16, 24, 40, .2));transition:color .15s,background .15s;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px}.admin-cert-tmpl-delete:hover{color:#ef4444;background:#ef444414}.admin-cert-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center}.admin-cert-empty-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,rgba(var(--brand2-500-rgb),.08),rgba(var(--brand3-500-rgb),.06));border:1.5px dashed rgba(var(--brand2-500-rgb),.2);display:flex;align-items:center;justify-content:center;color:var(--brand2-300);margin-bottom:16px}.admin-cert-empty-title{font-size:.9375rem;font-weight:600;color:var(--ink);margin:0 0 6px}.admin-cert-empty-sub{font-size:.8125rem;color:var(--muted);margin:0;max-width:240px;line-height:1.5}.admin-cert-issued-wrap{overflow-x:auto;border:1.5px solid var(--border);border-radius:16px}.admin-cert-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface-soft, #f5f5f7);border-bottom:1px solid var(--border);border-radius:14px 14px 0 0}.admin-cert-bulk-count{font-size:13px;color:var(--muted)}.admin-cert-bulk-count strong{color:var(--ink);font-weight:600}.admin-cert-bulk-actions{display:flex;align-items:center;gap:8px}.admin-cert-issued-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-cert-issued-table thead tr{background:rgba(var(--brand2-500-rgb),.03)}.admin-cert-issued-table th{padding:10px 16px;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1.5px solid var(--border);white-space:nowrap}.admin-cert-issued-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.admin-cert-issued-table tbody tr:last-child{border-bottom:none}.admin-cert-issued-table tbody tr:hover{background:rgba(var(--brand2-500-rgb),.025)}.admin-cert-issued-table td{padding:11px 16px;vertical-align:middle}.admin-cert-num{font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;color:var(--muted);letter-spacing:.04em}.admin-cert-student-name{font-weight:500;color:var(--ink)}.admin-cert-tmpl-ref{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:.8125rem}.admin-cert-date{font-size:.8125rem;color:var(--muted);white-space:nowrap}.admin-cert-row-actions{display:flex;align-items:center;gap:4px}.admin-cert-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.admin-cert-action-btn:hover:not(:disabled){background:var(--surface-soft);color:var(--ink)}.admin-cert-action-btn:disabled{opacity:.35;cursor:default}.cert-grid-toggle{position:absolute;top:4px;right:4px;z-index:10;font-size:10px;padding:2px 6px;border-radius:4px;border:1px solid rgba(var(--brand2-500-rgb),.4);background:var(--dk-bg-ffffffa85, rgba(255,255,255,.85));color:var(--brand2-500);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cert-grid-toggle:hover{background:var(--dk-bg-ffffffa98, rgba(255,255,255,.98))}.admin-cert-action-btn--danger{color:var(--danger, #ef4444)}.admin-cert-action-btn--danger:hover:not(:disabled){background:#ef44441a;color:#dc2626}.cert-field-editor{display:flex;gap:16px;align-items:flex-start;overflow-x:auto}.cert-field-canvas{position:relative;flex-shrink:0;background-size:100% 100%;background-position:top left;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:default}.cert-field-token{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 4px;border-radius:3px;line-height:1}.cert-field-token.selected{outline:2px solid var(--brand2-500);outline-offset:3px;background:rgba(var(--brand2-500-rgb),.08)}.cert-field-token:active{cursor:grabbing}.cert-field-sidebar{flex:1;min-width:160px;display:flex;flex-direction:column;gap:12px}.cert-field-sidebar-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}.cert-field-add-list{display:flex;flex-direction:column;gap:4px}.cert-field-props{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.cert-field-prop-row{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--muted)}.cert-field-prop-row span{min-width:56px}.cert-field-prop-color{width:36px;height:28px;border-radius:4px;border:1px solid var(--border);cursor:pointer;padding:2px}.cert-upload-zone{width:100%;border:2px dashed rgba(var(--brand2-500-rgb),.3);border-radius:16px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;background:rgba(var(--brand2-500-rgb),.025);transition:border-color .15s,background .15s;text-align:center}.cert-upload-zone:hover,.cert-upload-zone.dragging{border-color:var(--brand2-500);background:rgba(var(--brand2-500-rgb),.06)}.cert-upload-zone-icon{width:52px;height:52px;border-radius:14px;background:rgba(var(--brand2-500-rgb),.1);display:flex;align-items:center;justify-content:center;color:var(--brand2-500);transition:background .15s,transform .15s}.cert-upload-zone:hover .cert-upload-zone-icon,.cert-upload-zone.dragging .cert-upload-zone-icon{background:rgba(var(--brand2-500-rgb),.18);transform:translateY(-2px)}.cert-upload-zone-title{font-size:.875rem;color:var(--ink);font-weight:500;margin:0;line-height:1.4}.cert-upload-zone-title span{color:var(--brand2-500);font-weight:600}.cert-upload-zone-hint{font-size:.75rem;color:var(--muted);margin:0}.cert-upload-preview{width:100%;border:1.5px solid rgba(16,185,129,.25);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;background:#10b98108}.cert-upload-preview-thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.cert-upload-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cert-upload-preview-name{font-size:.875rem;font-weight:600;color:var(--ink);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-upload-preview-meta{display:flex;align-items:center;gap:8px}.cert-upload-preview-size{font-size:.75rem;color:var(--muted)}.cert-upload-preview-ok{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:100px;background:#10b9811f;color:var(--dk-fg-059669, #059669);font-size:.7rem;font-weight:600}.cert-upload-change-btn{background:none;border:1.5px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.75rem;font-weight:500;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0;white-space:nowrap}.cert-upload-change-btn:hover{border-color:var(--brand2-500);color:var(--brand2-500)}.cert-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;margin-top:4px;border-top:1px solid var(--border)}.cert-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 22px;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s,opacity .15s;border:none;white-space:nowrap}.cert-modal-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.cert-modal-btn-cancel{background:var(--surface);color:var(--muted);border:1.5px solid var(--border)}.cert-modal-btn-cancel:hover:not(:disabled){background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--ink);border-color:var(--dk-bd-101828a14, rgba(16, 24, 40, .14))}.cert-modal-btn-primary{background:linear-gradient(135deg,var(--brand2-600) 0%,var(--brand3-700) 100%);color:#fff;box-shadow:0 2px 8px rgba(var(--brand2-600-rgb),.28)}.cert-modal-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--brand2-700) 0%,var(--brand3-800) 100%);box-shadow:0 4px 16px rgba(var(--brand2-600-rgb),.38);transform:translateY(-1px)}.cert-modal-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444440}.cert-modal-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 14px #ef444459;transform:translateY(-1px)}.cert-issue-student-row{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;cursor:pointer;transition:background .15s}.cert-issue-student-row:hover{background:var(--surface-soft)}.cert-issue-student-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--primary, var(--brand2-500))}.cert-orientation-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cert-orientation-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px 14px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.cert-orientation-btn:hover{border-color:rgba(var(--brand2-500-rgb),.4);background:rgba(var(--brand2-500-rgb),.03)}.cert-orientation-btn.active{border-color:var(--brand2-500);background:rgba(var(--brand2-500-rgb),.06);box-shadow:0 0 0 3px rgba(var(--brand2-500-rgb),.1)}.cert-orientation-sheet{border-radius:3px;background:linear-gradient(145deg,var(--brand2-100) 0%,var(--brand2-200) 100%);box-shadow:2px 2px rgba(var(--brand2-500-rgb),.2);transition:background .15s}.cert-orientation-btn.active .cert-orientation-sheet{background:linear-gradient(145deg,var(--brand2-200) 0%,var(--brand2-300) 100%)}.cert-orientation-sheet.portrait{width:28px;height:40px}.cert-orientation-sheet.landscape{width:40px;height:28px}.cert-orientation-label{font-size:.875rem;font-weight:600;color:var(--ink);margin:0}.cert-orientation-dims{font-size:.6875rem;color:var(--muted);font-family:JetBrains Mono,Fira Code,monospace;margin:0;letter-spacing:.02em}@media (max-width: 640px){.admin-cert-hero{flex-direction:column;align-items:stretch;gap:18px;padding:20px}.admin-cert-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-cert-btn-issue,.admin-cert-btn-new{justify-content:center}.admin-cert-nav-tab{padding:8px 12px 10px;font-size:.8125rem}.admin-cert-tmpl-grid{grid-template-columns:1fr 1fr}.cert-modal-actions{flex-wrap:wrap}.cert-modal-btn{flex:1;min-width:0;justify-content:center}}@media (max-width: 420px){.admin-cert-tmpl-grid,.admin-cert-hero-actions{grid-template-columns:1fr}.admin-cert-issued-table th:first-child,.admin-cert-issued-table td:first-child{display:none}}.cert-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:var(--dk-bg-f0effe, #f0effe);display:flex;flex-direction:column;overflow:hidden}.cert-editor-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:56px;background:var(--dk-bg-ffffff, #fff);border-bottom:1px solid rgba(var(--brand2-500-rgb),.12);flex-shrink:0}.cert-editor-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.cert-editor-topbar-center{display:flex;align-items:center;gap:6px;flex-shrink:0}.cert-editor-topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.cert-editor-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;flex-shrink:0;transition:border-color .15s,color .15s}.cert-editor-back-btn:hover{border-color:var(--brand2-500);color:var(--brand2-500)}.cert-editor-title-group{min-width:0}.cert-editor-title{font-size:.9375rem;font-weight:700;color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-editor-subtitle{font-size:.6875rem;color:var(--muted);margin:0;white-space:nowrap}.cert-editor-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1.5px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cert-editor-icon-btn:hover:not(:disabled){background:rgba(var(--brand2-500-rgb),.08);color:var(--brand2-500);border-color:rgba(var(--brand2-500-rgb),.3)}.cert-editor-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cert-editor-zoom-group{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.cert-editor-zoom-btn{display:flex;align-items:center;justify-content:center;width:26px;height:28px;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.cert-editor-zoom-btn:hover{background:rgba(var(--brand2-500-rgb),.08);color:var(--brand2-500)}.cert-editor-zoom-label{padding:0 6px;font-size:.75rem;font-weight:600;color:var(--ink);min-width:42px;text-align:center;background:transparent;border:none;cursor:pointer;height:28px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.cert-editor-zoom-label:hover{background:rgba(var(--brand2-500-rgb),.05)}.cert-editor-text-btn{padding:5px 10px;border-radius:7px;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.cert-editor-text-btn:hover{background:rgba(var(--brand2-500-rgb),.06);color:var(--brand2-500);border-color:rgba(var(--brand2-500-rgb),.3)}.cert-editor-preview-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;border:1.5px solid rgba(var(--brand2-500-rgb),.35);background:rgba(var(--brand2-500-rgb),.06);color:var(--brand2-600);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.cert-editor-preview-btn:hover:not(:disabled){background:rgba(var(--brand2-500-rgb),.12);border-color:var(--brand2-500)}.cert-editor-preview-btn:disabled{opacity:.4;cursor:not-allowed}.cert-editor-save-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--brand2-600) 0%,var(--brand3-700) 100%);color:#fff;font-size:.8125rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(var(--brand2-600-rgb),.25);transition:box-shadow .15s,transform .15s,opacity .15s;white-space:nowrap}.cert-editor-save-btn:hover:not(:disabled){box-shadow:0 4px 14px rgba(var(--brand2-600-rgb),.35);transform:translateY(-1px)}.cert-editor-save-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.cert-editor-body{display:flex;flex:1;min-height:0;overflow:hidden}.cert-editor-left{display:flex;flex-direction:column;align-items:center;gap:2px;width:80px;flex-shrink:0;background:var(--dk-bg-ffffff, #fff);border-right:1px solid rgba(var(--brand2-500-rgb),.1);padding:10px 0;overflow-y:auto}.cert-editor-tool-btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:64px;padding:8px 4px;border-radius:10px;border:none;background:transparent;color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:.02em;cursor:pointer;text-align:center;transition:background .15s,color .15s}.cert-editor-tool-btn:hover:not(.inactive){background:rgba(var(--brand2-500-rgb),.08);color:var(--brand2-500)}.cert-editor-tool-btn.active{background:rgba(var(--brand2-500-rgb),.1);color:var(--brand2-600)}.cert-editor-tool-btn.inactive{opacity:.35;cursor:default}.cert-editor-left-panel{width:200px;flex-shrink:0;background:var(--dk-bg-ffffff, #fff);border-right:1px solid rgba(var(--brand2-500-rgb),.1);padding:12px 10px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.cert-editor-panel-section{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:8px 0 4px}.cert-editor-panel-section:first-child{margin-top:0}.cert-editor-panel-hint{font-size:.6875rem;color:var(--muted);margin:-2px 0 4px;line-height:1.4}.cert-editor-panel-divider{height:1px;background:var(--border);margin:8px 0}.cert-editor-add-btn{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);color:var(--ink);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,color .15s;width:100%}.cert-editor-add-btn:hover:not(:disabled){border-color:rgba(var(--brand2-500-rgb),.4);background:rgba(var(--brand2-500-rgb),.04);color:var(--brand2-600)}.cert-editor-add-btn:disabled{opacity:.4;cursor:not-allowed}.cert-editor-add-btn--dynamic{border-style:dashed;border-color:rgba(var(--brand2-500-rgb),.3);background:rgba(var(--brand2-500-rgb),.02)}.cert-editor-add-btn--dynamic:hover:not(:disabled){border-style:solid;background:rgba(var(--brand2-500-rgb),.07)}.cert-editor-dynamic-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:16px;border-radius:4px;background:rgba(var(--brand2-500-rgb),.12);color:var(--brand2-600);font-size:.6rem;font-weight:700;font-family:monospace;flex-shrink:0}.cert-editor-center{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--dk-bg-e8e6f8, #e8e6f8);overflow:hidden}.cert-editor-canvas-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffffb3;border-bottom:1px solid rgba(var(--brand2-500-rgb),.1);flex-shrink:0}.cert-editor-grid-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cert-editor-grid-btn.active{border-color:rgba(var(--brand2-500-rgb),.45);background:rgba(var(--brand2-500-rgb),.07);color:var(--brand2-600)}.cert-editor-canvas-dims{font-size:.7rem;color:var(--muted);font-family:JetBrains Mono,monospace;margin-left:4px}.cert-editor-change-bg-btn{margin-left:auto}.cert-editor-canvas-scroll{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:24px}.cert-editor-canvas-wrap{display:flex;align-items:flex-start;justify-content:center}.cert-editor-empty-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 32px;border:2px dashed rgba(var(--brand2-500-rgb),.3);border-radius:20px;background:var(--dk-bg-ffffffa70, rgba(255,255,255,.7));cursor:pointer;text-align:center;max-width:380px;transition:border-color .15s,background .15s}.cert-editor-empty-state:hover,.cert-editor-empty-state.dragging{border-color:var(--brand2-500);background:var(--dk-bg-ffffffa90, rgba(255,255,255,.9))}.cert-editor-empty-icon{width:60px;height:60px;border-radius:16px;background:rgba(var(--brand2-500-rgb),.1);display:flex;align-items:center;justify-content:center;color:var(--brand2-500)}.cert-editor-empty-title{font-size:.9375rem;font-weight:600;color:var(--ink);margin:0}.cert-editor-empty-hint{font-size:.75rem;color:var(--muted);margin:0}.cert-editor-upload-cta{padding:8px 20px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--brand2-600) 0%,var(--brand3-700) 100%);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(var(--brand2-600-rgb),.25);transition:box-shadow .15s}.cert-editor-upload-cta:hover{box-shadow:0 4px 14px rgba(var(--brand2-600-rgb),.35)}.cert-field-token.dynamic{background:rgba(var(--brand2-500-rgb),.06);border-bottom:1.5px dashed rgba(var(--brand2-500-rgb),.35)}.cert-editor-right{width:300px;flex-shrink:0;display:flex;flex-direction:column;background:var(--dk-bg-ffffff, #fff);border-left:1px solid rgba(var(--brand2-500-rgb),.1);overflow:hidden}.cert-editor-right-tabs{display:flex;border-bottom:1px solid rgba(var(--brand2-500-rgb),.1);flex-shrink:0}.cert-editor-tab-btn{flex:1;padding:10px 4px;border:none;background:transparent;font-size:.72rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}.cert-editor-tab-btn.active{color:var(--brand2-600);border-bottom-color:var(--brand2-600)}.cert-editor-right-content{flex:1;overflow-y:auto;min-height:0}.cert-editor-props{padding:14px 14px 8px;display:flex;flex-direction:column;gap:12px}.cert-editor-props-heading{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 2px}.cert-editor-prop-group{display:flex;flex-direction:column;gap:5px}.cert-editor-prop-label{font-size:.75rem;font-weight:600;color:var(--muted)}.cert-editor-prop-input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:6px 9px;font-size:.8125rem;color:var(--ink);background:var(--surface);transition:border-color .15s;outline:none}.cert-editor-prop-input:focus{border-color:var(--brand2-500)}.cert-editor-prop-textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:7px 9px;font-size:.8125rem;color:var(--ink);background:var(--surface);resize:vertical;min-height:60px;transition:border-color .15s;outline:none;font-family:inherit}.cert-editor-prop-textarea:focus{border-color:var(--brand2-500)}.cert-editor-prop-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cert-editor-color-row{display:flex;align-items:center;gap:6px}.cert-editor-color-hex{font-size:.72rem;color:var(--muted);font-family:monospace}.cert-editor-format-row{display:flex;gap:4px;flex-wrap:wrap}.cert-editor-fmt-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:7px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cert-editor-fmt-btn:hover{background:rgba(var(--brand2-500-rgb),.07);color:var(--brand2-600);border-color:rgba(var(--brand2-500-rgb),.35)}.cert-editor-fmt-btn.active{background:rgba(var(--brand2-500-rgb),.12);color:var(--brand2-600);border-color:rgba(var(--brand2-500-rgb),.5)}.cert-editor-fmt-btn--text{font-size:.65rem;font-weight:600}.cert-editor-empty-hint-panel{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;color:var(--muted);text-align:center}.cert-editor-empty-hint-panel p{font-size:.8rem;margin:0}.cert-editor-orientation-row{display:flex;gap:6px}.cert-editor-orientation-mini{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;flex:1;justify-content:center}.cert-editor-orientation-mini.active{border-color:var(--brand2-500);background:rgba(var(--brand2-500-rgb),.07);color:var(--brand2-600)}.cert-editor-bg-row{display:flex;align-items:center;gap:8px;padding:8px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface)}.cert-editor-bg-thumb{width:38px;height:38px;border-radius:6px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.cert-editor-bg-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cert-editor-bg-name{font-size:.75rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-editor-bg-size{font-size:.68rem;color:var(--muted)}.cert-editor-upload-inline{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1.5px dashed rgba(var(--brand2-500-rgb),.35);background:rgba(var(--brand2-500-rgb),.03);color:var(--brand2-600);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;width:100%;justify-content:center}.cert-editor-upload-inline:hover{background:rgba(var(--brand2-500-rgb),.08);border-color:var(--brand2-500)}.cert-editor-data-field-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(var(--brand2-500-rgb),.06);border:1.5px solid rgba(var(--brand2-500-rgb),.2)}.cert-editor-dynamic-badge-lg{width:28px;height:24px;border-radius:6px;background:rgba(var(--brand2-500-rgb),.15);color:var(--brand2-600);font-size:.75rem;font-weight:700;font-family:monospace;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cert-editor-data-field-name{font-size:.8125rem;font-weight:600;color:var(--ink);margin:0}.cert-editor-data-field-hint{font-size:.68rem;color:var(--muted);margin:2px 0 0}.cert-editor-preview-value{padding:8px 10px;border-radius:8px;background:var(--surface);border:1.5px solid var(--border);font-size:.8125rem;color:var(--ink);font-style:italic}.cert-editor-layers{border-top:1px solid rgba(var(--brand2-500-rgb),.1);padding:10px 0 6px;flex-shrink:0;max-height:220px;overflow-y:auto}.cert-editor-layers-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 14px 6px;margin:0}.cert-editor-layers-empty{font-size:.75rem;color:var(--muted);padding:4px 14px 8px;margin:0;line-height:1.5}.cert-editor-layer-row{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;cursor:pointer;border-radius:0;transition:background .12s}.cert-editor-layer-row:hover{background:rgba(var(--brand2-500-rgb),.05)}.cert-editor-layer-row.selected{background:rgba(var(--brand2-500-rgb),.09)}.cert-editor-layer-row.hidden{opacity:.45}.cert-editor-layer-vis-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.cert-editor-layer-vis-btn:hover{background:rgba(var(--brand2-500-rgb),.1);color:var(--brand2-500)}.cert-editor-layer-type-icon{display:flex;align-items:center;color:var(--muted);flex-shrink:0}.cert-editor-layer-dynamic-badge{font-size:.6rem;font-weight:700;font-family:monospace;color:var(--brand2-500);background:rgba(var(--brand2-500-rgb),.1);border-radius:3px;padding:0 3px}.cert-editor-layer-name{flex:1;min-width:0;font-size:.78rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-editor-layer-del-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:transparent;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.cert-editor-layer-row:hover .cert-editor-layer-del-btn{color:var(--muted)}.cert-editor-layer-del-btn:hover{background:#ef44441a;color:#ef4444!important}.cert-editor-bottom{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--dk-bg-ffffff, #fff);border-top:1px solid rgba(var(--brand2-500-rgb),.1);flex-shrink:0;height:68px}.cert-editor-page-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:8px;border:1.5px dashed rgba(var(--brand2-500-rgb),.3);background:transparent;color:var(--muted);font-size:.75rem;font-weight:500;cursor:not-allowed;opacity:.6}.cert-editor-page-thumb{width:66px;height:50px;border-radius:6px;border:2px solid var(--border);overflow:hidden;position:relative;flex-shrink:0;background:var(--surface);display:flex;align-items:center;justify-content:center}.cert-editor-page-thumb.active{border-color:var(--brand2-500);box-shadow:0 0 0 2px rgba(var(--brand2-500-rgb),.2)}.cert-editor-page-thumb img{width:100%;height:100%;object-fit:cover}.cert-editor-page-num{position:absolute;bottom:2px;right:4px;font-size:.6rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cert-editor-page-thumb.placeholder{border-style:dashed}.cert-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f0a288c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.cert-preview-overlay-inner{background:var(--dk-bg-ffffff, #fff);border-radius:16px;max-width:900px;width:100%;max-height:95vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #0003}.cert-preview-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.cert-preview-overlay-notice{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--brand2-600);background:rgba(var(--brand2-500-rgb),.07);border:1px solid rgba(var(--brand2-500-rgb),.2);border-radius:8px;padding:6px 12px;margin:0}.cert-preview-overlay-notice-icon{font-style:normal;font-weight:700;flex-shrink:0}.cert-preview-overlay-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.cert-preview-overlay-close:hover{background:#ef444414;color:#ef4444;border-color:#ef44444d}.cert-preview-overlay-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--dk-bg-f0effe, #f0effe)}[data-theme=dark] .hw-content-type-label{color:var(--ink)}[data-theme=dark] .schedule-change-operation-card>.page-header .section-title{color:var(--ink)}[data-theme=dark] .btn.tenant-toggle-btn.activate{color:#86efac}[data-theme=dark] .btn.tenant-toggle-btn.activate:hover,[data-theme=dark] .director-kicker{color:#4ade80}[data-theme=dark] .branding-pick-btn{background:#1e2535;color:var(--ink);border-color:var(--border)}[data-theme=dark] .branding-pick-btn:hover{background:rgba(var(--brand-dark-accent-rgb),.14);color:var(--accent);border-color:var(--accent)}[data-theme=dark] .branding-file-name{color:var(--ink);background:#1e2535;border-color:var(--border)}[data-theme=dark] .director-period-switch button.active{background:#2a3347;color:var(--ink)}[data-theme=dark] .schedule-day-call-badge{color:#7dd3fc;background:#0ea5e92e;border-color:#0ea5e94d}[data-theme=dark] .schedule-day.is-active-week{border-color:rgba(var(--brand-dark-accent-rgb),.3);background:rgba(var(--brand-dark-accent-rgb),.08)}[data-theme=dark] .schedule-day.is-active-day{border-color:rgba(var(--brand-dark-accent-rgb),.45);background:rgba(var(--brand-dark-accent-rgb),.15)}[data-theme=dark] .schedule-day.is-today{background:linear-gradient(180deg,rgba(var(--brand-dark-accent-rgb),.18) 0%,transparent 100%);border-color:rgba(var(--brand-dark-accent-rgb),.45);box-shadow:inset 0 0 0 2px rgba(var(--brand-dark-accent-rgb),.3)}[data-theme=dark] .schedule-day:hover{background:rgba(var(--brand-dark-accent-rgb),.1);border-color:rgba(var(--brand-dark-accent-rgb),.3)}[data-theme=dark] .schedule-day.has-group-call{box-shadow:inset 0 0 0 2px #0ea5e959}[data-theme=dark] .btn.btn-outline-danger{color:#f87171;border-color:#f871714d}[data-theme=dark] .btn.btn-outline-danger:hover:not(:disabled){background:#f8717114;border-color:#f8717180}[data-theme=dark] .training-center-schedule-preview-card .schedule-title{color:var(--brand-200)}[data-theme=dark] .training-center-schedule-preview-card .muted{color:var(--brand-300)}[data-theme=dark] .tc-journal-icon-btn.secondary{color:var(--muted);border-color:#94a3b84d}[data-theme=dark] .schedule-lesson-card.compact.training-center-schedule-preview-card .schedule-title{color:var(--brand-200)}[data-theme=dark] .schedule-lesson-card.compact.training-center-schedule-preview-card .muted{color:var(--brand-300)}[data-theme=dark] .student-attendance-legend-item .is-excused,[data-theme=dark] .student-attendance-day.is-excused,[data-theme=dark] .student-attendance-week-cell.is-excused{background:#0ea5e933;color:#7dd3fc}[data-theme=dark] .workload-tab.is-active,[data-theme=dark] .workload-week-total{color:var(--ink)}[data-theme=dark] .workload-proof-badge-attendance{background:#0ea5e92e;border-color:#0ea5e94d;color:#7dd3fc}[data-theme=dark] .workload-proof-badge-materials{background:#47556938;border-color:#47556959;color:var(--muted)}[data-theme=dark] .teacher-workload-legend-item{background:#1e2636f2;border-color:#94a3b824;color:var(--muted)}[data-theme=dark] .workload-table{background:var(--surface)}[data-theme=dark] .workload-table th,[data-theme=dark] .workload-table td{background:var(--surface);border-color:#ffffff14;color:var(--ink)}[data-theme=dark] .workload-table .workload-month-header,[data-theme=dark] .workload-table .workload-date-header,[data-theme=dark] .workload-table .workload-weekday-header{background:var(--surface-soft);color:var(--ink)}[data-theme=dark] .workload-table th.workload-time-col,[data-theme=dark] .workload-table th.workload-corner-header{background:rgba(var(--brand2-500-rgb),.1)}[data-theme=dark] .workload-week-cell{background:rgba(var(--brand2-500-rgb),.12);border-left-color:rgba(var(--brand2-500-rgb),.3);border-right-color:rgba(var(--brand2-500-rgb),.3)}[data-theme=dark] .workload-week-unit,[data-theme=dark] .workload-week-number{color:var(--muted)}[data-theme=dark] .workload-sunday{background:#ef444414}[data-theme=dark] .workload-sunday .muted{color:#f87171}[data-theme=dark] .workload-proof-badge-journal{background:rgba(var(--brand-600-rgb),.18);border-color:rgba(var(--brand-600-rgb),.3);color:var(--brand-300)}[data-theme=dark] .workload-proof-badge-grades{background:#22c55e29;border-color:#22c55e47;color:#4ade80}[data-theme=dark] .workload-proof-badge-homework{background:#f9731629;border-color:#f9731647;color:#fb923c}[data-theme=dark] .workload-proof-badge-recording{background:#a855f729;border-color:#a855f747;color:#c084fc}[data-theme=dark] .workload-table-wrap{border-color:#ffffff1a}[data-theme=dark] .workload-table td.workload-time-cell{background:rgba(var(--brand2-500-rgb),.1)}[data-theme=dark] .workload-tab{background:var(--surface-soft);border-color:#ffffff1a}[data-theme=dark] .workload-tab.is-active{background:linear-gradient(180deg,rgba(var(--brand2-500-rgb),.22),rgba(var(--brand2-500-rgb),.12));border-color:rgba(var(--brand2-500-rgb),.45);color:var(--ink)}[data-theme=dark] .workload-tab-nav{background:var(--surface-soft);border-color:#ffffff1a}[data-theme=dark] .workload-year-card,[data-theme=dark] .workload-year-delete{background:var(--surface-soft)}[data-theme=dark] .workload-summary-chip{background:var(--surface-soft);border-color:#ffffff14}[data-theme=dark] .workload-lesson-detail-grid>div{background:var(--surface-soft);border-color:#ffffff14}[data-theme=dark] .workload-time-slot-card,[data-theme=dark] .setup-list-item{background:var(--surface-soft)}[data-theme=dark] .setup-list-item.active{background:rgba(var(--brand2-500-rgb),.1);border-color:rgba(var(--brand2-500-rgb),.35)}[data-theme=dark] .setup-checkbox{background:var(--surface-soft);color:var(--ink)}[data-theme=dark] .setup-metric-card,[data-theme=dark] .setup-publish-box{background:var(--surface-soft)}[data-theme=dark] .badge.success,[data-theme=dark] .badge.moved_replacement{background:#22c55e29;color:#4ade80}[data-theme=dark] .payroll-tab.is-active{background:#1e2535;color:var(--ink)}[data-theme=dark] .quality-hero{background:var(--surface)}[data-theme=dark] .quality-donut-center{background:var(--surface);color:var(--ink)}[data-theme=dark] .quality-donut-legend b{color:var(--ink)}[data-theme=dark] .quality-sort-tabs button.is-active{background:#2a3347;color:var(--ink)}[data-theme=dark] .quality-goto-btn:hover{background:#1e2535;color:var(--ink)}[data-theme=dark] .period-grade-th{color:var(--muted);background:#ffffff08}[data-theme=dark] .landing-brand{color:var(--ink);text-shadow:none}[data-theme=dark] .landing-hero-header .landing-login-btn.btn.ghost{background:#1e2535f0;color:var(--ink);border-color:#fff3;box-shadow:0 8px 20px #00000059}[data-theme=dark] .landing-hero-header .landing-login-btn.btn.ghost:hover{background:#2a3347;color:var(--ink)}[data-theme=dark] .landing-cookie-banner p{color:var(--ink)}[data-theme=dark] .landing-hero-header .landing-brand,[data-theme=dark] .landing-hero-copy{color:#102344}[data-theme=dark] .landing-pricing-toolbar-title,[data-theme=dark] .landing-pricing-price-caption{color:var(--brand-300)}[data-theme=dark] .landing-pricing-note-card{color:var(--brand-200)}[data-theme=dark] .landing-pricing-note-card strong,[data-theme=dark] .landing-pricing-discount-copy strong,[data-theme=dark] .landing-pricing-discount-meta strong{color:#e0eaff}[data-theme=dark] .landing-super-card-head strong,[data-theme=dark] .landing-super-card-row{color:var(--brand-200)}[data-theme=dark] .landing-super-card-price span{color:var(--brand-300)}[data-theme=dark] .landing-pricing-discount-meta-head{color:var(--brand-200)}[data-theme=dark] .privacy-policy-page{color:var(--ink);background:radial-gradient(620px 360px at 8% 6%,rgba(var(--brand-dark-accent-rgb),.08),transparent 72%),radial-gradient(520px 320px at 92% 0%,rgba(16,185,129,.06),transparent 70%),linear-gradient(180deg,#0f1115,#131821)}[data-theme=dark] .privacy-policy-hero h1{color:var(--ink)}[data-theme=dark] .director-hero,[data-theme=dark] .director-panel{background:var(--surface);border-color:var(--border)}[data-theme=dark] .director-hero{background:linear-gradient(135deg,#1a1f28fa,#141a26f2),repeating-linear-gradient(135deg,rgba(var(--brand-dark-accent-rgb),.05) 0 1px,transparent 1px 14px)}[data-theme=dark] .director-period-switch{background:#ffffff12;border-color:#ffffff1a}[data-theme=dark] .director-attention-item{background:#1a1f28b8;border-color:var(--border);color:var(--ink)}[data-theme=dark] .director-attention-item.severity-danger{background:linear-gradient(135deg,#e255442e,#1a1f28e6);border-color:#e2554447}[data-theme=dark] .director-attention-item.severity-warning{background:linear-gradient(135deg,#f59e0b2e,#1a1f28e6);border-color:#f59e0b47}[data-theme=dark] .director-attention-item.severity-success{background:linear-gradient(135deg,#22a06b2e,#1a1f28e6);border-color:#22a06b47}[data-theme=dark] .director-class-row{background:#1a1f28b8;border-color:var(--border)}[data-theme=dark] .director-class-values span{background:rgba(var(--brand-dark-accent-rgb),.14);color:#7dd3fc}[data-theme=dark] .director-class-meter{background:#ffffff1a}[data-theme=dark] .director-workload-row{background:#1a1f28b8;border-color:var(--border)}[data-theme=dark] .director-workload-bars .planned{background:rgba(var(--brand-dark-accent-rgb),.25)}[data-theme=dark] .director-activity-item{background:#1a1f28b8;border-color:var(--border)}[data-theme=dark] .director-donut>div{background:var(--surface);box-shadow:0 10px 28px #0006}[data-theme=dark] .director-chart-grid-line{stroke:#ffffff14}[data-theme=dark] .director-chart-hover-line{stroke:#ffffff26}[data-theme=dark] .director-chart-empty{border-color:#ffffff1a}[data-theme=dark] .school-branding-item{background:#1e2535;border-color:#ffffff1a;color:var(--ink)}[data-theme=dark] .school-branding-preview{background:rgba(var(--brand2-500-rgb),.1);border-color:#ffffff1a}[data-theme=dark] .school-settings-checkboxes,[data-theme=dark] .school-settings-save-block{background:#1e2535;border-color:#ffffff1a;color:var(--ink)}[data-theme=dark] .school-settings-checkbox-title{color:var(--ink)}[data-theme=dark] .filter-input{background:var(--input-bg);color:var(--ink);border-color:var(--input-border)}[data-theme=dark] .filter-input::placeholder{color:var(--muted)}[data-theme=dark] .filter-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}[data-theme=dark] .filter-label{color:var(--muted)}[data-theme=dark] .filter-group-block{background:rgba(var(--brand-dark-accent-rgb),.1)}[data-theme=dark] .filter-badge{background:rgba(var(--brand-dark-accent-rgb),.18);color:var(--accent)}[data-theme=dark] .filter-accordion .accordion-header{background:var(--surface);border-color:var(--border);color:var(--ink)}[data-theme=dark] .privacy-policy-section h2,[data-theme=dark] .privacy-policy-card h3{color:var(--ink)}[data-theme=dark] .privacy-policy-section{background:#1a1f28b8;border-color:#ffffff14}[data-theme=dark] .school-tariff-cover{background:linear-gradient(135deg,#1a2a3a,#0d1f30)}[data-theme=dark] .school-tariff-cover-overlay{background:linear-gradient(90deg,#0a1423eb,#0a142399,#0a14232e)}[data-theme=dark] .school-tariff-cover-title{color:var(--ink)}[data-theme=dark] .school-tariff-cover-subtitle{color:var(--muted)}[data-theme=dark] .school-tariff-plan-name{color:var(--ink)}[data-theme=dark] .school-tariff-plan-meta-card{background:#0f8bff14;border-color:#0f8bff2e}[data-theme=dark] .school-tariff-plan-meta-lines,[data-theme=dark] .school-tariff-limit-value{color:var(--ink)}[data-theme=dark] .school-tariff-limit-foot{color:var(--muted)}[data-theme=dark] .school-tariff-progress{background:#ffffff14}[data-theme=dark] .school-tariff-change-title{color:var(--ink)}[data-theme=dark] .school-tariff-change-subtitle{color:var(--muted)}[data-theme=dark] .profile-avatar{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .avatar-preview{background:#ffffff14}[data-theme=dark] .sidebar-profile{background:#ffffff0f}[data-theme=dark] .sidebar-profile-platform{background:rgba(var(--brand2-500-rgb),.15);border-color:rgba(var(--brand2-500-rgb),.25)}[data-theme=dark] .sidebar-avatar{background:#ffffff1a}.ra2-page{display:flex;flex-direction:column;gap:20px}.ra2-page-header{display:flex;flex-direction:column;gap:6px;padding:0 4px}.ra2-page-header h1{margin:0;font-size:24px;font-weight:700;color:var(--ink);line-height:1.25}.ra2-page-subtitle{margin:0;font-size:14px;color:var(--muted);line-height:1.5}.ra2-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--surface-soft, rgba(15, 23, 42, .04));border:1px solid var(--card-border);border-radius:10px;align-self:flex-start}.ra2-tab{border:none;background:transparent;padding:7px 16px;font-size:13.5px;font-weight:500;color:var(--muted);border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background-color .14s ease,color .14s ease;line-height:1.2}.ra2-tab:hover{color:var(--ink)}.ra2-tab.is-active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 3px rgba(var(--brand-600-rgb),.25)}.ra2-tab-count{font-size:12px;font-weight:500;color:var(--muted);padding:1px 7px;border-radius:999px;background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));line-height:1.4}.ra2-tab.is-active .ra2-tab-count{color:var(--accent);background:var(--dk-bg-ffffff, #fff)}.ra2-roles-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.ra2-role-list{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius);padding:8px;position:sticky;top:20px}.ra2-role-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ra2-role-item{width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease;line-height:1.3;position:relative}.ra2-role-item:hover{background:var(--dk-bg-0f172aa4, rgba(15, 23, 42, .04));color:var(--ink)}.ra2-role-item.is-active{background:rgba(var(--brand-600-rgb),.08);color:var(--accent);font-weight:700}.ra2-role-detail{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:400px;overflow:hidden}.ra2-role-detail-header{padding:20px 24px 16px;border-bottom:1px solid var(--border)}.ra2-role-detail-title{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--ink);line-height:1.3}.ra2-role-detail-subtitle{margin:0;font-size:13px;color:var(--muted);line-height:1.4}.ra2-role-detail-body{padding:20px 24px 12px;display:flex;flex-direction:column;gap:22px;flex:1;min-height:0}.ra2-permission-group{display:flex;flex-direction:column;gap:6px}.ra2-permission-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 8px;border-bottom:1px solid var(--border)}.ra2-permission-group-title-row{display:inline-flex;align-items:baseline;gap:8px}.ra2-permission-group-title{font-size:13px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.ra2-permission-group-count{font-size:12px;font-weight:500;color:var(--muted)}.ra2-permission-group-toggle{background:none;border:none;padding:2px 4px;font-size:12.5px;font-weight:500;color:var(--accent);cursor:pointer;border-radius:4px;transition:background-color .12s ease}.ra2-permission-group-toggle:hover{background:rgba(var(--brand-600-rgb),.08)}.ra2-permission-list{list-style:none;margin:0;padding:4px 0 0;display:flex;flex-direction:column;gap:2px}.ra2-permission-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background-color .12s ease}.ra2-permission-row:hover{background:rgba(var(--brand-600-rgb),.05)}.ra2-permission-row.is-checked{background:rgba(var(--brand-600-rgb),.04)}.ra2-permission-row input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.ra2-permission-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.ra2-permission-label{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.35}.ra2-permission-desc{font-size:12px;color:var(--muted);line-height:1.4}.ra2-role-detail-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.ra2-users-panel{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden}.ra2-users-toolbar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.ra2-users-search{position:relative;flex:1 1 260px;min-width:220px;max-width:420px;display:flex;align-items:center}.ra2-users-search-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.ra2-users-search-input{width:100%;padding:8px 34px 8px 36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13.5px;color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}.ra2-users-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.12)}.ra2-users-search-clear{position:absolute;right:8px;background:none;border:none;padding:4px;color:var(--muted);cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.ra2-users-search-clear:hover{background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));color:var(--ink)}.ra2-users-filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13.5px;color:var(--ink);min-width:180px;cursor:pointer}.ra2-users-filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.12)}.ra2-users-count{font-size:13px;color:var(--muted);margin-left:auto}.ra2-users-table-wrap{overflow-x:auto}.ra2-users-table{width:100%;border-collapse:collapse;font-size:13.5px}.ra2-users-table thead th{text-align:left;padding:12px 18px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--dk-bg-0f172aa2, rgba(15, 23, 42, .02));white-space:nowrap}.ra2-users-table tbody td{padding:12px 18px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--ink)}.ra2-users-table tbody tr:last-child td{border-bottom:none}.ra2-users-table tbody tr:hover{background:rgba(var(--brand-600-rgb),.03)}.ra2-users-cell-name{font-weight:600}.ra2-users-cell-email{color:var(--muted)}.ra2-users-table-actions-col{width:1%;white-space:nowrap;text-align:right}.ra2-role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:rgba(var(--brand-600-rgb),.1);color:var(--accent);font-size:12.5px;font-weight:600;line-height:1.4}.ra2-role-chip-list{display:inline-flex;flex-wrap:wrap;gap:4px}.ra2-role-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));color:var(--ink);font-size:12px;font-weight:500;line-height:1.5}.ra2-users-empty{padding:40px 20px;display:flex;align-items:center;justify-content:center}.ra2-edit-form{gap:16px}.ra2-edit-user-meta{padding:12px 14px;border-radius:10px;background:var(--dk-bg-0f172aa3, rgba(15, 23, 42, .03));border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.ra2-edit-user-name{font-size:14px;font-weight:600;color:var(--ink)}.ra2-edit-user-email{font-size:12.5px;color:var(--muted)}.ra2-edit-user-note{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.ra2-edit-radio-row,.ra2-edit-checkbox-row{display:flex;flex-wrap:wrap;gap:8px}.ra2-edit-radio,.ra2-edit-checkbox{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:auto;gap:8px;padding:7px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--ink);cursor:pointer;transition:border-color .14s ease,background-color .14s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.ra2-edit-radio span,.ra2-edit-checkbox span{flex:0 0 auto}.ra2-edit-radio:hover,.ra2-edit-checkbox:hover{border-color:rgba(var(--brand-600-rgb),.4)}.ra2-edit-radio.is-active,.ra2-edit-checkbox.is-active{border-color:var(--accent);background:rgba(var(--brand-600-rgb),.08);color:var(--accent);font-weight:600}.ra2-edit-radio.is-disabled{opacity:.55;cursor:not-allowed}.ra2-edit-radio input,.ra2-edit-checkbox input{accent-color:var(--accent);cursor:pointer;outline:none}.ra2-edit-radio input:focus-visible,.ra2-edit-checkbox input:focus-visible{outline:none}.ra2-edit-radio.is-disabled input{cursor:not-allowed}.ra2-edit-warning{margin-top:6px;padding:8px 10px;border-radius:8px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:var(--dk-fg-78350f, #78350f);font-size:12.5px;line-height:1.4}@media (max-width: 900px){.ra2-roles-layout{grid-template-columns:1fr}.ra2-role-list{position:static;padding:6px}.ra2-role-list-items{flex-direction:row;flex-wrap:wrap;gap:4px}.ra2-role-item{padding:7px 12px}.ra2-role-item.is-active{box-shadow:none}.ra2-users-toolbar{flex-direction:column;align-items:stretch}.ra2-users-search,.ra2-users-filter,.ra2-users-filter-select{max-width:none;width:100%}.ra2-users-count{margin-left:0}}[data-theme=dark] .ra2-tabs{background:#ffffff0a}[data-theme=dark] .ra2-tab-count{background:#ffffff14}[data-theme=dark] .ra2-tab.is-active .ra2-tab-count{background:rgba(var(--brand-400-rgb),.18);color:var(--brand-300)}[data-theme=dark] .ra2-role-item:hover{background:#ffffff0d}[data-theme=dark] .ra2-role-item.is-active{background:rgba(var(--brand-400-rgb),.12)}[data-theme=dark] .ra2-users-table thead th{background:#ffffff08}[data-theme=dark] .ra2-users-table tbody tr:hover{background:rgba(var(--brand-400-rgb),.06)}[data-theme=dark] .ra2-role-badge{background:rgba(var(--brand-400-rgb),.18);color:var(--brand-300)}[data-theme=dark] .ra2-role-chip{background:#ffffff14}[data-theme=dark] .ra2-edit-user-meta{background:#ffffff0a}[data-theme=dark] .ra2-edit-warning{background:#eab30824;color:#fde68a}.distrib-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.distrib-main{min-width:0}.distrib-sidebar{position:sticky;top:16px}.distrib-student-grid{display:flex;flex-direction:column;gap:0}.distrib-student-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;cursor:pointer;transition:background .12s;-webkit-user-select:none;user-select:none}.distrib-student-row:hover{background:var(--dk-bg-f0f6ff, var(--tint-soft-2))}.distrib-student-row.selected{background:var(--dk-bg-eff6ff, var(--brand-50))}.distrib-student-row input[type=checkbox]{flex-shrink:0;margin:0;width:16px;height:16px;cursor:pointer}.distrib-student-name{font-size:14px;font-weight:500;line-height:1.2;color:var(--text, #111827)}.distrib-student-email{font-size:12px;color:var(--text-muted, #6b7280);margin-top:1px}.distrib-class-list{display:flex;flex-direction:column;gap:2px;max-height:480px;overflow-y:auto}.distrib-class-row{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s;min-height:0}.distrib-class-row:hover{background:var(--dk-bg-f0f6ff, var(--tint-soft-2))}.distrib-class-row.active{background:var(--dk-bg-eff6ff, var(--brand-50));border-left:2px solid var(--primary, var(--brand-500));padding-left:8px;border-radius:0 6px 6px 0}.distrib-class-row .icon-btn{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;opacity:.6;transition:opacity .15s,background .15s}.distrib-class-row .icon-btn:hover{opacity:1}.distrib-class-row .icon-btn:not(.setup-delete-icon-btn){color:var(--primary, var(--brand-500))}.distrib-class-row .icon-btn:not(.setup-delete-icon-btn):hover{background:var(--dk-bg-dbeafe, var(--brand-100))}.distrib-class-row .setup-delete-icon-btn{color:#f87171}.distrib-class-row .setup-delete-icon-btn:hover{color:#ef4444;background:var(--dk-bg-fef2f2, #fef2f2);opacity:1}.distrib-unassigned-list{margin-top:8px;display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.distrib-unassigned-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px}@media (max-width: 900px){.distrib-layout{grid-template-columns:1fr}.distrib-sidebar{position:static}}.distrib-header{margin-bottom:24px}.distrib-header-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.distrib-title{margin:0;font-size:22px;font-weight:700;line-height:1.2;color:var(--text, #111827)}.distrib-progress-label{font-size:13px;color:var(--text-muted, #6b7280);white-space:nowrap;flex-shrink:0}.distrib-progress-bar{height:5px;background:var(--border, #e5e7eb);border-radius:3px;overflow:hidden}.distrib-progress-fill{height:100%;background:var(--primary, var(--brand-500));border-radius:3px;transition:width .3s ease}.distrib-student-scroll{max-height:440px;overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:0 0 8px 8px;padding:4px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.distrib-student-scroll::-webkit-scrollbar{width:5px}.distrib-student-scroll::-webkit-scrollbar-track{background:transparent}.distrib-student-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.distrib-select-all-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--dk-bg-f8fafc, #f8fafc);border:1px solid var(--border, #e5e7eb);border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:0}.distrib-select-all-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text, #111827);cursor:pointer;-webkit-user-select:none;user-select:none}.distrib-select-all-label input[type=checkbox]{width:15px;height:15px;margin:0;cursor:pointer}.distrib-selected-count{font-size:13px;color:var(--text-muted, #6b7280)}.distrib-unassigned-section{margin-top:16px;border-top:1px solid var(--border, #e5e7eb);padding-top:12px}.distrib-unassigned-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;cursor:pointer;font-size:13px;font-weight:500;color:var(--text, #111827);width:100%;text-align:left}.distrib-unassigned-toggle:hover{color:var(--primary, var(--brand-500))}.distrib-unassigned-count{margin-left:auto;background:var(--border, #e5e7eb);color:var(--text-muted, #6b7280);font-size:11px;font-weight:600;border-radius:10px;padding:1px 7px}.distrib-chevron{flex-shrink:0;transition:transform .2s}.distrib-chevron-open{flex-shrink:0;transform:rotate(180deg);transition:transform .2s}.subjects-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.subjects-search-wrap{position:relative;flex:1;min-width:180px}.subjects-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted, #6b7280);pointer-events:none}.subjects-search-input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:14px;background:var(--dk-bg-ffffff, #fff);outline:none;transition:border-color .15s}.subjects-search-input:focus{border-color:var(--primary, var(--brand-500))}.subjects-filter-select{padding:8px 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:13px;background:var(--dk-bg-ffffff, #fff);cursor:pointer;color:var(--text, #111827)}.subjects-count-label{font-size:13px;color:var(--text-muted, #6b7280);margin-left:auto;white-space:nowrap}.subjects-class-grid{display:flex;flex-wrap:wrap;gap:6px}.subjects-class-chip{padding:6px 14px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--dk-bg-ffffff, #fff);font-size:13px;font-weight:500;color:var(--text, #111827);cursor:pointer;transition:all .15s}.subjects-class-chip:hover{border-color:var(--primary, var(--brand-500));color:var(--primary, var(--brand-500));background:var(--dk-bg-f0f6ff, #f0f6ff)}.subjects-class-chip.active{background:var(--primary, var(--brand-500));border-color:var(--primary, var(--brand-500));color:#fff;font-weight:600}.subjects-schedule-card{margin-top:0}.subjects-no-lessons-state{padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.subjects-no-lessons-title{font-weight:600;font-size:15px}.subjects-no-lessons-hint{font-size:13px}.subjects-schedule-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;align-items:flex-start;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.subjects-day-col{flex:0 0 190px;display:flex;flex-direction:column;gap:8px}.subjects-day-header{font-size:13px;font-weight:600;color:var(--text, #111827);padding-bottom:8px;border-bottom:1px solid var(--border, #e5e7eb)}.subjects-day-lessons{display:flex;flex-direction:column;gap:6px}.schedule-lesson-time{font-size:12px;font-weight:700;color:var(--lesson-muted, rgba(0,0,0,.5))}.schedule-lesson-teacher{font-size:12px;color:var(--lesson-muted, rgba(0,0,0,.5));margin-top:2px}.tuition-banner{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:12px;border:1px solid;position:relative;margin-bottom:12px}.tuition-banner-warning{background:var(--dk-bg-fffbeb, #fffbeb);border-color:#fde68a;color:var(--dk-fg-92400e, #92400e)}.tuition-banner-urgent{background:var(--dk-bg-fff7ed, #fff7ed);border-color:var(--dk-bd-fed7aa, #fed7aa);color:var(--dk-fg-9a3412, #9a3412)}.tuition-banner-overdue{background:var(--dk-bg-fef2f2, #fef2f2);border-color:var(--dk-bd-fecaca, #fecaca);color:var(--dk-fg-991b1b, #991b1b)}.tuition-banner-icon{flex-shrink:0;margin-top:1px;opacity:.85}.tuition-banner-warning .tuition-banner-icon{color:var(--dk-fg-d97706, #d97706)}.tuition-banner-urgent .tuition-banner-icon{color:var(--dk-fg-ea580c, #ea580c)}.tuition-banner-overdue .tuition-banner-icon{color:#dc2626}.tuition-banner-body{flex:1;min-width:0}.tuition-banner-title{font-size:14px;font-weight:600;margin-bottom:3px;line-height:1.3}.tuition-banner-text{font-size:13px;line-height:1.5;opacity:.9}.tuition-banner-contact{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;opacity:.85;flex-wrap:wrap}.tuition-banner-email{color:inherit;text-decoration:underline;text-underline-offset:2px;opacity:.8}.tuition-banner-email:hover{opacity:1}.tuition-banner-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;opacity:.5;color:inherit;display:flex;align-items:center;justify-content:center;transition:opacity .15s;margin-top:1px}.tuition-banner-close:hover{opacity:1}.curator-page{display:flex;flex-direction:column;gap:16px}.curator-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.curator-header-left{display:flex;align-items:center;gap:12px}.curator-header-icon{font-size:32px;line-height:1;flex-shrink:0}.curator-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.curator-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.curator-dropdown-item{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;font-size:14px;color:var(--ink);cursor:pointer;transition:background .12s}.curator-dropdown-item:hover{background:var(--accent-soft)}.curator-class-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.curator-class-bar-left{display:flex;align-items:center;gap:10px}.curator-class-select{font-size:15px;font-weight:700;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:5px 28px 5px 10px;background:var(--surface);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.curator-student-count{font-size:14px;color:var(--muted)}.curator-split-btn{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;overflow:hidden}.curator-split-btn-main{display:flex;align-items:center;gap:7px;padding:7px 14px;border:none;background:var(--surface);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap}.curator-split-btn-main:hover:not(:disabled){background:var(--bg-alt)}.curator-split-btn-arrow{display:flex;align-items:center;justify-content:center;padding:7px 10px;border:none;border-left:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer}.curator-split-btn-arrow:hover:not(:disabled){background:var(--bg-alt)}.curator-split-btn-main:disabled,.curator-split-btn-arrow:disabled{opacity:.5;cursor:not-allowed}.curator-tabs{display:flex;gap:8px}.curator-tab{padding:7px 18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .12s;white-space:nowrap}.curator-tab:hover:not(.curator-tab--active){border-color:var(--accent);color:var(--accent)}.curator-tab--active{border-color:var(--accent);color:var(--accent);font-weight:600;background:var(--surface)}.curator-period-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;flex-wrap:wrap}.curator-period-bar-left{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.curator-period-bar-right{display:flex;align-items:center;gap:8px}.curator-period-label{color:var(--muted);font-weight:500;white-space:nowrap;font-size:13px}.curator-period-select{border:1px solid var(--border);border-radius:8px;padding:4px 28px 4px 10px;background:var(--surface);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.curator-period-range{display:flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font-size:13px;white-space:nowrap}.curator-period-cal-icon{color:var(--muted);flex-shrink:0}.curator-custom-inline{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.curator-period-dash{color:var(--muted);font-size:13px}.curator-apply-btn{padding:4px 12px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.curator-apply-btn:disabled{opacity:.5;cursor:not-allowed}.curator-quarters{display:flex;gap:4px}.curator-quarter-btn{padding:4px 11px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .12s;min-width:32px;text-align:center}.curator-quarter-btn:hover:not(.curator-quarter-btn--active){border-color:var(--accent);color:var(--accent)}.curator-quarter-btn--active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.curator-date-input{border:1px solid var(--input-border);border-radius:8px;padding:4px 8px;font-size:13px;background:var(--input-bg);color:var(--ink);width:130px;min-width:0}.curator-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 900px){.curator-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.curator-stats-grid{grid-template-columns:1fr}}.curator-stat-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 1px 3px #1018280a}.curator-stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.curator-stat-card--blue .curator-stat-icon{background:#6366f11f;color:#6366f1}.curator-stat-card--green .curator-stat-icon{background:#22c55e1f;color:var(--dk-fg-16a34a, #16a34a)}.curator-stat-card--orange .curator-stat-icon{background:#f59e0b1f;color:var(--dk-fg-d97706, #d97706)}.curator-stat-body{display:flex;flex-direction:column;gap:1px;min-width:0}.curator-stat-label{font-size:12px;font-weight:500;line-height:1.3;color:var(--muted)}.curator-stat-card--blue .curator-stat-label{color:#6366f1}.curator-stat-card--green .curator-stat-label{color:var(--dk-fg-16a34a, #16a34a)}.curator-stat-value{font-size:28px;font-weight:700;color:var(--ink);line-height:1.1}.curator-stat-sub{font-size:11px;color:var(--muted);margin-top:1px}.curator-attention-block{padding:14px 16px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius)}.curator-attention-title{font-size:13px;font-weight:700;color:var(--dk-fg-b91c1c, #b91c1c);margin-bottom:10px}.curator-attention-list{display:flex;flex-wrap:wrap;gap:8px}.curator-attention-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid rgba(239,68,68,.14);border-radius:8px}.curator-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 760px){.curator-charts-row{grid-template-columns:1fr}}.curator-chart-card{padding:16px 20px}.curator-chart-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:16px}.curator-donut-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.curator-donut-legend{display:flex;flex-direction:column;gap:8px}.curator-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.curator-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.curator-legend-text{line-height:1.3}.curator-line-wrap{width:100%;overflow:hidden}.curator-chart-empty{display:flex;align-items:center;justify-content:center;height:120px;color:var(--muted);font-size:13px}.curator-students-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.curator-search{flex:1;min-width:180px;padding:7px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--ink)}.curator-filter-select{border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;background:var(--surface);color:var(--ink);cursor:pointer}.curator-student-list{display:flex;flex-direction:column;gap:0}.curator-student-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .12s;cursor:pointer}.curator-student-row:last-child{border-bottom:none}.curator-student-row:hover{background:var(--card-hover)}.curator-student-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.curator-student-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.curator-student-name{font-size:14px;font-weight:600;color:var(--ink)}.curator-student-meta{font-size:12px;color:var(--muted)}.curator-student-avg{font-size:18px;font-weight:700;color:var(--ink);min-width:32px;text-align:right}.curator-students-hint{padding:10px 16px;font-size:12px;color:var(--muted);text-align:center;border-top:1px solid var(--border);background:var(--bg)}.curator-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em}.curator-avatar--lg{width:38px;height:38px;font-size:13px}.curator-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.curator-badge--green{background:#22c55e1f;color:var(--dk-fg-15803d, #15803d)}.curator-badge--blue{background:#2563eb1f;color:var(--dk-fg-1d4ed8, #1d4ed8)}.curator-badge--orange{background:#f59e0b24;color:var(--dk-fg-b45309, #b45309)}.curator-badge--red{background:#ef44441f;color:var(--dk-fg-b91c1c, #b91c1c)}.curator-badge--muted{background:#94a3b824;color:var(--muted)}.curator-empty{padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.curator-empty-icon{font-size:36px;line-height:1;margin-bottom:4px}.curator-empty-icon.is-lucide{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.curator-empty-title{font-size:16px;font-weight:700;color:var(--ink)}.curator-empty-sub{font-size:13px;color:var(--muted)}.curator-multiselect{display:grid;gap:4px}.curator-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--input-border);background:var(--input-bg);font:inherit;font-size:14px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.curator-multiselect-trigger:focus-visible{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.curator-multiselect-trigger.is-open{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.curator-multiselect-placeholder{color:var(--muted)}.curator-multiselect-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s}.curator-multiselect-trigger.is-open .curator-multiselect-chevron{transform:rotate(180deg)}.curator-multiselect-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.curator-multiselect-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;color:var(--ink);border-bottom:1px solid var(--border)}.curator-multiselect-item:last-child{border-bottom:none}.curator-multiselect-item:hover{background:var(--surface-soft)}.curator-multiselect-item input[type=checkbox]{flex-shrink:0;accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.curator-multiselect-empty{padding:10px 12px;font-size:13px;color:var(--muted)}.curator-multiselect-hint{font-size:12px;color:var(--muted)}.swu-class-mode-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:8px;width:fit-content}.swu-class-mode-btn{padding:6px 14px;font-size:13px;background:none;border:none;cursor:pointer;color:var(--muted);transition:background .15s,color .15s;line-height:1.4}.swu-class-mode-btn+.swu-class-mode-btn{border-left:1px solid var(--border)}.swu-class-mode-btn.is-active{background:var(--accent, var(--brand-500));color:#fff}.swu-class-mode-btn:not(.is-active):hover{background:var(--surface-hover, rgba(0,0,0,.04));color:var(--ink)}.swu-new-class-row{display:flex;flex-direction:column;gap:6px}.swu-new-class-info{font-size:12px;line-height:1.5;color:var(--muted)}.swu-class-readonly{display:flex;align-items:center;padding:8px 12px;background:var(--bg-secondary, #f7f7f8);border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:14px;color:var(--text-primary);min-height:38px}.swu-new-class-info .link{color:var(--primary);text-decoration:underline;font-size:12px;border-radius:4px;padding:1px 4px;margin:0 -4px;transition:background .15s}.swu-new-class-info .link:hover{background:var(--primary-soft, color-mix(in srgb, var(--primary) 10%, transparent));text-decoration:none}.tl-page{display:flex;flex-direction:column;gap:0;padding:24px;max-width:1200px;position:relative}.tl-page-title{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 4px;letter-spacing:-.3px}.tl-page-subtitle{font-size:14px;margin:0;color:var(--muted)}.tl-toast{position:fixed;top:20px;right:24px;z-index:9999;background:var(--ink);color:#fff;font-size:13px;font-weight:500;padding:10px 18px;border-radius:10px;box-shadow:0 6px 20px #10182833;pointer-events:none;animation:tl-fadein .2s ease}@keyframes tl-fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tl-filter-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap}.tl-filter-bar:hover{background:var(--surface)}.tl-filter-tabs{display:flex;align-items:center;gap:4px;flex-shrink:0}.tl-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid transparent;background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease;white-space:nowrap}.tl-tab:hover{background:rgba(var(--brand-600-rgb),.06);color:var(--accent)}.tl-tab.is-active{background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.3);color:var(--accent)}.tl-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef444426;color:var(--warning);font-size:11px;font-weight:600}.tl-search-wrap{position:relative;flex:1;min-width:180px;max-width:320px}.tl-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.tl-search-input{width:100%;padding:8px 10px 8px 32px;border-radius:10px;border:1px solid var(--input-border);font-size:13px;background:var(--input-bg);color:var(--ink);transition:border .2s ease,box-shadow .2s ease}.tl-search-input:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.tl-filter-select{padding:8px 10px;border-radius:10px;border:1px solid var(--input-border);font-size:13px;background:var(--input-bg);color:var(--ink);cursor:pointer;width:auto;min-width:120px;transition:border .2s ease}.tl-filter-select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.tl-filters-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.tl-filters-btn:hover{background:rgba(var(--brand-600-rgb),.06);color:var(--accent);border-color:rgba(var(--brand-600-rgb),.25)}.tl-filters-btn.has-active{color:var(--accent);border-color:rgba(var(--brand-600-rgb),.3);background:rgba(var(--brand-600-rgb),.06)}.tl-filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700}.tl-table{width:100%;border-collapse:collapse}.tl-table-head-row{border-bottom:1px solid var(--border);background:var(--dk-bg-f8fbffa80, rgba(var(--tint-faint-rgb), .8))}.tl-table-row{border-bottom:1px solid var(--border);transition:background .12s ease}.tl-table-row:last-child{border-bottom:none}.tl-table-row:hover{background:rgba(var(--brand-600-rgb),.02)}.tl-th{padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.tl-th--avatar{width:52px;padding:10px 8px 10px 16px}.tl-th--actions{width:80px;text-align:right}.tl-td{padding:12px 14px;vertical-align:middle}.tl-td--avatar{padding:12px 8px 12px 16px;width:52px}.tl-td--actions{text-align:right;padding-right:16px}.tl-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;letter-spacing:.5px;flex-shrink:0}.tl-teacher-name{font-weight:600;font-size:14px;color:var(--ink);line-height:1.3}.tl-teacher-email{font-size:12px;color:var(--muted);margin-top:2px}.tl-subject{font-size:13px;color:var(--ink)}.tl-platform-row{display:flex;align-items:center;gap:7px}.tl-platform-label{font-size:13px;color:var(--ink)}.tl-platform-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tl-platform-icon--zoom{background:var(--brand-600)}.tl-platform-icon--meet{background:linear-gradient(135deg,#34a853 25%,#fbbc05,#ea4335,#4285f4)}.tl-badge-no-link{background:#94a3b82e;color:var(--muted);font-size:12px;padding:3px 8px;border-radius:6px}.tl-status-badge{font-size:12px;padding:4px 10px;border-radius:6px}.tl-link-cell{display:flex;flex-direction:column;gap:4px}.tl-link-url{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--accent);text-decoration:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.tl-link-url:hover{color:var(--accent-strong);text-decoration:underline}.tl-link-icon{flex-shrink:0;color:var(--accent)}.tl-link-password{display:flex;align-items:center;gap:5px;color:var(--muted)}.tl-password-dots{font-size:13px;letter-spacing:2px}.tl-eye-icon{color:var(--muted);cursor:default}.tl-no-data{color:var(--muted);font-size:14px}.tl-sort-btn{background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:0;transition:color .15s}.tl-sort-btn:hover{color:var(--accent)}.tl-sort-arrows{font-size:11px;opacity:.7}.tl-action-group{display:flex;align-items:center;justify-content:flex-end;gap:4px}.tl-icon-btn{width:32px;height:32px;padding:0;border-radius:8px}.tl-dropdown-wrap{position:relative}.tl-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #1018281f;min-width:180px;padding:4px;overflow:hidden}.tl-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;border-radius:7px;text-align:left;transition:background .12s ease}.tl-dropdown-item:hover{background:rgba(var(--brand-600-rgb),.07);color:var(--accent)}.tl-dropdown-item--danger{color:var(--warning)}.tl-dropdown-item--danger:hover{background:#ef444414;color:var(--warning)}.tl-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.tl-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.tl-footer-stats{font-size:13px;color:var(--muted)}.tl-pagination{display:flex;align-items:center;gap:4px}.tl-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--border);border-radius:7px;background:transparent;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .15s ease}.tl-page-btn:hover:not(:disabled){background:rgba(var(--brand-600-rgb),.08);border-color:rgba(var(--brand-600-rgb),.3);color:var(--accent)}.tl-page-btn:disabled{opacity:.35;cursor:not-allowed}.tl-page-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.tl-page-ellipsis{padding:0 4px;font-size:13px;color:var(--muted);line-height:30px}.tl-page-size-select{padding:5px 8px;border-radius:8px;border:1px solid var(--border);font-size:12px;background:var(--input-bg);color:var(--ink);cursor:pointer;width:auto;margin-left:8px}.tl-loading,.tl-error,.tl-empty{padding:32px 24px;text-align:center;font-size:14px;color:var(--muted)}.tl-error{color:var(--warning)}.tl-edit-modal{width:min(480px,100%);display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;background:var(--surface, #ffffff);border-radius:14px;box-shadow:0 8px 32px #0f172a29,0 2px 8px #0f172a14}.tl-confirm-modal{width:min(420px,100%);display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;background:var(--surface, #ffffff);border-radius:14px;box-shadow:0 8px 32px #0f172a29,0 2px 8px #0f172a14}.tl-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.tl-modal-header-left{display:flex;align-items:flex-start;gap:12px}.tl-modal-icon{width:36px;height:36px;border-radius:8px;background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tl-modal-icon--danger{background:var(--dk-bg-fff1f2, #fff1f2);color:#dc2626}.tl-modal-title{font-size:16px;font-weight:700;color:var(--ink);margin:0;line-height:1.3}.tl-modal-subtitle{font-size:13px;color:var(--muted, #64748b);margin:2px 0 0}.tl-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted, #64748b);cursor:pointer;flex-shrink:0;transition:background .15s}.tl-modal-close:hover{background:var(--surface-hover, #f1f5f9);color:var(--ink)}.tl-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.tl-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border, #e2e8f0);background:var(--surface-subtle, #f8fafc)}.tl-modal-help{font-size:13px;color:var(--muted, #64748b);margin:0;line-height:1.5}.tl-field{display:flex;flex-direction:column;gap:6px}.tl-field-label{font-size:13px;font-weight:600;color:var(--ink)}.tl-field-input{width:100%;padding:9px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;color:var(--ink);background:var(--surface, #fff);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.tl-field-input:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.12)}.tl-field-hint{font-size:12px;margin:0}.tl-field-hint--warn{color:var(--dk-fg-b45309, #b45309)}.tl-field-hint--danger{color:#dc2626}.tl-platform-preview{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted, #64748b)}.tl-platform-preview-icon--zoom{color:var(--brand-600)}.tl-gmeet-dot{font-size:11px;font-weight:800;color:#4285f4}.tl-platform-preview-label{color:var(--muted, #9ca3af);font-size:11px;margin-left:4px}.tl-btn-danger{background:#dc2626;box-shadow:0 4px 12px #dc262640}.tl-btn-danger:hover{background:#b91c1c}[data-theme=dark] .tl-filter-bar,[data-theme=dark] .tl-dropdown-menu,[data-theme=dark] .tl-edit-modal,[data-theme=dark] .tl-confirm-modal{background:var(--surface)}[data-theme=dark] .tl-table-head-row{background:#ffffff08}.tmat-table{width:100%;border-collapse:collapse}.tmat-th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:var(--dk-bg-f8fafc, #F8FAFC);border-bottom:1px solid var(--border);white-space:nowrap}.tmat-td{padding:12px 16px;font-size:14px;color:var(--ink);border-bottom:1px solid var(--border);vertical-align:middle}.tmat-row:last-child .tmat-td{border-bottom:none}.tmat-row:hover{background:var(--dk-bg-101828a2, rgba(16, 24, 40, .02))}.tmat-mobile-list{display:none;flex-direction:column}.tmat-fab{display:none}@media (max-width: 767px){.tmat-table{display:none}.tmat-mobile-list{display:flex}.tmat-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(var(--brand-600-rgb),.35);z-index:40;transition:transform .15s ease}.tmat-fab:hover{transform:scale(1.08)}}[data-theme=dark] .tmat-th,[data-theme=dark] .tmat-row:hover{background:#ffffff08}.chat-layout-root{display:grid;grid-template-columns:320px 1fr;height:calc(100vh + -0px);min-height:0;overflow:hidden}.chat-sidebar-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0;background:var(--surface);overflow:hidden}.chat-sidebar-top{display:flex;flex-direction:column;gap:8px;padding:14px 12px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-sidebar-title{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--ink)}.chat-search-wrap{display:flex;align-items:center;gap:7px;padding:6px 10px;background:var(--dk-bg-101828a4, rgba(16, 24, 40, .04));border:1px solid var(--border);border-radius:8px;color:var(--muted);transition:border-color .15s ease,background .15s ease}.chat-search-wrap:focus-within{border-color:rgba(var(--brand-600-rgb),.38);background:var(--dk-bg-ffffffa90, rgba(255, 255, 255, .9))}.chat-search-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--ink);min-width:0}.chat-search-input::placeholder{color:var(--muted)}.chat-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:var(--dk-bg-101828a10, rgba(16, 24, 40, .1));border-radius:50%;color:var(--muted);cursor:pointer;padding:0;flex-shrink:0;transition:background .12s ease}.chat-search-clear:hover{background:var(--dk-bg-101828a18, rgba(16, 24, 40, .18))}.chat-sidebar-body{flex:1;overflow-y:auto;min-height:0;padding:4px 0}.chat-section-label{padding:8px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.chat-sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;text-align:center}.chat-sidebar-empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(var(--brand-600-rgb),.08);color:var(--accent);margin-bottom:4px}.chat-sidebar-empty-title{font-size:14px;font-weight:600;color:var(--ink);margin:0}.chat-sidebar-empty-desc{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 4px}.chat-conv-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .12s ease;border-radius:0}.chat-conv-item:hover{background:var(--dk-bg-101828a4, rgba(16, 24, 40, .04))}.chat-conv-item--active{background:rgba(var(--brand-600-rgb),.08)!important}.chat-conv-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-conv-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.chat-conv-item-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chat-conv-item-time{font-size:11px;color:var(--muted);flex-shrink:0;white-space:nowrap}.chat-conv-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.chat-conv-item-preview{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chat-conv-item-delete{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--muted);padding:0;flex-shrink:0;opacity:0;pointer-events:none;transition:background .12s,color .12s,opacity .12s}.chat-conv-item:hover .chat-conv-item-delete{opacity:1;pointer-events:auto}.chat-conv-item-delete:hover{background:#b91c1c1a;color:var(--dk-fg-b91c1c, #b91c1c)}.chat-unread-badge{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.chat-content-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--surface)}.chat-welcome-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;height:100%;text-align:center;padding:40px 24px}.chat-welcome-title{font-size:18px;font-weight:700;color:var(--ink);margin:0}.chat-welcome-desc{font-size:14px;color:var(--muted);margin:0 0 4px;max-width:320px;line-height:1.55}.chat-header-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface);min-height:58px}.chat-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-header-name{font-size:14px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;padding:0;cursor:pointer;text-align:left}.chat-header-sub{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-messages-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:12px 16px 8px;min-height:0;position:relative}.chat-date-sep{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--muted);padding:8px 0 4px;letter-spacing:.02em}.chat-msg-row{display:flex;max-width:100%}.chat-msg-row--in{justify-content:flex-start}.chat-msg-row--out{justify-content:flex-end}.chat-bubble-wrap{max-width:68%;display:flex;flex-direction:column}.chat-bubble-body{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:14px;word-break:break-word;white-space:pre-wrap}.chat-bubble-body--in{background:var(--dk-bg-101828a5, rgba(16, 24, 40, .05));border-bottom-left-radius:4px}.chat-bubble-body--out{background:rgba(var(--brand-600-rgb),.1);border-bottom-right-radius:4px}.chat-bubble-sender-name{font-size:11px;font-weight:700;color:var(--accent-strong);margin-bottom:2px}.chat-bubble-text{font-size:14px;color:var(--ink);line-height:1.5}.chat-bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px}.chat-bubble-time{font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0}.chat-bubble-reply-btn{font-size:11px;color:var(--muted);border:none;background:transparent;cursor:pointer;padding:0;opacity:0;transition:opacity .15s ease;white-space:nowrap}.chat-msg-row:hover .chat-bubble-reply-btn{opacity:1}.chat-reply-ref{display:flex;flex-direction:column;gap:2px;padding:5px 8px;border-left:3px solid var(--accent);border-radius:6px;background:rgba(var(--brand-600-rgb),.06);cursor:pointer;border-top:none;border-right:none;border-bottom:none;text-align:left;width:100%}.chat-reply-ref-name{font-size:11px;font-weight:700;color:var(--accent-strong)}.chat-reply-ref-body{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-file-card{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--dk-bg-101828a5, rgba(16, 24, 40, .05));border-radius:8px;border:1px solid var(--border)}.chat-attachments-wrap{display:flex;flex-direction:column;gap:4px}.chat-scroll-down{position:sticky;bottom:8px;align-self:flex-end;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;box-shadow:0 2px 8px #1018281f;transition:transform .15s ease}.chat-scroll-down:hover{transform:scale(1.08)}.chat-composer-area{padding:10px 12px 12px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-reply-preview-bar{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;margin-bottom:8px;background:rgba(var(--brand-600-rgb),.06);border-left:3px solid var(--accent);border-radius:6px}.chat-composer-row{display:flex;align-items:flex-end;gap:6px}.chat-composer-textarea{flex:1;min-height:38px;max-height:120px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--dk-bg-101828a3, rgba(16, 24, 40, .03));font-size:14px;color:var(--ink);resize:none;outline:none;line-height:1.45;font-family:inherit;transition:border-color .15s ease;field-sizing:content}.chat-composer-textarea::placeholder{color:var(--muted)}.chat-composer-textarea:focus{border-color:rgba(var(--brand-600-rgb),.4);background:var(--surface)}.chat-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s ease,color .12s ease;padding:0}.chat-icon-btn:hover:not(:disabled){background:var(--dk-bg-101828a7, rgba(16, 24, 40, .07));color:var(--ink)}.chat-icon-btn:disabled{opacity:.45;cursor:not-allowed}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .1s ease;padding:0}.chat-send-btn:hover:not(:disabled){background:var(--accent-strong);transform:scale(1.04)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-contact-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease}.chat-contact-row:hover{background:var(--dk-bg-101828a4, rgba(16, 24, 40, .04))}.chat-contact-row--selected{background:rgba(var(--brand-600-rgb),.07);border-color:rgba(var(--brand-600-rgb),.2)}.chat-contact-check{width:18px;height:18px;min-width:18px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s ease,border-color .12s ease}.chat-contact-check--selected{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .chat-sidebar-panel,[data-theme=dark] .chat-content-panel{background:var(--surface)}[data-theme=dark] .chat-search-wrap{background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .chat-search-wrap:focus-within{background:#ffffff17}[data-theme=dark] .chat-conv-item:hover{background:#ffffff0d}[data-theme=dark] .chat-conv-item--active{background:rgba(var(--brand-600-rgb),.18)!important}[data-theme=dark] .chat-bubble-body--in{background:#ffffff12}[data-theme=dark] .chat-bubble-body--out{background:rgba(var(--brand-600-rgb),.18)}[data-theme=dark] .chat-composer-textarea{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .chat-composer-textarea:focus{background:#ffffff14}[data-theme=dark] .chat-icon-btn:hover:not(:disabled){background:#ffffff14}[data-theme=dark] .chat-contact-row:hover{background:#ffffff0d}[data-theme=dark] .chat-contact-row--selected{background:rgba(var(--brand-600-rgb),.18)}[data-theme=dark] .chat-file-card{background:#ffffff0f}[data-theme=dark] .chat-scroll-down{background:#1e1e28eb;border-color:#ffffff1a}[data-theme=dark] .chat-sidebar-empty-icon{background:rgba(var(--brand-600-rgb),.18)}.chat-mobile-back-btn{display:none}@media (max-width: 700px){.chat-layout-root{grid-template-columns:1fr;grid-template-rows:1fr;position:relative;height:calc(100dvh - 80px);overflow:hidden}.chat-sidebar-panel,.chat-content-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:none;max-height:none;transition:transform .27s cubic-bezier(.4,0,.2,1);will-change:transform}.chat-sidebar-panel{transform:translate(0);z-index:2}.chat-content-panel{transform:translate(100%);z-index:3}.chat-layout-root--in-chat .chat-sidebar-panel{transform:translate(-28%);pointer-events:none}.chat-layout-root--in-chat .chat-content-panel{transform:translate(0)}.chat-mobile-back-btn{display:flex;margin-right:2px;flex-shrink:0}.chat-bubble-wrap{max-width:86%}.chat-messages-area,.chat-header-bar{padding:8px 10px}}.hw2-page{padding:0}.hw2-header{padding:20px 0 16px}.hw2-title{font-size:22px;font-weight:700;color:var(--text);margin:12px 0 10px;line-height:1.3}.hw2-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hw2-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.hw2-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.hw2-status--pending{background:#6366f11a;color:#6366f1}.hw2-status--submitted{background:#3b82f61a;color:#2563eb}.hw2-status--accepted{background:#22c55e1a;color:var(--dk-fg-16a34a, #16a34a)}.hw2-status--revision{background:#f973161a;color:var(--dk-fg-ea580c, #ea580c)}.hw2-status--overdue{background:#ef44441a;color:#dc2626}.hw2-status--soon{background:#eab3081a;color:var(--dk-fg-ca8a04, #ca8a04)}.hw2-layout{display:grid;grid-template-columns:1fr;gap:20px;padding:0 0 32px;align-items:start}.hw2-main{display:flex;flex-direction:column;gap:16px;min-width:0}.hw2-instruction-card{display:flex;gap:14px;padding:18px 20px;background:rgba(var(--brand-500-rgb),.06);border:1px solid rgba(var(--brand-500-rgb),.2);border-radius:16px}.hw2-instruction-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(var(--brand-500-rgb),.12);border-radius:10px;color:var(--brand-600)}.hw2-instruction-body{flex:1;min-width:0}.hw2-instruction-title{font-size:13px;font-weight:600;color:var(--brand-600);margin-bottom:6px}.hw2-instruction-text{font-size:14px;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.hw2-section{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:20px}.hw2-section--work{border-color:rgba(var(--brand-500-rgb),.25);box-shadow:0 2px 12px rgba(var(--brand-500-rgb),.06)}.hw2-section-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.hw2-file-list{display:flex;flex-direction:column;gap:10px}.hw2-file-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.hw2-file-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(var(--brand2-500-rgb),.08);border-radius:8px;color:var(--text-secondary)}.hw2-file-info{flex:1;min-width:0}.hw2-file-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw2-file-meta{font-size:12px;color:var(--text-secondary);margin-top:2px}.hw2-file-actions{flex-shrink:0;display:flex;align-items:center;gap:6px}.hw2-submitted-view{display:flex;flex-direction:column;gap:14px}.hw2-submitted-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:12px;font-size:14px}.hw2-submitted-notice--pending{background:#3b82f612;border:1px solid rgba(59,130,246,.18);color:#2563eb}.hw2-submitted-notice--accepted{background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:var(--dk-fg-16a34a, #16a34a)}.hw2-submitted-notice--revision{background:#f9731612;border:1px solid rgba(249,115,22,.2);color:var(--dk-fg-ea580c, #ea580c)}.hw2-review-section{display:flex;flex-direction:column;gap:12px}.hw2-form{display:flex;flex-direction:column;gap:14px}.hw2-form-hint{font-size:13px;color:var(--text-secondary)}.hw2-textarea-wrap{position:relative}.hw2-textarea{min-height:120px;padding-bottom:28px}.hw2-char-count{position:absolute;bottom:8px;right:10px;font-size:11px;color:var(--text-secondary);pointer-events:none}.hw2-form-actions{display:flex;gap:8px}.hw2-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--accent);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 4px 14px rgba(var(--brand-600-rgb),.25)}.hw2-cta-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 18px rgba(var(--brand-600-rgb),.32)}.hw2-cta-btn:active:not(:disabled){transform:translateY(0)}.hw2-cta-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.hw2-cta-hint{font-size:12px;color:var(--text-secondary);text-align:center;margin:0}.hw2-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:14px}.hw2-sidebar-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:18px 20px}.hw2-sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:14px}.hw2-sidebar-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.hw2-sidebar-row:last-child{border-bottom:none;padding-bottom:0}.hw2-sidebar-label{display:flex;align-items:center;gap:5px;color:var(--text-secondary);flex-shrink:0}.hw2-sidebar-value{display:flex;justify-content:flex-end;align-items:center;color:var(--text);font-weight:500;word-break:break-word}.hw2-sidebar-value--danger{color:#dc2626;font-weight:600}.hw2-sidebar-value--warn{color:var(--dk-fg-ca8a04, #ca8a04);font-weight:600}.hw2-preview-banner{display:flex;align-items:center;gap:8px;padding:9px 24px;background:rgba(var(--brand2-500-rgb),.07);border-bottom:1px solid rgba(var(--brand2-500-rgb),.18);font-size:13px;font-weight:500;color:var(--brand2-500)}[data-theme=dark] .hw2-instruction-card{background:rgba(var(--brand-500-rgb),.09);border-color:rgba(var(--brand-500-rgb),.25)}[data-theme=dark] .hw2-section--work{border-color:rgba(var(--brand-500-rgb),.3);box-shadow:0 2px 12px rgba(var(--brand-500-rgb),.1)}[data-theme=dark] .hw2-preview-banner{background:rgba(var(--brand2-500-rgb),.12);border-color:rgba(var(--brand2-500-rgb),.25)}[data-theme=dark] .hw2-cta-btn{box-shadow:0 4px 14px rgba(var(--brand-600-rgb),.35)}@media (max-width: 768px){.hw2-layout{grid-template-columns:1fr;padding:0 0 24px}.hw2-header{padding:16px 0 12px}.hw2-title{font-size:18px}.hw2-sidebar{position:static;top:auto}.hw2-cta-btn{font-size:16px;padding:15px 24px}.hw2-preview-banner{padding:9px 16px}}.hw-submit-page{background:var(--surface-soft);min-height:100vh;display:flex;flex-direction:column;gap:0;max-width:1140px;margin:0 auto;padding-top:16px;padding-bottom:48px}.hw-submit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 24px 16px;flex-wrap:wrap}.hw-submit-header-left{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.hw-submit-back{font-size:13px;color:var(--accent);display:inline-flex;align-items:center;gap:5px;font-weight:600;background:none;border:none;padding:0;cursor:pointer}.hw-submit-back:hover{color:var(--accent-strong)}.hw-submit-title{font-size:24px;font-weight:700;color:var(--ink);margin:4px 0 0;line-height:1.25;word-break:break-word}.hw-submit-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--muted)}.hw-submit-dot{color:var(--muted);opacity:.5}.hw-submit-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.hw-submit-deadline-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;background:rgba(var(--brand-600-rgb),.08);color:var(--accent);border:1px solid rgba(var(--brand-600-rgb),.18);white-space:nowrap}.hw-submit-deadline-badge--overdue{background:#ef444414;color:#dc2626;border-color:#ef444433}.hw-submit-deadline-badge--soon{background:#eab3081a;color:var(--dk-fg-ca8a04, #ca8a04);border-color:#eab30838}.hw-submit-info-banner{display:flex;align-items:flex-start;gap:12px;margin:0 24px 20px;padding:14px 18px;background:var(--dk-bg-eff6ff, var(--brand-50));border:1px solid rgba(var(--brand-600-rgb),.2);border-radius:12px;color:var(--dk-fg-1d4ed8, var(--brand-700));font-size:14px;line-height:1.6}.hw-submit-info-banner-icon{flex-shrink:0;margin-top:1px;color:var(--brand-600)}.hw-submit-info-banner-text{white-space:pre-wrap;word-break:break-word}.hw-submit-layout{display:grid;grid-template-columns:1fr;gap:20px;padding:0 24px;align-items:start}.hw-submit-card{background:var(--dk-bg-ffffff, #ffffff);border:1px solid var(--dk-bd-101828a7, rgba(16, 24, 40, .07));border-radius:14px;box-shadow:0 1px 4px #1018280f;padding:22px;display:flex;flex-direction:column;gap:16px}.hw-submit-card-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.01em}.hw-submit-tabs{display:flex;gap:6px;flex-wrap:wrap}.hw-submit-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.hw-submit-tab:hover{background:var(--accent-soft);color:var(--accent);border-color:rgba(var(--brand-600-rgb),.25)}.hw-submit-tab--active{background:var(--accent);color:#fff;border-color:var(--accent)}.hw-submit-tab--active:hover{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong)}.hw-submit-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;font-size:11px;font-weight:700;background:#ffffff38;padding:0 4px}.hw-submit-tab--active .hw-submit-tab-count{background:#ffffff47;color:#fff}.hw-submit-tab-empty{font-size:13px;color:var(--muted);text-align:center;padding:24px 0}.hw-submit-tab-content{display:flex;flex-direction:column;gap:12px}.hw-submit-material-item{display:flex;flex-direction:column;gap:8px}.hw-submit-media-player{width:100%;border-radius:10px;background:#000;max-height:220px;object-fit:contain}.hw-submit-audio-player{width:100%;border-radius:8px}.hw-submit-image-btn{display:block;width:100%;border:none;background:none;cursor:pointer;padding:0;border-radius:10px;overflow:hidden}.hw-submit-image-btn img{width:100%;max-height:200px;object-fit:cover;border-radius:10px;display:block}.hw-submit-material-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.hw-submit-material-label{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-submit-file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.hw-submit-teacher-comment{padding:14px 16px;background:#f973160f;border:1px solid rgba(249,115,22,.18);border-radius:10px}.hw-submit-teacher-comment--accepted{background:#22c55e0f;border-color:#22c55e33}.hw-submit-teacher-comment-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.hw-submit-review-files{display:flex;flex-direction:column;gap:8px}.hw-submit-tip{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(var(--brand-600-rgb),.07);border:1px solid rgba(var(--brand-600-rgb),.16);border-radius:8px;font-size:13px;color:var(--accent);font-weight:500}.hw-submit-scale{padding-top:4px}.hw-submit-scale-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.hw-submit-submitted-view,.hw-submit-form{display:flex;flex-direction:column;gap:14px}.hw-submit-dropzone{border-radius:12px}.hw-submit-file-list{display:flex;flex-direction:column;gap:8px}.hw-submit-file-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.hw-submit-file-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(var(--brand2-500-rgb),.08);border-radius:7px;color:var(--muted)}.hw-submit-file-body{flex:1;min-width:0}.hw-submit-file-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw-submit-file-meta{font-size:11px;color:var(--muted);margin-top:2px}.hw-submit-file-actions{flex-shrink:0;display:flex;align-items:center;gap:4px}.hw-submit-requirements{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.hw-submit-req-item{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.hw-submit-req-item svg{flex-shrink:0;color:var(--border)}.hw-submit-req-item--done{color:var(--dk-fg-16a34a, #16a34a)}.hw-submit-req-item--done svg{color:var(--dk-fg-22c55e, #22c55e)}.hw-submit-req-item--fail{color:#dc2626}.hw-submit-req-item--fail svg{color:#ef4444}.hw2-attach-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hw2-record-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;border-radius:10px}.hw2-record-btn--active{color:#dc2626;border-color:#dc262659;background:var(--dk-bg-fef2f2a80, rgba(254, 242, 242, .8))}.hw2-record-btn--active:hover:not(:disabled){background:var(--dk-bg-fee2e2a90, rgba(254, 226, 226, .9));border-color:#dc262680}.hw2-record-dot{width:7px;height:7px;border-radius:50%;background:#dc2626;animation:hw2-blink 1s step-start infinite;flex-shrink:0}@keyframes hw2-blink{0%,to{opacity:1}50%{opacity:0}}.hw-submit-late-blocked{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-danger-soft, #fef2f2);border:1px solid var(--color-danger-border, #fca5a5);border-radius:8px;color:var(--color-text-danger, #b91c1c);font-size:13px;line-height:1.4}[data-theme=dark] .hw-submit-late-blocked{background:#b91c1c1f;border-color:#b91c1c4d;color:#fca5a5}.hw-submit-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 24px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 4px 14px rgba(var(--brand-600-rgb),.28)}.hw-submit-cta-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 18px rgba(var(--brand-600-rgb),.34)}.hw-submit-cta-btn:active:not(:disabled){transform:translateY(0)}.hw-submit-cta-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.hw-submit-cta-footer{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:var(--muted)}[data-theme=dark] .hw-submit-info-banner{background:rgba(var(--brand-600-rgb),.1);border-color:rgba(var(--brand-600-rgb),.25);color:var(--brand-300)}[data-theme=dark] .hw-submit-card{background:var(--card-bg);border-color:var(--card-border);box-shadow:none}[data-theme=dark] .hw-submit-cta-btn{box-shadow:0 4px 14px rgba(var(--brand-600-rgb),.35)}@media (max-width: 860px){.hw-submit-layout{grid-template-columns:1fr;padding:0 16px}.hw-submit-header{flex-direction:column;align-items:flex-start;padding:16px 16px 12px;gap:12px}.hw-submit-header-right{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.hw-submit-title{font-size:20px}.hw-submit-info-banner{margin:0 16px 16px}.hw-submit-cta-btn{font-size:16px}}.assign-modal-info{background:var(--bg, var(--tint-page));border:1px solid var(--border, rgba(16,24,40,.08));border-radius:var(--radius, 10px);padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.assign-modal-info-row{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.4}.assign-modal-info-label{color:var(--muted, #475467);min-width:60px;flex-shrink:0}.assign-modal-slots{margin-bottom:16px;width:100%;overflow:hidden}.assign-modal-slots-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink, #101828);margin-bottom:8px}.assign-modal-slot-label{display:grid;grid-template-columns:16px 1fr;gap:8px;align-items:start;margin-bottom:6px;cursor:pointer;font-size:13px;color:var(--ink, #101828);line-height:1.4;width:100%}.assign-modal-slot-label input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:var(--accent, var(--brand-600));cursor:pointer}.assign-modal-slot-label>span{overflow-wrap:break-word;word-break:break-word;white-space:normal}.assign-modal-slots-hint{font-size:12px;color:var(--muted, #475467);margin-top:4px;padding:4px 0}.assign-modal-empty{padding:24px 0;text-align:center;color:var(--muted, #475467);font-size:14px;margin-bottom:16px}.assign-modal-candidates{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto;padding-right:2px;margin-bottom:16px}.assign-modal-candidate{padding:10px 14px;border:1px solid var(--border, rgba(16,24,40,.08));border-radius:var(--radius, 10px);background:var(--surface, #fff);cursor:pointer;transition:border-color .15s,background .15s}.assign-modal-candidate.is-disabled{cursor:default;opacity:.55}.assign-modal-candidate.is-recommended{background:rgba(var(--brand-600-rgb),.03)}.assign-modal-candidate.is-selected{background:rgba(var(--brand-600-rgb),.07);border-color:rgba(var(--brand-600-rgb),.3)}.assign-modal-candidate:not(.is-disabled):not(.is-selected):hover{border-color:rgba(var(--brand-600-rgb),.2);background:rgba(var(--brand-600-rgb),.02)}.assign-modal-candidate-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.assign-modal-candidate-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.assign-modal-candidate-name-row strong{font-size:14px;color:var(--ink, #101828)}.assign-modal-candidate-check{font-size:15px;font-weight:700;color:var(--accent, var(--brand-600));flex-shrink:0;line-height:1;margin-top:1px}.assign-modal-candidate-subjects{font-size:12px;color:var(--muted, #475467);margin-top:4px}.assign-modal-candidate-conflict{font-size:12px;color:var(--color-danger, #dc2626);margin-top:4px}.assign-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--border, rgba(16,24,40,.08))}.assign-modal-selection-label{font-size:13px;color:var(--muted, #475467);min-width:0}.assign-modal-selection-label strong{color:var(--ink, #101828);margin-left:2px}.assign-modal-footer-actions{display:flex;gap:8px;flex-shrink:0}.admin-offers-list{display:flex;flex-direction:column;gap:16px}.admin-offer-request-card{padding:16px 18px}.admin-offer-request-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.admin-offer-request-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;color:var(--ink, #101828)}.admin-offer-reason-badge{display:inline-flex;align-items:center;background:var(--dk-bg-fef3c7, #fef3c7);color:var(--dk-fg-92400e, #92400e);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500}.admin-offer-request-items{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.admin-offer-request-item{font-size:13px;color:var(--muted, #475467)}.admin-offer-section-title{font-size:13px;font-weight:600;color:var(--ink, #101828);padding-bottom:10px;border-bottom:1px solid var(--border, rgba(16,24,40,.08));margin-bottom:2px}.admin-offer-items{display:flex;flex-direction:column}.admin-offer-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--border, rgba(16,24,40,.08))}.admin-offer-item:last-child{border-bottom:none;padding-bottom:0}.admin-offer-item-teacher{display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--ink, #101828);min-width:0}.admin-offer-item-slots{font-size:12px;color:var(--muted, #475467);overflow-wrap:break-word;word-break:break-word}.admin-offer-item-note{font-size:12px;color:var(--muted, #475467);font-style:italic}.admin-offer-item-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.admin-offer-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--accent, var(--brand-600));color:#fff;border-radius:9px;font-size:11px;font-weight:600;line-height:1}.filter-tab.is-active .admin-offer-tab-count{background:#ffffff4d}.assign-modal-slot-assigned{grid-column:2;display:inline-block;font-size:11px;font-weight:500;color:var(--muted, #6b7280);background:var(--surface-muted, #f3f4f6);border-radius:4px;padding:1px 6px;white-space:nowrap;align-self:start}.assign-modal-candidate-already{font-size:12px;font-weight:500;color:var(--accent, #16a34a);margin-top:2px;margin-bottom:2px}.tp-progress-wrap{padding:8px 0 4px}.tp-progress-label{font-size:14px;margin-bottom:8px}.tp-progress-bar-track{width:100%;height:8px;background:var(--color-border, #e2e8f0);border-radius:4px;overflow:hidden}.tp-progress-bar-fill{height:100%;background:var(--color-primary, var(--brand-500));border-radius:4px;transition:width .3s ease}.tp-progress-stats{font-size:12px;margin-top:6px}.hw2-text-material{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.hw2-text-material-header{display:flex;align-items:center;gap:8px}.hw2-text-material-title{font-size:13px;font-weight:600;color:var(--text)}.hw2-text-material-badge{font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--card-border, rgba(0,0,0,.07));border-radius:4px;padding:2px 6px}.hw2-text-material-body{margin:0;font-size:14px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word;font-family:inherit;width:100%}.ccw-params-card{padding:28px 32px;display:flex;flex-direction:column;gap:20px}.ccw-mode-cards{display:flex;flex-direction:column;gap:10px}.ccw-mode-card{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1.5px solid var(--card-border);border-radius:12px;cursor:pointer;transition:border-color .14s,background .14s;width:100%}.ccw-mode-card:hover{border-color:var(--accent);background:rgba(var(--brand-500-rgb),.03)}.ccw-mode-card.is-selected{border-color:var(--accent);background:rgba(var(--brand-500-rgb),.06)}.ccw-mode-card input[type=radio]{flex-shrink:0;margin-top:3px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.ccw-mode-card-body{display:flex;flex-direction:column;gap:3px}.ccw-mode-card-title{font-size:15px;font-weight:600;color:var(--fg)}.ccw-mode-card-desc{font-size:13px;color:var(--muted)}.ccw-info-note{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:rgba(var(--brand-500-rgb),.07);border-radius:8px;border:1px solid rgba(var(--brand-500-rgb),.15);font-size:13px;color:var(--fg)}.ccw-info-icon{flex-shrink:0;margin-top:1px;color:var(--accent)}.ccw-students-card{padding:0;overflow:hidden}.ccw-students-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 20px;border-bottom:1px solid var(--card-border)}.ccw-students-title{font-size:16px;font-weight:700;color:var(--fg);margin-bottom:4px}.ccw-students-subtitle{font-size:13px;color:var(--muted);max-width:560px}.ccw-students-count-badge{flex-shrink:0;font-size:13px;font-weight:600;color:var(--fg);background:var(--bg, #f8f9fa);border:1px solid var(--card-border);border-radius:8px;padding:4px 14px;white-space:nowrap}.ccw-progress-compact{display:flex;flex-direction:column;gap:5px;flex-shrink:0;min-width:140px;max-width:200px;align-self:center}.ccw-progress-compact-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ccw-progress-compact-row{display:flex;align-items:center;gap:8px}.ccw-progress-compact-counter{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.ccw-progress-compact-counter--done{color:var(--dk-fg-16a34a, #16a34a)}.ccw-progress-track{flex:1;height:4px;background:var(--dk-bg-000000a8, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden;min-width:60px}.ccw-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .25s ease}.ccw-progress-fill--done{background:#16a34a}.ccw-bulk-bar{display:flex;flex-direction:column;gap:8px;padding:14px 28px;background:var(--dk-bg-000000a2, rgba(0, 0, 0, .02));border-bottom:1px solid var(--card-border)}.ccw-bulk-label{font-size:13px;font-weight:500;color:var(--muted)}.ccw-bulk-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ccw-bulk-select{flex:1;max-width:320px;min-width:160px;height:34px;font-size:13px;padding-top:0;padding-bottom:0}.ccw-bulk-btn{white-space:nowrap;height:34px;font-size:13px}.ccw-table{display:flex;flex-direction:column}.ccw-table-head{display:grid;grid-template-columns:1fr 260px;gap:12px;padding:8px 28px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--card-border)}.ccw-table-body{display:flex;flex-direction:column}.ccw-table-row{display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:center;padding:10px 28px;border-bottom:1px solid var(--dk-bd-000000a4, rgba(0, 0, 0, .04));transition:background .1s}.ccw-table-row:last-child{border-bottom:none}.ccw-table-row:hover{background:var(--dk-bg-000000a2, rgba(0, 0, 0, .02))}.ccw-table-student{display:flex;align-items:center;gap:8px;min-width:0}.ccw-table-name{font-size:14px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccw-unassigned-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--dk-fg-ea580c, #ea580c);background:#ea580c14;border:1px solid rgba(234,88,12,.2);border-radius:6px;padding:2px 7px;white-space:nowrap;flex-shrink:0}.ccw-unassigned-dot{width:5px;height:5px;border-radius:50%;background:#ea580c;flex-shrink:0}.ccw-table-class-cell{display:flex;align-items:center;gap:8px}.ccw-table-select{flex:1;height:34px;font-size:13px;padding-top:0;padding-bottom:0;min-width:0}.ccw-assigned-check{font-size:16px;font-weight:700;color:var(--dk-fg-16a34a, #16a34a);flex-shrink:0;line-height:1}.ccw-table-badge{justify-self:start}.ccw-footer-right{display:flex;align-items:center;gap:12px}.ccw-footer-count{font-size:13px;color:var(--muted)}.ccw-footer-count--done{color:var(--dk-fg-16a34a, #16a34a);font-weight:500}@media (max-width: 640px){.ccw-students-header{flex-direction:column;gap:12px;padding:16px 16px 14px}.ccw-progress-compact{max-width:100%;width:100%}.ccw-bulk-bar{padding:12px 16px}.ccw-bulk-select{max-width:100%;min-width:0;flex:1}.ccw-bulk-row{flex-wrap:nowrap}.ccw-table-head,.ccw-table-row{grid-template-columns:1fr 180px;padding:8px 16px}.ccw-footer-right{flex-direction:column;align-items:flex-end;gap:4px}}.modal-card.modal-new-chat{width:min(1160px,96vw);overflow:hidden;display:flex;flex-direction:column;padding:0}.modal-card.modal-new-chat .modal-title{padding:24px 28px 0;margin-bottom:0}.modal-card.modal-new-chat .modal-close-btn{top:20px;right:20px}.ncm-wrap{display:flex;flex-direction:column;gap:0;padding:0 28px 24px;flex:1;min-height:0;overflow:hidden}.ncm-subtitle{font-size:13px;color:var(--muted);margin:4px 0 20px}.ncm-type-cards{display:flex;gap:10px;margin-bottom:18px}.ncm-type-card{flex:1;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--card-border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .12s,background .12s;-webkit-user-select:none;user-select:none}.ncm-type-card:hover{border-color:var(--accent);background:rgba(var(--brand-600-rgb),.03)}.ncm-type-card.is-selected{border-color:var(--accent);background:rgba(var(--brand-600-rgb),.05)}.ncm-type-card-icon{width:38px;height:38px;border-radius:10px;background:rgba(var(--brand-600-rgb),.09);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ncm-type-card.is-selected .ncm-type-card-icon{background:rgba(var(--brand-600-rgb),.14)}.ncm-type-card-body{flex:1;min-width:0}.ncm-type-card-title{font-size:14px;font-weight:600;color:var(--fg)}.ncm-type-card-desc{font-size:12px;color:var(--muted);margin-top:1px}.ncm-radio-dot{width:17px;height:17px;border-radius:50%;border:2px solid var(--card-border);flex-shrink:0;transition:border-color .12s,background .12s,box-shadow .12s}.ncm-radio-dot.is-active{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface)}.ncm-group-name-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ncm-field-label{font-size:13px;font-weight:500;color:var(--fg)}.ncm-participants{display:flex;height:360px;border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.ncm-participants--dual .ncm-left-panel{border-right:1px solid var(--card-border)}.ncm-left-panel{flex:1;min-width:0;display:flex;flex-direction:column}.ncm-right-panel{width:290px;flex-shrink:0;display:flex;flex-direction:column;background:var(--dk-bg-000000a1, rgba(0, 0, 0, .012))}.ncm-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;flex-shrink:0}.ncm-panel-title{font-size:12px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.4px}.ncm-panel-header-right{display:flex;align-items:center;gap:10px}.ncm-select-all-btn{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;font-weight:500;line-height:1;white-space:nowrap}.ncm-select-all-btn:hover{text-decoration:underline}.ncm-selected-count-badge{font-size:12px;color:var(--accent);font-weight:500}.ncm-clear-all{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;font-weight:500;line-height:1}.ncm-clear-all:hover{text-decoration:underline}.ncm-search-row{padding:0 10px 6px;flex-shrink:0;display:flex;gap:6px;align-items:center}.ncm-filter-select{flex-shrink:0;padding:7px 8px;border:1px solid var(--card-border);border-radius:8px;font-size:12px;background:var(--surface);color:var(--fg);cursor:pointer;max-width:120px}.ncm-filter-select:focus{outline:none;border-color:var(--accent)}.ncm-search-wrap{position:relative;flex:1;min-width:0}.ncm-search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.ncm-search-input{width:100%;padding:7px 10px 7px 28px;border:1px solid var(--card-border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--fg);outline:none;transition:border-color .12s;box-sizing:border-box}.ncm-search-input:focus{border-color:var(--accent)}.ncm-search-input::placeholder{color:var(--muted)}.ncm-contact-list{flex:1;overflow-y:auto;padding:2px 6px 6px}.ncm-contact-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;cursor:pointer;width:100%;background:none;border:none;text-align:left;transition:background .1s}.ncm-contact-row:hover{background:var(--dk-bg-000000a4, rgba(0, 0, 0, .04))}.ncm-contact-row.is-selected{background:rgba(var(--brand-600-rgb),.07)}.ncm-contact-check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--card-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .1s,background .1s}.ncm-contact-check.is-checked{background:var(--accent);border-color:var(--accent);color:#fff}.ncm-contact-row.is-at-limit{opacity:.45;cursor:not-allowed}.ncm-contact-row.is-at-limit:hover{background:none}.ncm-contact-check.is-at-limit{border-color:var(--card-border);cursor:not-allowed}.ncm-contact-info{flex:1;min-width:0}.ncm-contact-name{font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncm-contact-role{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.ncm-list-loading{padding:8px 4px;display:flex;flex-direction:column;gap:6px}.ncm-list-skeleton{height:40px;border-radius:7px;background:linear-gradient(90deg,var(--card-border) 25%,var(--dk-bg-000000a3, rgba(0,0,0,.03)) 50%,var(--card-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite}.ncm-list-empty{padding:28px 16px;text-align:center;font-size:13px;color:var(--muted)}.ncm-empty-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;text-align:center}.ncm-empty-selected-icon{color:var(--muted);opacity:.35;margin-bottom:4px}.ncm-empty-selected-title{font-size:13px;font-weight:500;color:var(--fg)}.ncm-empty-selected-desc{font-size:12px;color:var(--muted)}.ncm-selected-list{flex:1;overflow-y:auto;padding:2px 10px 6px;display:flex;flex-direction:column;gap:4px}.ncm-selected-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;background:var(--surface);border:1px solid var(--card-border)}.ncm-selected-info{flex:1;min-width:0}.ncm-selected-name{font-size:12px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncm-selected-role{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncm-remove-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:3px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:color .1s,background .1s;line-height:0}.ncm-remove-btn:hover{color:var(--fg);background:var(--dk-bg-000000a7, rgba(0, 0, 0, .07))}.ncm-group-limits-hint{display:flex;align-items:flex-start;gap:5px;padding:8px 12px;font-size:11px;color:var(--muted);border-top:1px solid var(--card-border);flex-shrink:0;line-height:1.4}.ncm-validation-error{display:flex;align-items:center;gap:6px;font-size:13px;color:#dc2626;margin-bottom:4px}.ncm-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--card-border);margin-top:4px}@media (max-width: 768px){.modal-card.modal-new-chat{width:min(100vw,600px)}.modal-card.modal-new-chat .modal-title,.ncm-wrap{padding-left:16px;padding-right:16px}.ncm-type-cards{flex-direction:column;gap:8px}.ncm-participants{flex-direction:column;height:auto;max-height:60vh}.ncm-participants--dual .ncm-left-panel{border-right:none;border-bottom:1px solid var(--card-border);max-height:280px}.ncm-right-panel{width:100%;max-height:200px}}.sch-page{display:flex;flex-direction:column;gap:16px}.sch-header{display:flex;align-items:center;gap:16px;padding:12px 20px}.sch-header-center{flex:1;display:flex;flex-direction:column;gap:2px}.sch-header-sub{font-size:13px}.sch-changes-badge{margin-left:6px}.sch-conflict-checking{display:flex;align-items:center;gap:6px;font-size:13px}.sch-conflict-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--muted-fg, #888);border-radius:50%;animation:sch-spin .7s linear infinite;flex-shrink:0}@keyframes sch-spin{to{transform:rotate(360deg)}}.sch-grid-card{overflow-x:auto;padding:16px}.sch-grid{display:grid;gap:6px;min-width:600px}.sch-col-header{font-weight:600;font-size:13px;text-align:center;padding:6px 4px;color:var(--ink)}.sch-col-header--nonworking{background:var(--surface-hover, #f8fafc);border-radius:6px;color:var(--muted)}.sch-col-nonworking-label{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.02em;margin-top:2px}.sch-row-label{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;min-height:80px}.sch-cell{border:1px solid var(--border);border-radius:8px;padding:6px;min-height:80px;display:flex;flex-direction:column;gap:4px;transition:background .15s;position:relative}.sch-cell--over{background:var(--primary-subtle, rgba(99,102,241,.08));border-color:var(--primary, #6366f1)}.sch-cell--empty{background:var(--surface-muted, var(--surface));border-style:dashed}.sch-cell-time{font-size:11px;line-height:1}.sch-cell-add-btn{flex:1;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--muted);border-radius:6px;transition:background .15s,color .15s}.sch-cell-add-btn:hover{background:var(--surface-hover, rgba(0,0,0,.05));color:var(--ink)}.sch-entry-card{display:flex;align-items:stretch;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:7px;overflow:hidden;min-height:60px;position:relative}.sch-entry-card--dragging{opacity:.4}.sch-entry-card--ghost{opacity:.95;box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.15));cursor:grabbing}.sch-entry-card--conflict{border:2px solid var(--danger, #ef4444);background:var(--color-background-danger, rgba(239, 68, 68, .08))}.sch-entry-conflict-hint{display:flex;align-items:flex-start;gap:3px;margin-top:3px;color:var(--color-text-danger, #b91c1c);font-size:10px;line-height:1.3}.sch-entry-conflict-hint--visible{display:flex}.sch-entry-conflict-text{white-space:normal;word-break:break-word}.sch-conflict-summary{display:flex;gap:10px;align-items:flex-start;background:var(--color-background-danger);border:1px solid var(--danger);border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:13px;color:var(--color-text-danger)}.sch-conflict-summary-title{font-weight:600;display:block;margin-bottom:4px}.sch-conflict-summary-list{margin:0;padding-left:16px}.sch-conflict-summary-list li{margin-bottom:2px}.sch-diff-conflict-hint{color:var(--color-text-danger);font-size:12px;margin:0}.sch-entry-drag-handle{display:flex;align-items:center;padding:0 4px;cursor:grab;color:var(--muted);border:none;background:none;flex-shrink:0;touch-action:none}.sch-entry-drag-handle:hover{color:var(--ink)}.sch-entry-body{flex:1;display:flex;flex-direction:column;gap:2px;padding:6px 4px;text-align:left;border:none;background:none;cursor:pointer;min-width:0}.sch-entry-body:hover{background:var(--surface-hover, rgba(0,0,0,.03))}.sch-entry-subject{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.sch-entry-teacher{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sch-entry-remove{display:flex;align-items:center;padding:0 5px;cursor:pointer;color:var(--muted);border:none;background:none;flex-shrink:0;transition:color .15s}.sch-entry-remove:hover{color:var(--danger, #e53e3e)}.sch-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0000004d}.sch-popover{width:340px;max-width:95vw;display:flex;flex-direction:column;gap:12px;padding:20px;position:relative;z-index:201}.sch-popover-title{font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:space-between}.sch-popover-close{padding:4px;line-height:1}.sch-popover-field{display:flex;flex-direction:column;gap:6px}.sch-popover-label{font-size:13px;font-weight:500;color:var(--ink)}.sch-popover-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.sch-diff-list{display:flex;flex-direction:column;gap:8px;padding:8px 0;max-height:340px;overflow-y:auto}.sch-diff-item{display:flex;gap:8px;font-size:14px;line-height:1.5}.sch-diff-bullet{color:var(--primary, var(--brand2-500));font-weight:700;flex-shrink:0}.sch-diff-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border);margin-top:4px}.sch-class-list{display:flex;flex-direction:column;gap:6px;padding:8px 0;max-height:400px;overflow-y:auto}.sch-class-item{text-align:left;padding:10px 14px;font-size:15px;width:100%;justify-content:flex-start}.sch-class-item:hover{background:var(--surface-hover, rgba(0,0,0,.05))}.hw-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hw-status-tabs{display:flex;gap:6px;flex-wrap:wrap}.hw-status-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s}.hw-status-tab:hover{background:var(--surface-hover, #f0f4ff);border-color:var(--primary);color:var(--primary)}.hw-status-tab--active,.hw-status-tab--active:hover{background:var(--primary);border-color:var(--primary);color:#fff}.hw-status-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ffffff40;font-size:11px;font-weight:700}.hw-status-tab:not(.hw-status-tab--active) .hw-status-tab-count{background:var(--border);color:var(--text-secondary)}.hw-filter-controls{display:flex;gap:8px;flex:1;min-width:0}.hw-filter-controls select{min-width:140px;max-width:200px}.hw-filter-controls input[type=search]{flex:1;min-width:120px}.hw-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hw-card-attachments-hint{display:inline-flex;align-items:center;gap:4px;font-size:12px;margin-top:2px}.hw-submit-left-col{display:flex;flex-direction:column;gap:16px}.hw-submit-instruction{margin-bottom:0}.hw-submit-instruction-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left}.hw-submit-instruction-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--ink)}.hw-submit-instruction-chevron{color:var(--muted);transition:transform .2s ease;flex-shrink:0}.hw-submit-instruction-chevron--open{transform:rotate(180deg)}.hw-submit-instruction-text{font-size:14px;line-height:1.6;white-space:pre-wrap;margin-top:10px}.hw-submit-section-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;margin-bottom:12px}.hw-material-list{display:flex;flex-direction:column;gap:2px}.hw-material-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.hw-material-item:last-child{border-bottom:none}.hw-material-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-soft, #f8f9fa);flex-shrink:0;color:var(--primary)}.hw-material-body{flex:1;min-width:0}.hw-material-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw-material-meta{font-size:12px;margin-top:1px}.hw-material-text-preview{font-size:12px;margin-top:4px}.hw-material-action{flex-shrink:0}.hw-material-player{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.thw-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.thw-page-header-left{display:flex;align-items:center;gap:10px}.thw-page-title{font-size:20px;font-weight:700;margin:0;color:var(--text)}.thw-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:18px}.thw-filter-bar-spacer{flex:1;min-width:12px}.thw-status-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;color:var(--text-secondary, #64748b);transition:background .15s,border-color .15s,color .15s}.thw-status-tab:hover{background:var(--surface-hover, #f0f4ff);border-color:var(--accent);color:var(--accent)}.thw-status-tab--active,.thw-status-tab--active:hover{background:var(--accent);border-color:var(--accent);color:#fff}.thw-status-tab--review.thw-status-tab--active,.thw-status-tab--review.thw-status-tab--active:hover{background:#dc2626;border-color:#dc2626}.thw-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:#ffffff40;font-size:11px;font-weight:700}.thw-status-tab:not(.thw-status-tab--active) .thw-tab-count{background:var(--border);color:var(--text-secondary, #64748b)}.thw-search-wrap{position:relative;display:flex;align-items:center;min-width:180px}.thw-search-icon{position:absolute;left:10px;color:var(--text-secondary, #94a3b8);pointer-events:none}.thw-search-input{width:100%;border:1px solid var(--border);border-radius:8px;padding:6px 14px 6px 32px;font-size:13px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s}.thw-search-input:focus{border-color:var(--accent)}.thw-filter-pill{position:relative;display:inline-flex;align-items:center}.thw-filter-pill select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:8px;padding:6px 30px 6px 14px;font-size:13px;background:var(--surface);color:var(--text);cursor:pointer;outline:none;transition:border-color .15s}.thw-filter-pill select:focus{border-color:var(--accent)}.thw-pill-chevron{position:absolute;right:10px;pointer-events:none;color:var(--text-secondary, #94a3b8)}.thw-review-section{margin-bottom:24px}.thw-review-section-title{font-size:13px;font-weight:700;color:#dc2626;display:flex;align-items:center;gap:6px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em}.thw-featured-list{display:grid;gap:10px}.thw-featured-card{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-left:3px solid #dc2626}.thw-featured-icon{width:40px;height:40px;border-radius:10px;background:#dc26261a;color:#dc2626;display:flex;align-items:center;justify-content:center;flex-shrink:0}.thw-featured-body{flex:1;min-width:0;display:grid;gap:4px}.thw-row-clickable{background:none;border:none;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.thw-featured-title{font-size:15px;font-weight:700;color:var(--text)}.thw-featured-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b);flex-wrap:wrap}.thw-featured-desc{font-size:13px;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}.thw-featured-progress{min-width:160px;display:grid;gap:4px}.thw-featured-progress-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em}.thw-featured-breakdown{display:flex;flex-direction:column;gap:2px}.thw-breakdown-item{font-size:11px;display:flex;align-items:center;gap:3px}.thw-breakdown-item--review{color:#dc2626}.thw-breakdown-item--warn{color:#f59e0b}.thw-breakdown-item--ok{color:var(--dk-fg-16a34a, #16a34a)}.thw-featured-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start;flex-shrink:0}.thw-review-btn{background:#dc2626;box-shadow:0 3px 8px #dc262638}.thw-review-btn:hover{background:#b91c1c}.thw-all-section{margin-bottom:24px}.thw-all-section-title{font-size:13px;font-weight:700;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.thw-list-card{display:grid;gap:10px}.thw-list-row{display:flex;align-items:flex-start;gap:14px;padding:16px 20px}.thw-row-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.thw-row-icon--review{background:#dc26261a;color:#dc2626}.thw-row-icon--current{background:rgba(var(--brand-600-rgb),.1);color:var(--brand-600)}.thw-row-icon--checked{background:#16a34a1a;color:var(--dk-fg-16a34a, #16a34a)}.thw-row-icon--past{background:#64748b1a;color:var(--dk-fg-64748b, #64748b)}.thw-row-main{flex:1;min-width:0;display:grid;gap:4px}.thw-row-eyebrow{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);letter-spacing:.01em}.thw-row-title{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thw-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.thw-row-desc{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.thw-row-progress{margin-top:6px;max-width:240px}.thw-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;align-self:center}.thw-row-chevron{color:var(--text-secondary, #94a3b8);flex-shrink:0}.thw-meta-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4;flex-shrink:0}.thw-deadline{font-size:12px;font-weight:600}.thw-deadline--danger{color:#dc2626}.thw-deadline--warn{color:var(--dk-fg-d97706, #d97706)}.thw-deadline--ok{color:var(--dk-fg-16a34a, #16a34a)}.thw-deadline--muted{color:var(--text-secondary, #64748b);font-weight:400}.thw-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.thw-status-badge--review{background:#dc26261a;color:#dc2626}.thw-status-badge--current{background:#2563eb1a;color:#2563eb}.thw-status-badge--checked{background:#16a34a1a;color:var(--dk-fg-16a34a, #16a34a)}.thw-status-badge--past{background:#64748b1a;color:var(--dk-fg-64748b, #64748b)}.thw-progress{display:flex;align-items:center;gap:8px}.thw-progress-track{flex:1;height:4px;background:var(--border-soft, rgba(0,0,0,.07));border-radius:2px;overflow:hidden}.thw-progress-fill{height:100%;border-radius:2px;transition:width .3s}.thw-progress-fill--danger{background:#dc2626}.thw-progress-fill--warn{background:#f59e0b}.thw-progress-fill--ok{background:#16a34a}.thw-progress-fill--muted{background:#94a3b8}.thw-progress-label{font-size:11px;color:var(--text-secondary, #64748b);white-space:nowrap;flex-shrink:0}.thw-category-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;color:var(--text-secondary, #94a3b8);text-align:center}.thw-category-empty-icon{opacity:.35;margin-bottom:4px}.thw-category-empty-title{font-size:15px;font-weight:600;color:var(--text-secondary, #64748b)}.thw-category-empty-desc{font-size:13px}.thw-pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.thw-page-size-row{display:flex;align-items:center;gap:6px}.thw-toolbar-select{border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:13px;background:var(--surface);color:var(--text);outline:none}@media (max-width: 768px){.thw-filter-bar{gap:4px}.thw-featured-card{flex-wrap:wrap}.thw-featured-progress,.thw-featured-actions{width:100%}.thw-list-row{flex-wrap:wrap}.thw-row-actions{width:100%;justify-content:flex-end}.thw-search-wrap{min-width:100%}.thw-filter-bar-spacer{display:none}}.hwl-header-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-101828a7, rgba(16,24,40,.07));border-radius:14px;padding:20px 24px;box-shadow:0 1px 4px #1018280d}.hwl-header-left{display:flex;align-items:center;gap:16px}.hwl-header-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--brand2-500),var(--brand2-400));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hwl-header-title{font-size:22px;font-weight:800;color:var(--ink, #0f172a);margin:0;line-height:1.2}.hwl-header-sub{font-size:14px;color:var(--muted, #64748b);margin:2px 0 0}.hwl-header-tip{display:flex;align-items:flex-start;gap:8px;max-width:320px;font-size:13px;color:var(--muted, #64748b);line-height:1.5;background:var(--surface-secondary, #f8fafc);border-radius:10px;padding:10px 14px;flex-shrink:0}.hwl-tip-icon{color:#f59e0b;flex-shrink:0;margin-top:1px}.hwl-list{display:flex;flex-direction:column;gap:8px}.hwl-card{display:flex;align-items:center;gap:14px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-101828a8, rgba(16,24,40,.08));border-radius:12px;padding:13px 16px 13px 0;overflow:hidden;transition:box-shadow .15s,border-color .15s;position:relative}.hwl-card:hover{box-shadow:0 2px 12px #10182817;border-color:color-mix(in srgb,var(--hw-accent, var(--brand2-500)) 50%,transparent)}.hwl-accent{width:4px;align-self:stretch;background:var(--hw-accent, var(--brand2-500));border-radius:0 3px 3px 0;flex-shrink:0}.hwl-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0;letter-spacing:-.02em}.hwl-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hwl-subject{font-size:11.5px;font-weight:600;color:var(--muted, #64748b);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hwl-title{font-size:15px;font-weight:700;color:var(--ink, #0f172a);text-align:left;background:none;border:none;padding:0;cursor:pointer;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:color .12s}.hwl-title:hover{color:var(--primary, var(--brand2-600))}.hwl-desc{font-size:13px;color:var(--muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-top:1px}.hwl-footer{display:flex;align-items:center;gap:7px;margin-top:4px;flex-wrap:wrap}.hwl-deadline{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--muted, #64748b)}.hwl-deadline.is-overdue{color:#ef4444;font-weight:600}.hwl-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;line-height:1.5}.hwl-badge--soft{background:var(--dk-bg-e0e7ff, var(--brand2-100));color:var(--dk-fg-3730a3, var(--brand2-800))}.hwl-badge--success{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-166534, #166534)}.hwl-badge--danger{background:var(--dk-bg-fee2e2, #fee2e2);color:var(--dk-fg-991b1b, #991b1b)}.hwl-type-tag{font-size:11px;font-weight:500;color:var(--muted, #64748b);background:var(--surface-secondary, #f1f5f9);padding:2px 7px;border-radius:5px}.hwl-files{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;background:var(--surface-secondary, #f8fafc);border:1px solid var(--dk-bd-101828a7, rgba(16,24,40,.07));border-radius:9px;min-width:120px}.hwl-files-icon{color:var(--muted, #94a3b8);flex-shrink:0}.hwl-files-label{font-size:12px;font-weight:600;color:var(--ink, #0f172a);line-height:1.3}.hwl-files-count{font-size:11px;color:var(--muted, #64748b);line-height:1.2}.hwl-action{flex-shrink:0;padding:8px 18px;border-radius:9px;font-size:13.5px;font-weight:600;cursor:pointer;border:1.5px solid var(--primary, var(--brand2-600));background:transparent;color:var(--primary, var(--brand2-600));white-space:nowrap;transition:background .13s,color .13s;font-family:inherit}.hwl-action--primary{background:var(--primary, var(--brand2-600));color:#fff;border-color:var(--primary, var(--brand2-600))}.hwl-action--revision{background:#dc2626;border-color:#dc2626;color:#fff}.hwl-action--revision:hover{background:#b91c1c;border-color:#b91c1c}.hwl-card--needs-revision{background:var(--dk-bg-fff9f9, #fff9f9);border-color:#dc262633}.hwl-card--needs-revision:after{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;background:#ef4444;border-radius:50%;animation:hwl-revision-pulse 2s ease-in-out infinite}@keyframes hwl-revision-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.5)}}.hwl-greeting-banner{background:linear-gradient(135deg,var(--dk-bg-ede9fe, var(--brand3-100)) 0%,var(--dk-bg-e0e7ff, var(--brand2-100)) 60%,var(--dk-bg-dbeafe, var(--brand-100)) 100%);border-radius:16px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;margin-top:24px}.hwl-greeting-title{font-size:24px;font-weight:800;color:var(--dk-fg-1e1b4b, #1e1b4b);margin:0;line-height:1.2}.hwl-greeting-sub{font-size:14px;color:var(--dk-fg-6d6d8f, #6d6d8f);margin:4px 0 0}.hwl-greeting-deco{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand3-600);opacity:.45}.hwl-tabs-bar{display:flex;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-101828a8, rgba(16,24,40,.08));border-radius:12px;padding:6px;gap:4px;box-shadow:0 1px 3px #1018280f}.hwl-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:none;background:transparent;color:var(--dk-fg-64748b, #64748b);font-size:15px;font-weight:500;cursor:pointer;transition:all .15s}.hwl-tab:hover{background:var(--dk-bg-f8fafc, #f8fafc);color:var(--dk-fg-334155, #334155)}.hwl-tab--active{background:var(--dk-bg-ede9fe, var(--brand3-100));color:var(--brand2-600);font-weight:600}.hwl-tab-badge{background:var(--brand2-600);color:#fff;border-radius:20px;padding:1px 7px;font-size:12px;font-weight:700;min-width:20px;text-align:center}.hwl-tab:not(.hwl-tab--active) .hwl-tab-badge{background:var(--dk-bg-e2e8f0, #e2e8f0);color:var(--dk-fg-64748b, #64748b)}.hwl-rec-list{display:flex;flex-direction:column;gap:8px}.hwl-rec-card{display:flex;align-items:center;gap:14px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-101828a8, rgba(16,24,40,.08));border-radius:12px;padding:13px 16px 13px 0;overflow:hidden;transition:box-shadow .15s,border-color .15s;position:relative}.hwl-rec-card:hover{box-shadow:0 4px 12px #10182814;border-color:var(--dk-bd-101828a12, rgba(16,24,40,.12))}.hwl-rec-accent{width:4px;min-width:4px;align-self:stretch;border-radius:4px 0 0 4px;background:var(--hw-accent, var(--brand2-500))}.hwl-rec-meta{flex:1;min-width:0}.hwl-rec-title{font-size:15px;font-weight:600;color:var(--dk-fg-0f172a, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin:2px 0}.hwl-rec-footer{display:flex;align-items:center;gap:8px;margin-top:2px}.hwl-rec-date{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:4px}.hwl-rec-dl-badge{font-size:11px;padding:2px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}.hwl-rec-dl-badge--allowed{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-166534, #166534)}.hwl-rec-dl-badge--view-only{background:var(--dk-bg-f1f5f9, #f1f5f9);color:var(--dk-fg-64748b, #64748b)}.hwl-rec-watch-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--brand2-500);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.hwl-rec-watch-btn:hover{background:var(--brand2-600)}@media (max-width: 600px){.hwl-greeting-banner{padding:16px}.hwl-greeting-deco{display:none}.hwl-tab{font-size:13px;padding:8px 10px;gap:5px}.hwl-rec-dl-badge{display:none}.hwl-rec-card{flex-wrap:wrap;gap:8px}.hw-filter-bar{flex-direction:column;align-items:stretch;gap:8px}.hw-status-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.hw-status-tabs::-webkit-scrollbar{display:none}.hw-status-tab{white-space:nowrap;flex-shrink:0}.hw-filter-controls{flex-direction:column}.hw-filter-controls select,.hw-filter-controls input[type=search]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}}.hwl-action:hover{background:var(--primary, var(--brand2-600));color:#fff}@media (max-width: 700px){.hwl-header-banner{flex-direction:column;align-items:flex-start}.hwl-header-tip{max-width:100%}.hwl-card{flex-wrap:wrap;gap:10px;padding:12px 12px 12px 0}.hwl-files{display:none}.hwl-action{width:calc(100% - 70px);margin-left:auto}}.lahw-page{padding:28px 28px 56px}.lahw-page--hw{background:var(--dk-bg-f1f5f9, #f1f5f9)}.lahw-page-header{margin-bottom:22px}.lahw-page-title{font-size:24px;font-weight:700;color:var(--color-text, #111827);margin:0 0 4px}.lahw-page-subtitle{font-size:14px;color:var(--color-text-muted, #6b7280);margin:0}.lahw-tabs{display:flex;gap:6px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:5px;margin-bottom:22px;width:fit-content;box-shadow:0 1px 4px #0000000d}.lahw-tab{display:flex;align-items:center;gap:7px;padding:9px 20px;border-radius:8px;border:none;background:transparent;color:var(--color-text-muted, #6b7280);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}.lahw-tab:hover{background:var(--color-surface, #f3f4f6);color:var(--color-text, #111827)}.lahw-tab--active{background:var(--color-primary, var(--brand-600));color:#fff;box-shadow:0 2px 8px rgba(var(--brand-600-rgb),.25)}.lahw-tab--active:hover{opacity:.94}.lahw-filters{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:20px;align-items:center}.lahw-select{padding:0 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:14px;color:var(--color-text, #374151);background:var(--dk-bg-ffffff, #fff);outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;height:38px;flex:0 0 160px;width:160px}.lahw-select:focus{border-color:var(--color-primary, var(--brand-600));box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.1)}.lahw-search-wrap{position:relative;flex:1;min-width:0}.lahw-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.lahw-search{width:100%;height:38px;padding:0 12px 0 34px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:14px;color:var(--color-text, #374151);background:var(--dk-bg-ffffff, #fff);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.lahw-search::placeholder{color:#9ca3af}.lahw-search:focus{border-color:var(--color-primary, var(--brand-600));box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.1)}.lahw-section{margin-top:4px}.lahw-section-label{font-size:13px;font-weight:600;color:var(--color-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.lahw-list{display:flex;flex-direction:column;gap:8px}.lahw-card{display:flex;align-items:center;gap:16px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:14px;padding:14px 18px;box-shadow:0 1px 3px #0000000a,0 1px 8px #00000008;transition:box-shadow .18s,border-color .18s,transform .12s}.lahw-card--link{text-decoration:none;color:inherit;cursor:pointer}.lahw-card--link:hover{box-shadow:0 4px 16px #0000001a;border-color:rgba(var(--brand-600-rgb),.35);transform:translateY(-1px)}.lahw-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #00000026}.lahw-card-body{flex:1;min-width:0}.lahw-card-eyebrow{font-size:13px;color:var(--color-text-muted, #6b7280);margin-bottom:3px;display:flex;align-items:center;gap:5px}.lahw-card-eyebrow strong{color:var(--color-text, #111827);font-weight:600}.lahw-dot{color:#d1d5db}.lahw-card-title{font-size:14px;font-weight:500;color:var(--color-text, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px}.lahw-card-meta{font-size:12px;color:var(--color-text-muted, #9ca3af)}.lahw-card-meta--overdue{color:#dc2626}.lahw-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:8px}.lahw-chevron{color:#d1d5db;flex-shrink:0}.lahw-play-badge{display:inline-flex;align-items:center;gap:5px;background:var(--dk-bg-ede9fe, var(--brand3-100));color:var(--brand3-600);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:500;white-space:nowrap}.lahw-badge{display:inline-flex;align-items:center;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:500;white-space:nowrap}.lahw-badge--active{background:var(--dk-bg-d1fae5, #d1fae5);color:var(--dk-fg-059669, #059669)}.lahw-badge--draft{background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-6b7280, #6b7280)}.lahw-badge--scheduled{background:var(--dk-bg-dbeafe, var(--brand-100));color:var(--brand-600)}.lahw-badge--closed{background:var(--dk-bg-fef2f2, #fef2f2);color:#dc2626}.lahw-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1}.lahw-card--with-actions{display:flex;align-items:center;gap:0}.lahw-card-link-area{flex:1;min-width:0;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;padding:14px 12px 14px 18px;border-radius:14px 0 0 14px;transition:background .15s}.lahw-card--with-actions:hover .lahw-card-link-area{background:rgba(var(--brand-600-rgb),.03)}.lahw-card-actions{display:flex;align-items:center;gap:2px;padding:0 8px 0 4px;flex-shrink:0}.lahw-action-btn{padding:6px 8px;border-radius:8px;color:var(--dk-fg-6b7280, #6b7280)}.lahw-action-btn:hover:not(:disabled){background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-374151, #374151)}.lahw-action-btn--danger:hover:not(:disabled){background:var(--dk-bg-fef2f2, #fef2f2);color:#dc2626}.lahw-card-submissions-notice{font-size:11px;color:#9ca3af;margin-top:2px}.lahw-hw-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.lahw-summary-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lahw-summary-pill{background:var(--color-surface, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:20px;padding:4px 13px;font-size:13px;color:var(--color-text-muted, #6b7280);font-weight:500}.lahw-summary-pill--review{background:var(--dk-bg-eff6ff, #eff6ff);border-color:var(--dk-bd-bfdbfe, #bfdbfe);color:#2563eb}.lahw-create-btn{display:inline-flex;align-items:center;gap:7px}.lahw-hw-topbar-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.lahw-hw-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.lahw-hw-filter-status{flex:0 0 auto;width:150px}.lahw-hw-date-sep{color:var(--muted, #9ca3af);font-size:13px;flex-shrink:0}.lahw-hw-topbar-filters .date-input{width:145px;flex-shrink:0}.lahw-hw-topbar-filters .date-input-field input{height:38px;padding-top:0;padding-bottom:0;border-radius:8px;font-size:14px}.lahw-hw-reset-btn{height:38px;padding:0 12px;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:13px;color:var(--muted, #6b7280);background:transparent;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;flex-shrink:0}.lahw-hw-reset-btn:hover{background:var(--surface, #f3f4f6);color:var(--ink, #374151)}.lahw-back-link{display:inline-flex;align-items:center;gap:7px;color:var(--color-primary, var(--brand-600));font-size:14px;text-decoration:none;margin-bottom:10px}.lahw-back-link:hover{text-decoration:underline}.lahw-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted, #9ca3af);margin-bottom:18px;flex-wrap:wrap;background:var(--surface-2, #f8fafc);padding:8px 14px;border-radius:8px}.lahw-breadcrumb a{color:var(--color-text-muted, #9ca3af);text-decoration:none}.lahw-breadcrumb a:hover{color:var(--color-primary, var(--brand-600));text-decoration:underline}.lahw-breadcrumb span:last-child{color:var(--color-text, #111827);font-weight:500}.lahw-detail-meta{margin-bottom:20px}.lahw-detail-subject{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--color-text, #111827);margin-bottom:4px}.lahw-detail-subject-name{color:var(--color-primary, var(--brand-600))}.lahw-detail-date{font-size:13px;color:var(--color-text-muted, #6b7280)}.lahw-detail-body{display:grid;grid-template-columns:1fr 280px;gap:24px;margin-bottom:32px;align-items:start}.lahw-detail-player-wrap{border-radius:12px;overflow:hidden;background:#000}.lahw-video-player{width:100%;display:block;max-height:480px;background:#000}.lahw-video-error,.lahw-video-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--color-text-muted, #9ca3af);background:var(--color-surface, #f3f4f6);border-radius:12px;min-height:200px}.lahw-extra-recordings{padding:12px 16px;background:#111;color:#ccc}.lahw-extra-recordings-label{font-size:12px;color:var(--dk-fg-888888, #888);margin:0 0 8px}.lahw-extra-recording-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.lahw-detail-info{background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000a}.lahw-info-title{font-size:15px;font-weight:600;color:var(--color-text, #111827);margin:0 0 14px}.lahw-info-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 16px;font-size:13px}.lahw-info-list dt{color:var(--color-text-muted, #6b7280);font-weight:500;white-space:nowrap}.lahw-info-list dd{color:var(--color-text, #111827);margin:0}.lahw-download-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px}.lahw-detail-materials{border-top:1px solid var(--color-border, #e5e7eb);padding-top:24px}.lahw-materials-title{font-size:15px;font-weight:600;color:var(--color-text, #111827);margin:0 0 14px}.lahw-materials-list{display:flex;flex-direction:column;gap:8px}.lahw-material-item{display:flex;align-items:center;gap:10px;background:var(--color-surface, #f8f9fa);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:10px 14px}.lahw-material-icon{color:var(--color-text-muted, #9ca3af);flex-shrink:0}.lahw-material-name{flex:1;font-size:14px;color:var(--color-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lahw-icon-btn{border:none;background:transparent;color:var(--color-text-muted, #9ca3af);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.lahw-icon-btn:hover{background:var(--color-surface, #f3f4f6);color:var(--color-text, #111827)}@media (max-width: 700px){.lahw-detail-body{grid-template-columns:1fr}.lahw-tabs{width:100%}.lahw-tab{flex:1;justify-content:center}.lahw-filters{flex-wrap:wrap;gap:8px}.lahw-search-wrap{flex:1 1 180px;min-width:160px}.lahw-select{flex:0 0 auto;width:auto;min-width:120px}.lahw-hw-topbar{flex-direction:column;align-items:stretch;gap:10px}.lahw-hw-topbar-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;gap:6px}.lahw-hw-topbar-filters::-webkit-scrollbar{display:none}.lahw-hw-topbar-actions{justify-content:space-between;width:100%}.lahw-hw-filter-status{width:auto;min-width:110px;flex-shrink:0}.lahw-hw-topbar-filters .date-input{width:120px}}.hw-submit-files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.hw-submit-files-count{font-size:13px;font-weight:500;color:var(--text-primary)}@media (max-width: 640px){.hw-content-type-grid{grid-template-columns:repeat(3,1fr);gap:8px}.hw-content-type-card{padding:16px 8px;min-height:88px;gap:7px;border-radius:12px}}.sgr-page{gap:12px}.sgr-header-card{display:flex;flex-direction:column;gap:4px}.sgr-title{font-size:24px;font-weight:700;margin:0;color:var(--text-primary)}.sgr-subtitle{font-size:14px;margin:0 0 4px}.sgr-mode-switcher{display:flex;background:var(--bg-subtle, rgba(0,0,0,.05));border-radius:12px;padding:4px;gap:4px;margin-top:12px;width:fit-content}.sgr-mode-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:9px;border:none;background:transparent;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.sgr-mode-btn:hover{background:var(--dk-bg-ffffffa60, rgba(255,255,255,.6));color:var(--text-primary)}.sgr-mode-btn.active{background:var(--primary, var(--brand-600));color:#fff;box-shadow:0 2px 8px rgba(var(--brand-600-rgb),.25)}.sgr-filters-card{display:flex;flex-direction:column;gap:14px;padding:16px 20px}.sgr-subject-chips-wrap{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sgr-subject-chips-wrap::-webkit-scrollbar{display:none}.sgr-subject-chips{display:flex;gap:8px;width:max-content;padding-bottom:2px}.sgr-chip{display:inline-flex;align-items:center;padding:7px 16px;border-radius:10px;border:1.5px solid var(--border, rgba(0,0,0,.12));background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.sgr-chip:hover{border-color:var(--primary, var(--brand-600));color:var(--primary, var(--brand-600))}.sgr-chip.active{border-color:var(--primary, var(--brand-600));background:var(--primary, var(--brand-600));color:#fff}.sgr-month-nav{display:flex;align-items:center;gap:8px}.sgr-month-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1.5px solid var(--border, rgba(0,0,0,.12));background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.sgr-month-btn:hover{border-color:var(--primary, var(--brand-600));color:var(--primary, var(--brand-600));background:rgba(var(--brand-600-rgb),.05)}.sgr-month-current{flex:1;text-align:center;font-size:15px;font-weight:600;color:var(--text-primary);background:none;border:none;cursor:default;padding:0}.sgr-table-card{padding:0;overflow:hidden}.sgr-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sgr-table{width:100%;border-collapse:collapse;min-width:360px}.sgr-th-label{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--surface-soft, rgba(0,0,0,.03));border-bottom:1px solid var(--border, rgba(0,0,0,.08));white-space:nowrap;min-width:130px;position:sticky;left:0;z-index:2}.sgr-th-date{text-align:center;padding:12px 14px;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--surface-soft, rgba(0,0,0,.03));border-bottom:1px solid var(--border, rgba(0,0,0,.08));white-space:nowrap;min-width:60px}.sgr-td-label{padding:12px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border, rgba(0,0,0,.06));white-space:nowrap;background:var(--surface);position:sticky;left:0;z-index:1}.sgr-td-kr{font-weight:600;color:var(--primary, var(--brand-600))}.sgr-td-value{text-align:center;padding:12px 14px;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.sgr-td-kr-active{background:rgba(var(--brand-600-rgb),.04)}.sgr-table tbody tr:last-child .sgr-td-label,.sgr-table tbody tr:last-child .sgr-td-value{border-bottom:none}.sgr-table tbody tr:hover .sgr-td-value{background:var(--bg-subtle, rgba(0,0,0,.02))}.sgr-grade{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 7px;border-radius:8px;font-size:17px;font-weight:700}.sgr-grade-5{color:var(--dk-fg-166534, #166534);background:var(--dk-bg-dcfce7, #dcfce7)}.sgr-grade-4{color:var(--dk-fg-1e40af, var(--brand-800));background:var(--dk-bg-dbeafe, var(--brand-100))}.sgr-grade-3{color:var(--dk-fg-92400e, #92400e);background:var(--dk-bg-fef3c7, #fef3c7)}.sgr-grade-2{color:var(--dk-fg-991b1b, #991b1b);background:var(--dk-bg-fee2e2, #fee2e2)}.sgr-grade-1{color:#7f1d1d;background:#fca5a5}.sgr-grade-empty{color:var(--text-secondary);font-size:14px}.sgr-attend-check,.sgr-attend-x{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:13px;font-weight:700}.sgr-attend-check{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-166534, #166534)}.sgr-attend-x{background:var(--dk-bg-fee2e2, #fee2e2);color:var(--dk-fg-991b1b, #991b1b)}.sgr-table-legend{display:flex;gap:16px;padding:12px 16px;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border, rgba(0,0,0,.06));flex-wrap:wrap}.sgr-legend-check{color:var(--dk-fg-166534, #166534);font-weight:700}.sgr-legend-x{color:var(--dk-fg-991b1b, #991b1b);font-weight:700}.sgr-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px}.sgr-byDay-feed{display:flex;flex-direction:column;gap:8px}.sgr-day-header{padding:6px 4px 4px;font-size:14px}.sgr-day-date{font-weight:600;color:var(--text-primary)}.sgr-day-weekday{color:var(--text-secondary)}.sgr-day-card{padding:0;overflow:hidden}.sgr-day-subject-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface-soft, rgba(0,0,0,.03));border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.sgr-day-subject-name{font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.sgr-day-work-badge{font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(var(--brand-600-rgb),.1);color:var(--primary, var(--brand-600))}.sgr-day-rows{display:flex;flex-direction:column}.sgr-day-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border, rgba(0,0,0,.06));gap:12px}.sgr-day-row:last-child{border-bottom:none}.sgr-day-row-label{font-size:14px;color:var(--text-primary)}.sgr-chips-card{padding:14px 20px}.sgr-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.sgr-empty-icon-wrap{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--bg-subtle, rgba(0,0,0,.05));color:var(--text-secondary);margin-bottom:4px}.sgr-empty-title{margin:0;font-size:17px;font-weight:600;color:var(--text-primary)}.sgr-empty-desc{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.sgr-day-strip-row{display:flex;align-items:center;gap:4px}.sgr-strip-arrow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border, rgba(0,0,0,.12));background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.sgr-strip-arrow:hover{border-color:var(--primary, var(--brand-600));color:var(--primary, var(--brand-600))}.sgr-day-strip{flex:1;display:flex;gap:6px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0}.sgr-day-strip::-webkit-scrollbar{display:none}.sgr-day-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:10px;border:1.5px solid transparent;background:var(--bg-subtle, rgba(0,0,0,.04));color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;min-width:42px;position:relative}.sgr-day-chip:hover{background:rgba(var(--brand-600-rgb),.06);color:var(--primary, var(--brand-600));border-color:rgba(var(--brand-600-rgb),.2)}.sgr-day-chip.active{background:var(--primary, var(--brand-600));color:#fff;border-color:var(--primary, var(--brand-600))}.sgr-day-chip.has-entry:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}.sgr-day-chip-num{font-size:15px;font-weight:600;line-height:1}.sgr-day-chip-wd{font-size:11px;font-weight:500;line-height:1;opacity:.7}.sgr-day-chip.active .sgr-day-chip-wd{opacity:.85}.sgr-day-content-card{padding:0;overflow:hidden}.sgr-byDay-content{display:flex;flex-direction:column}.sgr-byDay-content-date{padding:14px 16px 10px;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}@media (max-width: 640px){.sgr-mode-switcher{width:100%}.sgr-mode-btn{flex:1;justify-content:center;padding:9px 12px;font-size:14px}.sgr-th-label{min-width:100px;padding:10px 12px}.sgr-td-label{padding:10px 12px}.sgr-th-date{padding:10px;min-width:50px}.sgr-td-value{padding:10px}.sgr-chips-card{padding:12px 16px}.sgr-day-chip{min-width:38px;padding:5px 8px}}.sgr-td-label-inner{display:inline-flex;align-items:center;gap:7px}.sgr-row-icon{color:var(--text-secondary);flex-shrink:0;opacity:.7}.sgr-legend-attend{width:18px!important;height:18px!important;font-size:10px!important;flex-shrink:0}.sgr-legend-wt{color:var(--primary, #2563eb);font-weight:700}.student-class-chat-widget{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--surface);border:1px solid var(--border-soft, #e5e7eb);border-radius:12px;margin-bottom:20px}.student-class-chat-widget-icon{color:var(--primary, var(--brand-600));flex-shrink:0}.student-class-chat-widget-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.student-class-chat-widget-title{font-weight:600;font-size:14px}.student-class-chat-widget-sub{font-size:12px;color:var(--muted)}.student-class-chat-widget-btn{flex-shrink:0}.chat-voice-recording-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ef44440f;border-radius:12px;margin-bottom:6px}.chat-voice-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;flex-shrink:0;animation:voice-pulse 1s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.chat-voice-timer{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:#ef4444;min-width:44px}.chat-voice-label{flex:1;font-size:13px;color:var(--muted)}.chat-icon-btn--recording{color:#ef4444}.chat-voice-player{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--brand-600);border-radius:14px;min-width:220px;max-width:280px;margin-top:4px;cursor:default}.chat-voice-play-btn{width:34px;height:34px;min-width:34px;border-radius:50%;background:#ffffff38;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:none;flex-shrink:0}.chat-voice-play-btn:hover{background:#ffffff59}.chat-voice-waveform{flex:1;display:flex;align-items:center;gap:2px;height:24px;cursor:pointer;overflow:hidden}.chat-voice-bar{display:inline-block;width:3px;border-radius:2px;background:var(--dk-bg-ffffff, #fff);flex-shrink:0;transition:opacity .25s ease}.chat-voice-time{font-size:11px;color:#fffc;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.chat-bubble-deleted{color:var(--muted)!important;font-style:italic}.chat-edited-label{font-size:10px;color:var(--muted);margin-left:6px}.chat-edit-area{display:flex;flex-direction:column;gap:6px;margin-top:2px}.chat-edit-textarea{width:100%;min-width:200px;padding:6px 10px;border-radius:8px;border:1px solid var(--border-soft, #e5e7eb);background:var(--surface);font-size:14px;resize:none;font-family:inherit;outline:none}.chat-edit-textarea:focus{border-color:var(--primary, var(--brand-600))}.chat-edit-actions{display:flex;gap:6px;justify-content:flex-end}.chat-bubble-wrap{position:relative}.chat-msg-row--out .chat-bubble-wrap{align-items:flex-end}.chat-msg-row--in .chat-bubble-wrap{align-items:flex-start}.chat-msg-actions{align-self:flex-end;margin-bottom:2px}.chat-msg-row--in .chat-msg-actions{align-self:flex-start}.chat-msg-actions-btn{display:flex;width:26px;height:20px;border-radius:10px;background:var(--surface, #fff);border:1px solid var(--border-soft, #e5e7eb);font-size:10px;letter-spacing:1px;cursor:pointer;color:var(--muted);align-items:center;justify-content:center;padding:0;box-shadow:0 1px 4px #00000014;line-height:1;-webkit-user-select:none;user-select:none}.chat-msg-actions-btn:hover{color:var(--ink)}.chat-msg-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--surface, #fff);border:1px solid var(--border-soft, #e5e7eb);border-radius:10px;box-shadow:0 4px 16px #0000001f;min-width:172px;padding:4px;z-index:100;white-space:nowrap}.chat-msg-row--in .chat-msg-menu{right:auto;left:0}.chat-msg-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;font-size:13px;color:var(--ink);cursor:pointer;border-radius:7px;text-align:left;box-shadow:none}.chat-msg-menu-item:hover{background:var(--surface-muted, #f9fafb)}.chat-msg-menu-item--danger{color:#ef4444}.chat-msg-menu-item--danger:hover{background:#ef44440f}.chat-msg-menu-confirm-title{font-size:13px;font-weight:500;padding:8px 10px 6px;color:var(--ink)}.chat-msg-menu-confirm-actions{display:flex;gap:6px;padding:4px 8px 8px}.chat-msg-menu-cancel-btn{flex:1;padding:6px;border-radius:7px;border:1px solid var(--border-soft, #e5e7eb);background:transparent;font-size:12px;cursor:pointer;color:var(--muted);box-shadow:none}.chat-msg-menu-cancel-btn:hover{background:var(--surface-muted, #f9fafb)}.chat-msg-menu-delete-confirm-btn{flex:1;padding:6px;border-radius:7px;border:none;background:#ef4444;color:#fff;font-size:12px;cursor:pointer;font-weight:500;box-shadow:none}.chat-msg-menu-delete-confirm-btn:hover{background:#dc2626}.swp-form-hint{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;background:rgba(var(--brand-500-rgb),.08);border:1px solid rgba(var(--brand-500-rgb),.18);font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:auto}.swp-form-hint svg{flex-shrink:0;margin-top:1px;color:var(--primary, var(--brand-500))}.ssg-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ssg-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:3px}.ssg-subtitle{font-size:12px;color:var(--text-secondary);line-height:1.4}.ssg-availability-pill{display:flex;align-items:flex-start;gap:7px;padding:8px 12px;border-radius:10px;background:rgba(var(--brand-500-rgb),.1);border:1px solid rgba(var(--brand-500-rgb),.2);color:var(--primary, var(--brand-500));font-size:12px;line-height:1.35;flex-shrink:0;white-space:nowrap}.ssg-availability-pill svg{flex-shrink:0;margin-top:1px}.ssg-availability-pill span{display:block;font-size:11px;color:var(--text-secondary);font-weight:400}.ssg-day-chips{display:flex;gap:6px;flex-wrap:wrap}.ssg-day-chip{display:flex;align-items:center;gap:5px;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.ssg-day-chip.is-active{background:var(--primary, var(--brand-500));border-color:var(--primary, var(--brand-500));color:#fff}.ssg-day-chip.is-inactive{opacity:.38}.ssg-grid{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.ssg-col{display:flex;flex-direction:column;gap:3px;min-width:118px;flex:1}.ssg-col.is-inactive{opacity:.32;pointer-events:none}.ssg-col-header{padding:6px 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.ssg-col-day{font-size:12px;font-weight:600;color:var(--text-primary)}.ssg-col-count{font-size:11px;color:var(--text-secondary);margin-top:2px}.ssg-slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 7px;border-radius:7px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .12s,background .12s;min-height:34px}.ssg-slot-main{display:flex;align-items:center;gap:5px;width:100%;min-width:0}.ssg-slot:hover:not(:disabled){border-color:var(--primary, var(--brand-500));background:rgba(var(--brand-500-rgb),.04)}.ssg-slot.is-selected{border-color:var(--primary, var(--brand-500));background:rgba(var(--brand-500-rgb),.1)}.ssg-slot.is-occupied{background:var(--bg-subtle, rgba(0, 0, 0, .04));border-color:var(--border);cursor:not-allowed}.ssg-slot.is-teacher-busy{border-color:#eab30873;background:#eab3080f}.ssg-slot:disabled{opacity:.45;cursor:not-allowed}[data-theme=dark] .ssg-slot.is-occupied{background:#ffffff0a}.ssg-slot-icon{flex-shrink:0;color:var(--border, rgba(0, 0, 0, .18))}.ssg-slot-icon--selected{color:var(--primary, var(--brand-500))}.ssg-slot.is-occupied .ssg-slot-icon{color:var(--text-secondary)}.ssg-slot-time{font-size:11.5px;font-weight:500;color:var(--text-primary);flex:1;min-width:0}.ssg-slot.is-selected .ssg-slot-time{color:var(--primary, var(--brand-500));font-weight:600}.ssg-slot-badge{font-size:10px;font-weight:500;border-radius:4px;padding:1px 5px;white-space:nowrap;flex-shrink:0}.ssg-slot-unavailable{background:var(--dk-bg-000000a6, rgba(0, 0, 0, .06));color:var(--text-secondary)}[data-theme=dark] .ssg-slot-unavailable{background:#ffffff14}.ssg-slot-busy{background:#eab30826;color:var(--dk-fg-a16207, #a16207)}[data-theme=dark] .ssg-slot-busy{color:#fbbf24}.ssg-footer-info{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0;padding:2px 0}.ssg-footer-info-icon{flex-shrink:0;margin-top:2px;color:var(--primary, var(--brand-500))}.ssg-footer-info-text{font-size:13px;color:var(--text-primary);line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ssg-footer-info-text--empty{color:var(--text-secondary)}.ssg-footer-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.pg-inline-edit{display:inline-flex;align-items:center;gap:4px}.pg-inline-input{width:48px;text-align:center;font-weight:700;border:1px solid var(--accent, var(--brand2-500));border-radius:6px;padding:2px 6px;font-size:14px;outline:none;background:var(--card-bg, #fff);color:var(--text-primary, #111)}.pg-inline-input:focus{box-shadow:0 0 0 2px rgba(var(--brand2-500-rgb),.25)}.pg-expanded-row td{padding:0;background:var(--bg-subtle, #f9fafb)}.pg-expanded-content{padding:16px 20px;background:var(--bg-subtle, #f9fafb);border-top:1px solid var(--border, #e5e7eb);border-bottom:1px solid var(--border, #e5e7eb)}.pg-expanded-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pg-expanded-title{font-weight:600;font-size:14px;color:var(--ink, #111827)}.pg-expanded-body{display:flex;gap:20px;align-items:flex-start}.pg-expanded-left{flex:1;min-width:0}.pg-expanded-right{width:140px;flex-shrink:0;padding-left:20px;border-left:1px solid var(--border, #e5e7eb)}.pg-all-grades-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.pg-year-avg{display:flex;align-items:center;margin-bottom:12px}.pg-period-cards{display:flex;gap:10px;flex-wrap:wrap}.pg-period-card{flex:1;min-width:130px;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:10px 12px;background:var(--dk-bg-ffffff, #fff)}.pg-period-card-header{font-weight:600;font-size:12px;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid}.pg-period-card-grades{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.pg-period-card-avg{font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:8px}.pg-period-card-final{display:flex;align-items:center;gap:6px;font-size:12px}.pg-pencil-btn{background:none;border:none;cursor:pointer;color:var(--text-muted, #9ca3af);font-size:13px;padding:1px 3px;border-radius:3px;line-height:1;transition:color .15s}.pg-pencil-btn:hover{color:var(--accent, var(--brand2-500))}.pg-grade-badge-sm{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:6px;font-weight:700;font-size:13px;padding:0 5px}.pg-menu-wrap{position:relative}.pg-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:100;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:200px;padding:4px 0}.pg-menu-dropdown button{display:block;width:100%;text-align:left;padding:8px 14px;font-size:13px;background:none;border:none;cursor:pointer;color:var(--text-primary, #111)}.pg-menu-dropdown button:hover{background:var(--bg-subtle, #f9fafb)}.pg-menu-dropdown button.danger{color:var(--danger, #ef4444)}.pg-menu-dropdown hr{margin:4px 0;border:none;border-top:1px solid var(--border, #e5e7eb)}.pg-kz-grades-cell{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.pg-confirm-bar{background:var(--bg-subtle, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pg-breakdown-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:200;background:var(--card-bg, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:12px;min-width:220px;max-width:300px;box-shadow:0 4px 20px #00000024}.pg2-page{max-width:1200px}.pg2-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.pg2-topbar-left{display:flex;align-items:center;gap:14px}.pg2-topbar-right{display:flex;align-items:center;gap:10px}.pg2-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:50px;background:var(--dk-bg-e7eefe, #E7EEFE);color:#2f5bf6;border:none;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap}.pg2-back-btn:hover{background:var(--dk-bg-d4e3fd, #d4e3fd)}.pg2-title{font-size:26px;font-weight:700;color:var(--dk-fg-14142b, #14142B);margin:0;line-height:1.2}.pg2-class-select{padding:7px 12px;border:1px solid var(--dk-bd-e0e2ea, #E0E2EA);border-radius:8px;background:var(--dk-bg-ffffff, #fff);font-size:13px;color:var(--dk-fg-14142b, #14142B);cursor:pointer;min-width:140px}.pg2-bell-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dk-fg-6b7280, #6B7280)}.pg2-bell-btn:hover{background:var(--dk-bg-f3f4f8, #F3F4F8)}.pg2-user-chip{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px 10px;border-radius:50px;border:1px solid var(--dk-bd-e0e2ea, #E0E2EA);background:var(--dk-bg-ffffff, #fff)}.pg2-user-chip:hover{background:var(--dk-bg-f8f9fb, #F8F9FB)}.pg2-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6C5CE7 0%,var(--brand3-400) 100%);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pg2-user-info{display:flex;flex-direction:column;line-height:1.2}.pg2-user-name{font-size:13px;font-weight:600;color:var(--dk-fg-14142b, #14142B)}.pg2-user-role{font-size:11px;color:var(--dk-fg-8a8aa3, #8A8AA3)}.pg2-subject-card{display:flex;align-items:center;justify-content:space-between;background:var(--dk-bg-ffffff, #fff);border-radius:16px;border:1px solid var(--dk-bd-ecedf3, #ECEDF3);box-shadow:0 1px 3px #14142b0f;padding:18px 20px;margin-bottom:10px;flex-wrap:wrap;gap:12px}.pg2-subject-card-left{display:flex;align-items:center;gap:14px}.pg2-subject-icon-wrap{width:44px;height:44px;border-radius:10px;background:var(--dk-bg-ede9fe, #EDE9FE);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pg2-subject-select{font-size:17px;font-weight:700;color:var(--dk-fg-14142b, #14142B);border:none;background:transparent;cursor:pointer;padding:0;line-height:1.3;max-width:340px}.pg2-subject-select:focus{outline:2px solid #6C5CE7;border-radius:4px}.pg2-subject-name{font-size:17px;font-weight:700;color:var(--dk-fg-14142b, #14142B);line-height:1.3}.pg2-subject-meta{font-size:13px;color:var(--dk-fg-8a8aa3, #8A8AA3);margin-top:2px}.pg2-subject-card-right{display:flex;align-items:center;gap:8px}.pg2-calc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:var(--dk-bg-eaf1ff, #EAF1FF);color:#2f5bf6;border:none;cursor:pointer;font-size:13px;font-weight:600}.pg2-calc-btn:hover{background:var(--dk-bg-dce8ff, #dce8ff)}.pg2-dots-btn{width:36px;height:36px;border-radius:50%;background:var(--dk-bg-f3f4f8, #F3F4F8);border:none;cursor:pointer;font-size:18px;color:var(--dk-fg-6b7280, #6B7280);display:flex;align-items:center;justify-content:center;letter-spacing:.5px}.pg2-dots-btn:hover{background:var(--dk-bg-e9eaf0, #E9EAF0)}.modal-card.pg2-settings-modal{width:min(620px,100%)}.pg2-hint-text{font-size:13px;color:var(--dk-fg-8a8aa3, #8A8AA3);margin:0 0 16px;padding:0}.pg2-dates-banner{display:flex;align-items:flex-start;gap:10px;background:var(--dk-bg-eff6ff, var(--brand-50));border:1px solid var(--dk-bd-bfdbfe, var(--brand-200));border-radius:10px;padding:12px 16px;font-size:13px;color:var(--dk-fg-1d4ed8, var(--brand-700));margin-bottom:16px;line-height:1.5}.pg2-dates-banner-icon{font-size:15px;flex-shrink:0;margin-top:1px}.pg2-table-card{background:var(--dk-bg-ffffff, #fff);border-radius:16px;border:1px solid var(--dk-bd-ecedf3, #ECEDF3);box-shadow:0 1px 3px #14142b0f;overflow:hidden}.pg2-table-wrap{overflow-x:auto}.pg2-table{width:100%;border-collapse:collapse;font-size:14px}.pg2-thead-row{background:var(--dk-bg-eef2fe, #EEF2FE)}.pg2-th{padding:14px;font-size:13px;font-weight:600;color:var(--dk-fg-3d4a6b, #3D4A6B);white-space:nowrap;text-align:center;border:none;border-bottom:1px solid var(--dk-bd-e0e4f0, #E0E4F0);border-right:1px solid var(--dk-bd-e0e4f0, #E0E4F0)}.pg2-th:last-child{border-right:none}.pg2-th-num{width:48px;color:var(--dk-fg-8a8aa3, #8A8AA3);font-weight:400}.pg2-th-student{text-align:left;min-width:180px}.pg2-th-expand{width:36px}.pg2-th-period{min-width:110px;vertical-align:top;padding-top:12px}.pg2-th-yearly{color:#6c5ce7;min-width:90px}.pg2-th-avg{min-width:100px}.pg2-th-dates{font-size:11px;color:#9ca3af;font-weight:400;margin-top:3px}.pg2-row{transition:background .12s}.pg2-row:hover{background:rgba(var(--brand2-500-rgb),.025)}.pg2-row-expanded{background:#6c5ce70a}.pg2-row:last-child .pg2-td{border-bottom:none}.pg2-td{padding:12px 14px;vertical-align:middle;text-align:center;border:none;border-bottom:1px solid var(--dk-bd-f0f1f5, #F0F1F5);border-right:1px solid var(--dk-bd-f0f1f5, #F0F1F5)}.pg2-td:last-child{border-right:none}.pg2-td-num{color:#9ca3af;font-size:13px}.pg2-td-student{text-align:left;font-weight:500;color:var(--dk-fg-14142b, #14142B)}.pg2-td-expand{text-align:center}.pg2-td-avg{font-weight:600;font-size:14px;color:var(--dk-fg-14142b, #14142B);font-variant-numeric:tabular-nums}.pg2-expand-btn{width:26px;height:26px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:background .12s;margin:auto}.pg2-expand-btn:hover{background:var(--dk-bg-f0f1f5, #F0F1F5);color:#6c5ce7}.pg2-empty-dash{color:#cbd5e1;font-size:16px}.pg2-empty-row{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}.pg2-expanded-tr td{border-bottom:1px solid var(--dk-bd-f0f1f5, #F0F1F5)}.pg2-expanded-panel{position:relative;background:var(--dk-bg-fbfbfe, #FBFBFE);margin:0;padding:20px 16px 20px 20px}.pg2-expanded-close{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--dk-bd-e0e2ea, #E0E2EA);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dk-fg-6b7280, #6B7280)}.pg2-expanded-close:hover{background:var(--dk-bg-f3f4f8, #F3F4F8)}.pg2-expanded-body{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.pg2-exp-left{min-width:160px;width:18%;flex-shrink:0}.pg2-exp-left-title{font-size:14px;font-weight:700;color:var(--dk-fg-14142b, #14142B);margin-bottom:10px}.pg2-exp-label{font-size:12px;color:var(--dk-fg-8a8aa3, #8A8AA3);margin-bottom:3px}.pg2-exp-grade-list{font-size:15px;font-weight:700;color:var(--dk-fg-14142b, #14142B);letter-spacing:.03em;line-height:1.5;margin-bottom:4px}.pg2-exp-no-grades{font-size:13px;color:#cbd5e1;font-style:italic;margin-bottom:4px}.pg2-exp-year-avg{font-size:28px;font-weight:700;color:var(--dk-fg-14142b, #14142B);font-variant-numeric:tabular-nums;line-height:1;margin-top:2px}.pg2-exp-cards{display:flex;gap:10px;flex:1;flex-wrap:wrap;min-width:0}.pg2-quarter-card{flex:1;min-width:130px;background:var(--dk-bg-ffffff, #fff);border-radius:12px;border:1px solid var(--dk-bd-ecedf3, #ECEDF3);box-shadow:0 1px 3px #14142b0d;padding:14px 14px 12px}.pg2-quarter-card-title{font-size:13px;font-weight:700;margin-bottom:10px;line-height:1.2}.pg2-quarter-row{display:flex;align-items:baseline;gap:5px;font-size:13px;margin-bottom:5px;flex-wrap:wrap}.pg2-quarter-grades{font-weight:700;color:var(--dk-fg-14142b, #14142B);font-variant-numeric:tabular-nums}.pg2-quarter-avg{font-weight:600;color:var(--dk-fg-14142b, #14142B)}.pg2-quarter-no-grades{font-size:12px;color:#cbd5e1;font-style:italic;margin-bottom:8px}.pg2-quarter-final{margin-top:8px;padding-top:8px;border-top:1px solid var(--dk-bd-f0f1f5, #F0F1F5);font-weight:600;color:var(--dk-fg-14142b, #14142B)}.pg2-exp-right{width:130px;flex-shrink:0;padding-left:16px;border-left:1px solid var(--dk-bd-ededf5, #EDEDF5)}.pg2-exp-yearly-row{display:flex;align-items:center;gap:8px;margin:6px 0 4px}.pg2-yearly-badge{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0;font-variant-numeric:tabular-nums}.pg2-exp-right-avg{font-size:22px;font-weight:700;color:var(--dk-fg-14142b, #14142B);font-variant-numeric:tabular-nums}.journal-row--departed .journal-cell:not(.journal-sticky){opacity:.5}.journal-row--departed .journal-sticky{opacity:.7;font-style:italic}.journal-cell--inactive{background:repeating-linear-gradient(45deg,transparent,transparent 4px,var(--dk-bg-000000a4, rgba(0,0,0,.04)) 4px,var(--dk-bg-000000a4, rgba(0,0,0,.04)) 8px);cursor:default;pointer-events:none}.journal-departed-subheader{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #9ca3af);padding:6px 8px 4px;background:var(--bg-subtle, #f9fafb)}.pg-mini-badge-departure{display:inline-block;font-size:11px;color:var(--text-muted, #9ca3af);margin-top:2px}.day-details-header-v2{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--dk-bg-f0f0ff, #f0f0ff) 0%,var(--dk-bg-faf5ff, #faf5ff) 60%,var(--dk-bg-ffffff, #fff) 100%);border-radius:12px;padding:14px 16px;margin:-4px -4px 0;position:relative;overflow:hidden}.day-details-cal-card{display:flex;flex-direction:column;align-items:center;background:var(--dk-bg-ffffff, #fff);border:1.5px solid rgba(var(--brand3-500-rgb),.18);border-radius:16px;padding:10px 14px;flex-shrink:0;min-width:72px;box-shadow:0 2px 8px rgba(var(--brand3-500-rgb),.08)}.day-details-cal-icon{color:var(--brand3-500);margin-bottom:4px}.day-details-cal-day{font-size:32px;font-weight:800;line-height:1;color:var(--brand3-500);font-family:Montserrat,sans-serif}.day-details-cal-month{font-size:13px;color:#94a3b8;margin-top:3px;text-align:center}.day-details-cal-weekday{font-size:11px;color:#94a3b8;margin-top:2px;text-align:center}.day-details-header-text{flex:1;min-width:0}.day-details-header-title{font-size:20px;font-weight:700;color:var(--ink);line-height:1.2;font-family:Montserrat,sans-serif}.day-details-header-subtitle{font-size:13px;color:var(--ink-muted, #64748b);margin-top:4px}.day-modal-deco{flex-shrink:0;opacity:.92}@media (max-width: 639px){.day-modal-deco{display:none}}.day-lesson-time-col{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;padding:8px 12px;min-width:90px}.day-lesson-icon-col{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.day-lesson-card.is-cancelled{opacity:.55}.day-lesson-card.is-cancelled .day-lesson-subject{text-decoration:line-through}.day-lesson-status-badge--scheduled{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-166534, #166534);white-space:nowrap}.day-lesson-status-badge--conducted{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--dk-bg-dbeafe, #dbeafe);color:var(--dk-fg-1d4ed8, #1d4ed8);white-space:nowrap}.day-lesson-status-badge--cancelled{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--dk-bg-f1f5f9, #f1f5f9);color:var(--dk-fg-64748b, #64748b);white-space:nowrap}.day-lesson-break{display:flex;align-items:center;gap:10px;padding:2px 4px}.day-lesson-break-line{flex:1;height:1px;border-top:1.5px dashed var(--border, rgba(16, 24, 40, .1))}.day-lesson-break-label{font-size:11px;color:var(--ink-muted, #94a3b8);white-space:nowrap;flex-shrink:0}.day-lesson-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--ink-muted, #94a3b8);cursor:pointer;transition:background .12s,color .12s;padding:0}.day-lesson-menu-btn:hover{background:var(--surface-hover, #f1f5f9);color:var(--ink)}@media (max-width: 639px){.day-lesson-card{flex-wrap:wrap}.day-lesson-time-col{width:100%;margin-bottom:4px;flex-direction:row;gap:6px;justify-content:flex-start}.day-lesson-badges-col{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}}[data-theme=dark] .day-lesson-time-col{background:color-mix(in srgb,var(--accent-color, var(--brand2-400)) 12%,transparent)}[data-theme=dark] .day-lesson-card{background:var(--surface-2, #1e1e2e)}[data-theme=dark] .day-details-header-v2{background:linear-gradient(135deg,rgba(var(--brand3-500-rgb),.12) 0%,rgba(var(--brand3-600-rgb),.06) 60%,transparent 100%)}[data-theme=dark] .day-details-cal-card{background:var(--surface-2, #1e1e2e);border-color:rgba(var(--brand3-500-rgb),.3)}[data-theme=dark] .day-lesson-status-badge--scheduled{background:#22c55e33;color:#86efac}[data-theme=dark] .day-lesson-status-badge--conducted{background:#3b82f633;color:#93c5fd}[data-theme=dark] .day-lesson-status-badge--cancelled{background:#64748b33;color:#94a3b8}.uc-journal-layout{display:flex;flex-direction:row;gap:24px}.uc-journal-main{flex:1;min-width:0}.uc-journal-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.uc-journal-mode-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--surface-soft);border-radius:10px;padding:4px;width:fit-content}.uc-journal-mode-tab{border:0;background:transparent;padding:7px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;color:var(--muted);transition:background .15s,color .15s,box-shadow .15s}.uc-journal-mode-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001a}.uc-journal-course-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.uc-journal-course-tab{border:1px solid var(--border);background:transparent;padding:5px 16px;border-radius:20px;font-size:13.5px;cursor:pointer;transition:background .15s,border-color .15s;color:var(--text);white-space:nowrap}.uc-journal-course-tab:hover{background:var(--surface-soft);border-color:var(--border-strong)}.uc-journal-course-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.uc-admin-group-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);margin-bottom:12px;padding:10px 14px;background:var(--surface-soft);border-radius:10px}.uc-admin-group-meta span{display:flex;align-items:center;gap:5px}.uc-admin-group-meta strong{color:var(--text)}.uc-journal-lesson-list{display:grid;gap:8px}.uc-journal-lesson-row{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.uc-journal-lesson-header{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--text);transition:background .15s}.uc-journal-lesson-header:hover{background:var(--surface-soft)}.uc-journal-lesson-num{font-size:12px;font-weight:700;color:var(--muted);min-width:20px;flex-shrink:0}.uc-journal-lesson-date{font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;min-width:90px}.uc-journal-lesson-topic{font-size:13px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uc-journal-lesson-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.uc-journal-lesson-expand{flex-shrink:0;color:var(--muted);display:flex;align-items:center;transition:transform .2s}.uc-journal-lesson-body{padding:14px 16px 16px;border-top:1px solid var(--border);background:var(--surface-soft)}.uc-journal-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.uc-journal-badge-present{background:#10b9811f;color:var(--dk-fg-059669, rgb(5, 150, 105))}.uc-journal-badge-late{background:#f59e0b1f;color:var(--dk-fg-925a00, rgb(146, 90, 0))}.uc-journal-badge-absent{background:#ef44441c;color:var(--dk-fg-b91c1c, rgb(185, 28, 28))}.tc-journal-table{width:100%;border-collapse:collapse;font-size:13px}.tc-journal-table th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:7px 10px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.tc-journal-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.tc-journal-table tr:last-child td{border-bottom:0}.uc-teacher-individual-list{display:grid;gap:10px}.uc-teacher-individual-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.uc-teacher-individual-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.uc-teacher-individual-info{flex:1;min-width:0}.uc-teacher-individual-name{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.uc-teacher-individual-course{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uc-teacher-individual-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}.uc-teacher-individual-meta-item{font-size:12px;color:var(--muted)}.uc-journal-teacher-stats-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.uc-journal-teacher-stats-card h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text)}.uc-journal-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.uc-journal-stat-item{display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--surface-soft);border-radius:10px}.uc-journal-stat-value{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.uc-journal-stat-label{font-size:11px;color:var(--muted);font-weight:500}.uc-journal-calendar-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.uc-journal-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.uc-journal-calendar-nav button{border:0;background:transparent;cursor:pointer;padding:4px 6px;border-radius:6px;color:var(--muted);display:flex;align-items:center;transition:background .12s}.uc-journal-calendar-nav button:hover{background:var(--surface-soft)}.uc-journal-calendar-nav span{font-size:14px;font-weight:600;color:var(--text)}.uc-journal-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.uc-journal-calendar-weekdays span{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:3px 0}.uc-journal-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.uc-journal-cal-day{border:0;background:transparent;border-radius:6px;font-size:12px;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:background .12s}.uc-journal-cal-day.is-today{font-weight:700;color:var(--accent)}.uc-journal-cal-day.has-lesson{cursor:pointer}.uc-journal-cal-day.is-conducted{background:#10b98124;color:var(--dk-fg-059669, rgb(5, 150, 105));font-weight:600}.uc-journal-cal-day.is-planned{background:rgba(var(--brand-600-rgb),.1);color:var(--brand-600);font-weight:600}[data-theme=dark] .uc-journal-mode-tab.active{box-shadow:0 1px 4px #0006}[data-theme=dark] .uc-journal-cal-day.is-conducted{background:#10b9812e;color:#34d399}[data-theme=dark] .uc-journal-cal-day.is-planned{background:#6385ff26;color:#81a1ff}@media (max-width: 760px){.uc-journal-layout{flex-direction:column}.uc-journal-sidebar{width:100%}.uc-teacher-individual-card{flex-wrap:wrap}.uc-journal-lesson-date{min-width:auto}}.sch-day-card{position:relative;border-radius:14px;background:var(--lesson-bg, #f1f5f9);border:1px solid var(--lesson-border, #e2e8f0);overflow:hidden;box-shadow:0 2px 10px var(--lesson-shadow, rgba(15, 23, 42, .07))}.sch-day-card-accent-bar{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lesson-bg, #cbd5e1);filter:brightness(.58) saturate(1.9);z-index:1}.sch-day-card-row{display:flex;align-items:center;gap:12px;padding:13px 14px 13px 18px;position:relative;z-index:2}.sch-day-card-time{display:flex;flex-direction:column;align-items:center;min-width:46px;flex-shrink:0}.sch-day-time-main{font-size:15px;font-weight:700;color:var(--lesson-text, #1a1a1a);line-height:1.2}.sch-day-time-end{font-size:12px;color:var(--lesson-muted, rgba(15, 23, 42, .52));line-height:1.4}.sch-day-card-info{flex:1;min-width:0}.sch-day-subject{font-size:14px;font-weight:700;color:var(--lesson-text, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sch-day-teacher{font-size:12px;color:var(--lesson-muted, rgba(15, 23, 42, .52));margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sch-day-sub-badge{font-size:11px;color:var(--lesson-muted, rgba(15, 23, 42, .52));margin-top:4px;font-weight:600}.sch-day-card-status{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;min-width:70px}.sch-day-status{font-size:11px;font-weight:600;white-space:nowrap;padding:3px 8px;border-radius:999px}.sch-day-status--done{background:var(--dk-bg-0f172aa8, rgba(15, 23, 42, .08));color:var(--lesson-muted, rgba(15, 23, 42, .52))}.sch-day-status--soon{background:var(--dk-bg-0f172aa6, rgba(15, 23, 42, .06));color:var(--lesson-muted, rgba(15, 23, 42, .52))}.sch-day-status--cancelled{background:#dc26261a;color:#dc2626}.sch-day-card-action{padding:0 14px 12px 18px;position:relative;z-index:2}.sch-day-join-btn{width:100%;padding:10px 14px;background:#0f172ad1;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.01em;transition:background .15s;text-align:center}.sch-day-join-btn:hover{background:#0f172aeb}@media (max-width: 420px){.sch-day-card-row{gap:8px;padding:11px 10px 11px 16px}.sch-day-card-status{min-width:56px}.sch-day-subject{font-size:13px}}@media (max-width: 768px){.form-select,.form-input,input[type=text],input[type=number],input[type=email],select,textarea{font-size:max(16px,1em)!important}}@media (max-width: 480px){.quiz-matching-header{display:none!important}.quiz-matching-pair{grid-template-columns:1fr auto!important;grid-template-rows:auto auto}.quiz-matching-pair>:nth-child(2){grid-column:1;grid-row:2}.quiz-matching-pair>:nth-child(3){grid-column:2;grid-row:1 / span 2;align-self:center}}.homework-review-mobile-back{display:none}@media (max-width: 768px){.homework-review-mobile-back{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:14px;padding:8px 12px;min-height:44px}.homework-review-layout[data-mobile-panel=true] .homework-review-sidebar,.homework-review-layout[data-mobile-panel=false] .homework-review-panel{display:none}.quiz-override-row{flex-direction:column!important;align-items:stretch!important}.quiz-override-label{width:100%}.quiz-override-label select{flex:1;min-width:0}.quiz-save-btn{width:100%!important;padding:12px 16px!important;font-size:15px!important;justify-content:center}}@media (max-width: 768px){.quiz-attempt-nav{position:sticky;bottom:0;background:var(--surface, #fff);border-top:1px solid var(--card-border, rgba(0,0,0,.06));padding:12px 16px;margin:16px -16px 0;z-index:10;gap:8px}.quiz-attempt-nav .btn{min-height:44px;flex:1;justify-content:center}}.quiz-question-image{max-width:100%;height:auto;border-radius:6px}@media (max-width: 768px){.quiz-attempt-matching-row,.quiz-attempt-categorize-row{flex-direction:column!important;align-items:stretch!important}.quiz-attempt-matching-row select,.quiz-attempt-categorize-row select{flex:none!important;width:100%!important;min-height:44px}}.tse-page-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.tse-page-title{margin:0;font-size:20px;font-weight:700;font-family:Montserrat,sans-serif;color:var(--color-ink)}.tse-page-sub{margin:3px 0 0;font-size:14px}.tse-info-bar{display:flex;align-items:center;gap:10px;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border);border-radius:10px;padding:10px 16px;font-size:14px;margin-bottom:20px;color:var(--color-ink)}.tse-info-sep{color:var(--color-muted);-webkit-user-select:none;user-select:none}.tse-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media (max-width: 880px){.tse-layout{grid-template-columns:1fr}}.tse-section-title{font-size:15px;font-weight:600;margin:0 0 14px;color:var(--color-ink)}.tse-table th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:8px 12px;border-bottom:1px solid var(--color-border)}.tse-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:14px}.tse-table tbody tr:last-child td{border-bottom:none}.tse-table tbody tr:hover td{background:var(--dk-bg-f5f8ff, #f5f8ff)}.tse-slot-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--brand-600);font-size:12px;font-weight:700;font-family:Montserrat,sans-serif}.tse-slot-badge--new{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-15803d, #15803d)}.tse-new-row td{background:var(--dk-bg-f0fdf4, #f0fdf4)}.tse-new-row:hover td{background:var(--dk-bg-dcfce7, #dcfce7)!important}.tse-time{font-variant-numeric:tabular-nums;font-size:14px}.tse-slot-rows{display:flex;flex-direction:column;gap:0;margin-bottom:14px}.tse-slot-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--color-border)}.tse-slot-rows .tse-slot-row:first-child{padding-top:0}.tse-slot-rows .tse-slot-row:last-child{border-bottom:none}.tse-slot-row-num{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:7px;background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--brand-600);font-size:12px;font-weight:700;flex-shrink:0}.tse-time-input{width:74px;padding:6px 10px;font-size:14px;font-variant-numeric:tabular-nums;border:1px solid var(--color-border);border-radius:8px;background:var(--dk-bg-ffffff, #fff);color:var(--color-ink);outline:none;transition:border-color .15s}.tse-time-input:focus{border-color:var(--color-primary, var(--brand-600));box-shadow:0 0 0 3px rgba(var(--brand-600-rgb),.1)}.tse-time-input.input-error{border-color:var(--color-danger, #dc2626)}.tse-slot-row-end{flex:1;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.tse-remove-btn{padding:6px;flex-shrink:0;color:var(--color-muted);border-color:transparent!important;box-shadow:none!important}.tse-remove-btn:not(:disabled):hover{color:var(--color-danger, #dc2626);background:#dc262612;border-color:transparent!important}.tse-remove-btn:disabled{opacity:.3}.tse-add-slot-btn{width:100%;justify-content:center;font-size:14px}.tse-preview-btn{width:100%;justify-content:center;margin-top:14px;font-size:15px}.nhw-wrapper{display:flex;flex-direction:column;gap:0}.nhw-header-card{background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:18px 20px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:14px}.nhw-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nhw-header-text{display:flex;flex-direction:column;gap:3px}.nhw-header-title{font-size:22px;font-weight:700;color:var(--dk-fg-111827, #111827);margin:0}.nhw-header-subtitle{font-size:13px;color:var(--dk-fg-6b7280, #6b7280);margin:0}.nhw-view-tabs{display:flex;gap:4px;background:var(--dk-bg-f3f4f6, #f3f4f6);border-radius:8px;padding:4px;width:fit-content}.nhw-view-tab{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;color:var(--dk-fg-6b7280, #6b7280);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}.nhw-view-tab:hover:not(.nhw-view-tab--active){background:var(--dk-bg-000000a4, rgba(0,0,0,.04));color:var(--dk-fg-374151, #374151)}.nhw-view-tab--active{background:var(--dk-bg-ffffff, #fff);color:var(--color-primary, var(--brand-600));border-color:var(--dk-bd-dbeafe, var(--brand-100));font-weight:600;box-shadow:0 1px 3px #00000014}.nhw-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.nhw-filters-toggle{display:none;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:13px;font-weight:500;color:var(--dk-fg-374151, #374151);background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;white-space:nowrap;flex-shrink:0}.nhw-filters-toggle:hover{background:var(--dk-bg-f9fafb, #f9fafb)}.nhw-search-wrap{position:relative;flex:1;min-width:180px}.nhw-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.nhw-search{width:100%;height:38px;padding:0 32px;font-size:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--dk-bg-ffffff, #fff);outline:none;box-sizing:border-box;transition:border-color .15s}.nhw-search:focus{border-color:var(--color-primary, var(--brand-600))}.nhw-search::placeholder{color:#9ca3af}.nhw-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;display:flex;align-items:center}.nhw-search-clear:hover{color:var(--dk-fg-374151, #374151)}.nhw-topbar-select{height:38px;padding:0 10px;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--dk-bg-ffffff, #fff);color:var(--dk-fg-374151, #374151);cursor:pointer;outline:none;white-space:nowrap;transition:border-color .15s;flex:0 0 170px;width:170px}.nhw-topbar-select:focus{border-color:var(--color-primary, var(--brand-600))}.nhw-display-toggle{display:flex;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;overflow:hidden;flex-shrink:0}.nhw-display-btn{height:38px;padding:0 12px;background:var(--dk-bg-ffffff, #fff);border:none;color:#9ca3af;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;transition:background .1s,color .1s;white-space:nowrap}.nhw-display-btn:hover:not(.nhw-display-btn--active){background:var(--dk-bg-f9fafb, #f9fafb);color:var(--dk-fg-374151, #374151)}.nhw-display-btn--active{background:var(--dk-bg-eff6ff, var(--brand-50));color:var(--brand-600)}.nhw-content{display:flex;gap:16px;align-items:flex-start}.nhw-sidebar{width:260px;flex-shrink:0;background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:16px;position:sticky;top:80px;max-height:calc(100vh - 120px);overflow-y:auto}.nhw-sidebar-title{font-size:14px;font-weight:700;color:var(--dk-fg-111111, #111);margin-bottom:14px}.nhw-sidebar-section{margin-bottom:16px}.nhw-sidebar-section-label{font-size:13px;font-weight:600;color:var(--dk-fg-374151, #374151);margin-bottom:8px}.nhw-sidebar-check-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.nhw-sidebar-check-item{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--dk-fg-374151, #374151);cursor:pointer;padding:3px 0;-webkit-user-select:none;user-select:none;line-height:1.4}.nhw-sidebar-check-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary, var(--brand-600))}.nhw-sidebar-check-item--status{gap:6px}.nhw-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nhw-status-dot--active{background:#10b981}.nhw-status-dot--pending{background:#3b82f6}.nhw-status-dot--overdue{background:#ef4444}.nhw-sidebar-select{width:100%;padding:7px 8px;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:7px;background:var(--dk-bg-ffffff, #fff);color:var(--dk-fg-374151, #374151);outline:none;cursor:pointer;transition:border-color .15s}.nhw-sidebar-select:focus{border-color:var(--color-primary, var(--brand-600))}.nhw-sidebar-reset{display:flex;align-items:center;gap:5px;margin-top:4px;padding:4px 0;font-size:13px;color:var(--color-primary, var(--brand-600));background:none;border:none;cursor:pointer;width:100%;text-align:left}.nhw-sidebar-reset:hover{text-decoration:underline}.nhw-main{flex:1;min-width:0}.nhw-stats-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.nhw-stats-total{font-size:14px;color:var(--dk-fg-374151, #374151)}.nhw-stats-total strong{color:var(--dk-fg-111111, #111)}.nhw-stats-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.nhw-sort-label{font-size:13px;color:var(--dk-fg-6b7280, #6b7280);white-space:nowrap}.nhw-sort-select{padding:6px 10px;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:7px;background:var(--dk-bg-ffffff, #fff);color:var(--dk-fg-374151, #374151);cursor:pointer;outline:none;transition:border-color .15s}.nhw-sort-select:focus{border-color:var(--color-primary, var(--brand-600))}.nhw-groups{display:flex;flex-direction:column;gap:10px}.nhw-group{border:1px solid var(--color-border, #e5e7eb);border-radius:12px;background:var(--dk-bg-ffffff, #fff);overflow:hidden}.nhw-group-header{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--dk-bg-f9fafb, #f9fafb);border:none;border-bottom:1px solid var(--color-border, #e5e7eb);width:100%;text-align:left;cursor:pointer;transition:background .1s;min-height:42px}.nhw-group-header:hover{background:var(--dk-bg-f3f4f6, #f3f4f6)}.nhw-group:has(.nhw-group-header:only-child) .nhw-group-header,.nhw-group-header:last-child{border-bottom:none}.nhw-group-arrow{color:#9ca3af;display:flex;align-items:center;flex-shrink:0;transition:transform .2s;transform:rotate(-90deg)}.nhw-group-arrow--open{transform:rotate(0)}.nhw-group-title{font-size:14px;font-weight:600;color:var(--dk-fg-111111, #111);white-space:nowrap}.nhw-group-sep{color:#9ca3af;font-size:14px}.nhw-group-count{font-size:13px;color:var(--dk-fg-6b7280, #6b7280);white-space:nowrap}.nhw-group-subject-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:6px;flex:1}.nhw-subject-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--dk-bg-f3f4f6, #f3f4f6);border-radius:10px;font-size:11px;color:var(--dk-fg-374151, #374151);white-space:nowrap}.nhw-subject-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.nhw-group-body{padding:14px}.nhw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:stretch}.nhw-grid--list{grid-template-columns:1fr;gap:6px}.nhw-show-more-tile{border:1.5px dashed var(--dk-bd-d1d5db, #d1d5db);border-radius:12px;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:16px;color:var(--color-primary, var(--brand-600));font-size:13px;font-weight:500;transition:background .15s,border-color .15s;text-align:center;line-height:1.4}.nhw-show-more-tile:hover{background:var(--dk-bg-eff6ff, var(--brand-50));border-color:var(--brand-300)}.nhw-show-more-tile-icon{color:var(--brand-300)}.nhw-card--has-pending{position:relative}.nhw-card-pending-badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff;line-height:1;z-index:1;pointer-events:none}.nhw-card{border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:16px;background:var(--dk-bg-ffffff, #fff);cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,border-color .15s;min-height:150px}.nhw-card:hover{box-shadow:0 3px 14px #00000014;border-color:var(--dk-bd-c7d2fe, var(--brand2-200))}.nhw-card-subject-row{display:flex;align-items:flex-start;gap:10px}.nhw-card-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nhw-card-icon-sm{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nhw-card-subject-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.nhw-card-subject-label{font-size:12px;font-weight:600;color:var(--dk-fg-374151, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nhw-card-deadline{font-size:12px;color:#9ca3af}.nhw-card-title{font-size:14px;font-weight:500;color:var(--dk-fg-1f2937, #1f2937);line-height:1.45;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nhw-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;flex-wrap:wrap}.nhw-card-footer-left{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.nhw-status-badge{font-size:11px;font-weight:500;border-radius:6px;padding:3px 8px;white-space:nowrap}.nhw-status--draft{background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-6b7280, #6b7280)}.nhw-status--scheduled{background:var(--dk-bg-dbeafe, #dbeafe);color:#2563eb}.nhw-status--active{background:var(--dk-bg-dcfce7, #dcfce7);color:var(--dk-fg-16a34a, #16a34a)}.nhw-status--pending{background:var(--dk-bg-dbeafe, #dbeafe);color:var(--dk-fg-1d4ed8, #1d4ed8)}.nhw-status--overdue{background:var(--dk-bg-fee2e2, #fee2e2);color:#dc2626}.nhw-status--closed{background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-6b7280, #6b7280)}.nhw-class-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--dk-fg-6b7280, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.nhw-card--list{flex-direction:row;align-items:center;gap:10px;padding:10px 14px;min-height:unset}.nhw-card-body-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.nhw-card-title-list{font-size:13px;font-weight:500;color:var(--dk-fg-111111, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nhw-card-right-list{display:flex;align-items:center;gap:8px;flex-shrink:0}.nhw-text-muted{font-size:12px;color:#9ca3af}.nhw-text-overdue{font-size:12px;color:#dc2626;font-weight:500}.nhw-menu-wrap{position:relative;flex-shrink:0}.nhw-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:#d1d5db;cursor:pointer;transition:background .1s,color .1s;margin:-4px -4px -4px 0}.nhw-menu-btn:hover{background:var(--dk-bg-f3f4f6, #f3f4f6);color:var(--dk-fg-374151, #374151)}.nhw-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--dk-bg-ffffff, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:170px;z-index:9999;overflow:hidden}.nhw-menu-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 14px;background:none;border:none;font-size:13px;color:var(--dk-fg-111111, #111);cursor:pointer;transition:background .1s}.nhw-menu-item:hover:not(:disabled){background:var(--dk-bg-f9fafb, #f9fafb)}.nhw-menu-item:disabled{opacity:.5;cursor:not-allowed}.nhw-menu-item--danger{color:#dc2626}.nhw-menu-item--danger:hover:not(:disabled){background:var(--dk-bg-fef2f2, #fef2f2)}@media (max-width: 1024px){.nhw-filters-toggle{display:flex}.nhw-content{flex-direction:column}.nhw-sidebar{display:none;width:100%;position:static;max-height:none}.nhw-sidebar--open{display:block}.nhw-main{width:100%}.nhw-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 768px){.nhw-header-top{flex-wrap:wrap}.nhw-view-tabs{flex-wrap:wrap;width:auto}.nhw-stats-bar{flex-direction:column;align-items:flex-start}.nhw-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width: 480px){.nhw-grid{grid-template-columns:1fr}.nhw-topbar-select{flex:1 1 calc(50% - 4px);width:auto}.nhw-header-title{font-size:18px}.nhw-search-bar{flex-wrap:wrap}.nhw-display-toggle{flex:1}.nhw-display-btn{flex:1;justify-content:center}}.teacher-week-lesson--replaced,.sch-day-card.is-replaced{--lesson-bg: rgba(239, 68, 68, .08);--lesson-border: rgba(239, 68, 68, .45);--lesson-text: var(--ink);--lesson-shadow: transparent;--lesson-decor: transparent;--lesson-pattern: transparent}.teacher-week-lesson--replaced{cursor:default}.teacher-week-lesson--replaced:hover{transform:none;filter:none}.teacher-week-lesson--replaced .teacher-week-lesson-badge.replaced{border-color:#ef44444d;border-radius:2px;background:#ef44441f;color:var(--dk-fg-b91c1c, #b91c1c)}.sch-day-card.is-replaced .sch-day-card-accent-bar{background:#ef4444b3;filter:none}.schedule-lesson-card.is-replaced,.day-lesson-card.is-replaced{background:#ef444414;border-color:#ef444473}.teacher-today-lesson.is-replaced{background:#ef444414;border-radius:8px;padding-left:8px;padding-right:8px}[data-theme=dark] .teacher-week-lesson--replaced .teacher-week-lesson-badge.replaced{color:#fca5a5}.teacher-week-lesson--cancelled{--lesson-bg: rgba(148, 163, 184, .16);--lesson-border: var(--border);--lesson-text: var(--muted);--lesson-shadow: transparent;--lesson-decor: transparent;--lesson-pattern: transparent;cursor:default}.teacher-week-lesson--cancelled:hover{transform:none;filter:none}.teacher-week-lesson--cancelled .teacher-week-lesson-badge{border-color:var(--border);border-radius:2px;background:transparent;color:var(--muted)}.schedule-lesson-card.is-cancelled{background:#94a3b829;border-color:var(--border)}.workload-cancelled-lesson{background:#94a3b81f}.workload-cancelled-lesson .workload-lesson-card,.workload-cancelled-lesson .workload-lesson-card:hover{background:#94a3b82e}.ucaj-page{display:grid;gap:16px;min-width:0}.ucaj-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px}.ucaj-header h1{margin:0 0 4px}.ucaj-header p{margin:0;font-size:14px}.ucaj-month-switch{display:flex;align-items:center;gap:8px}.ucaj-month-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;min-width:150px;padding:0 14px;border:1px solid var(--card-hover-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap}.ucaj-month-label svg{color:var(--accent)}.ucaj-tabs{display:flex;gap:8px}.ucaj-tab{min-height:38px;padding:0 18px;border:1px solid var(--card-hover-border);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.ucaj-tab:hover{border-color:var(--accent)}.ucaj-tab.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.ucaj-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.ucaj-main,.ucaj-stack{display:grid;gap:12px;min-width:0}.ucaj-sidebar{display:grid;gap:16px;min-width:0}.ucaj-panel{border:1px solid var(--card-hover-border);border-radius:14px;background:var(--surface);min-width:0}.ucaj-empty{display:grid;justify-items:center;gap:10px;padding:28px 16px;color:var(--text-muted);text-align:center}.ucaj-empty p{margin:0}.ucaj-filters{display:flex;flex-wrap:wrap;gap:12px;padding:12px}.ucaj-filter{display:grid;gap:4px;flex:0 1 260px;min-width:180px}.ucaj-filter-label{color:var(--text-muted);font-size:12px;font-weight:600}.ucaj-filter select{padding:8px 12px;border-radius:10px}.ucaj-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 16px;color:var(--muted);font-size:14px}.ucaj-summary-item{display:inline-flex;align-items:center;gap:6px}.ucaj-summary-item svg{color:var(--accent)}.ucaj-summary-item strong{color:var(--ink)}.ucaj-summary-period{margin-left:auto;color:var(--text-muted);font-size:12px}.ucaj-lessons{display:grid;gap:12px}.ucaj-lesson{overflow:hidden}.ucaj-lesson-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;padding:12px 16px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.ucaj-lesson-head:hover{background:var(--card-hover-bg)}.ucaj-lesson-num{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:700}.ucaj-lesson-date{font-size:15px;font-weight:700;white-space:nowrap}.ucaj-lesson-topic{flex:1 1 160px;min-width:0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.ucaj-lesson-topic.is-empty{color:var(--text-muted);font-style:italic}.ucaj-lesson-side{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.ucaj-lesson-count{color:var(--muted);font-size:13px;white-space:nowrap}.ucaj-chevron{color:var(--muted);transition:transform .2s ease}.ucaj-lesson.is-expanded .ucaj-chevron{transform:rotate(180deg)}.ucaj-lesson-body{padding:0 12px 12px}.ucaj-lesson-homework{margin:0 4px 10px;font-size:13px}.ucaj-table-scroll{overflow-x:auto;border:1px solid var(--card-hover-border);border-radius:12px}.ucaj-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}.ucaj-table th{padding:10px 12px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;text-align:left;white-space:nowrap}.ucaj-table td{padding:8px 12px;border-top:1px solid var(--card-hover-border);color:var(--ink);vertical-align:middle}.ucaj-table tbody tr:hover td{background:var(--card-hover-bg)}.ucaj-table th:first-child,.ucaj-table td:first-child{width:34%}.ucaj-student{display:inline-flex;align-items:center;gap:10px;font-weight:500}.ucaj-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:12px;font-weight:700}.ucaj-avatar.tone-0{background:rgba(var(--brand-600-rgb),.12);color:var(--brand-700)}.ucaj-avatar.tone-1{background:rgba(var(--brand3-600-rgb),.12);color:var(--brand3-700)}.ucaj-avatar.tone-2{background:#db27771f;color:#be185d}.ucaj-avatar.tone-3{background:#0d948824;color:#0f766e}.ucaj-avatar.tone-4{background:#ea580c24;color:#c2410c}.ucaj-avatar.tone-5{background:#0ea5e924;color:#0369a1}[data-theme=dark] .ucaj-avatar{color:#e2e8f0}.ucaj-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.ucaj-badge.is-success,.ucaj-hw.is-success{background:var(--color-background-success);color:var(--color-text-success)}.ucaj-badge.is-warning,.ucaj-hw.is-warning{background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning))}.ucaj-badge.is-danger,.ucaj-hw.is-danger{background:var(--color-background-danger);color:var(--color-text-danger)}.ucaj-badge.is-neutral,.ucaj-hw.is-muted{background:var(--color-background-secondary);color:var(--muted)}.ucaj-hw{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.ucaj-comment{color:var(--muted);overflow-wrap:anywhere}.ucaj-dash{color:var(--text-muted)}.ucaj-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}.ucaj-icon-btn:hover{background:var(--accent-soft)}.ucaj-calendar{padding:14px}.ucaj-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ucaj-calendar-title{font-size:15px;font-weight:700}.ucaj-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.ucaj-calendar-weekday{padding:4px 0;color:var(--text-muted);font-size:11px;font-weight:600;text-align:center}.ucaj-calendar-day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:36px;aspect-ratio:1;justify-self:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font:inherit;font-size:13px}button.ucaj-calendar-day{cursor:pointer}button.ucaj-calendar-day:hover{background:var(--accent-soft)}.ucaj-calendar-day.is-outside{color:var(--text-muted);opacity:.5}.ucaj-calendar-day.is-today{border-color:var(--accent);color:var(--accent);font-weight:700}.ucaj-calendar-day.is-selected,button.ucaj-calendar-day.is-selected:hover{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.ucaj-calendar-day.has-conducted:after,.ucaj-calendar-day.has-planned:after{content:"";position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:50%;transform:translate(-50%)}.ucaj-calendar-day.has-conducted:after,.ucaj-dot.is-conducted{background:var(--color-text-success)}.ucaj-calendar-day.has-planned:after,.ucaj-dot.is-planned{background:var(--accent)}.ucaj-calendar-day.is-selected:after{background:#fff}.ucaj-calendar-legend{display:flex;gap:14px;margin-top:8px;color:var(--text-muted);font-size:11px}.ucaj-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.ucaj-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.ucaj-stats{padding:14px}.ucaj-stats-title{margin:0 0 10px;font-size:15px}.ucaj-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ucaj-stat{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:8px;border-radius:10px;background:var(--surface-2)}.ucaj-stat strong{font-size:20px;line-height:1.1}.ucaj-stat>span:last-child{grid-column:1 / -1;margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.25}.ucaj-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px}.ucaj-stat-icon.tone-green{background:var(--color-background-success);color:var(--color-text-success)}.ucaj-stat-icon.tone-blue{background:var(--accent-soft);color:var(--accent-strong)}.ucaj-stat-icon.tone-orange{background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning))}.ucaj-stat-icon.tone-violet{background:rgba(var(--brand3-600-rgb),.12);color:var(--brand3-600)}.ucaj-individual-list{display:grid}.ucaj-individual-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;padding:12px 16px}.ucaj-individual-row+.ucaj-individual-row{border-top:1px solid var(--card-hover-border)}.ucaj-individual-row:hover{background:var(--card-hover-bg)}.ucaj-individual-name{font-size:14px;font-weight:600}.ucaj-individual-sub{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.ucaj-individual-meta{display:grid;gap:2px;color:var(--muted);font-size:12px}.ucaj-individual-meta strong{color:var(--ink)}.ucaj-individual-action{white-space:nowrap}@media (max-width: 1280px){.ucaj-layout{grid-template-columns:minmax(0,1fr)}.ucaj-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width: 900px){.ucaj-individual-row{grid-template-columns:auto minmax(0,1fr)}.ucaj-individual-meta,.ucaj-individual-action{grid-column:2}.ucaj-individual-action{justify-self:start}}@media (max-width: 700px){.ucaj-sidebar{grid-template-columns:minmax(0,1fr)}.ucaj-header{flex-direction:column}.ucaj-month-switch{width:100%}.ucaj-header .ucaj-month-switch .btn{width:auto;flex:0 0 auto}.ucaj-month-label{flex:1 1 auto;min-width:0}.ucaj-tabs .ucaj-tab{flex:1 1 0;padding:0 10px}.ucaj-filter{flex:1 1 100%}.ucaj-summary-period,.ucaj-lesson-side{margin-left:0;width:100%}.ucaj-lesson-side .ucaj-chevron{margin-left:auto}}.tcs-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.tcs-header-main{display:grid;gap:4px;min-width:0}.tcs-header-main h1{margin:0}.tcs-back{display:inline-flex;align-items:center;gap:4px;width:fit-content;color:var(--accent-strong);font-size:13px;font-weight:600;text-decoration:none}.tcs-back:hover{text-decoration:underline}.tcs-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;overflow-wrap:anywhere}.tcs-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tcs-header-actions .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.tcs-course-switch{width:auto;max-width:240px;padding:8px 12px;border-radius:10px}.tcs-stepper-card{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--card-hover-border);border-radius:14px;background:var(--surface)}.tcs-progress{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.tcs-progress strong{color:var(--ink)}.tcs-progress-bar{flex:1;height:6px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.tcs-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-text-success);transition:width .3s ease}.tcs-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.tcs-step{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--card-hover-border);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.tcs-step:hover:not(:disabled){border-color:var(--accent)}.tcs-step:disabled{cursor:not-allowed;opacity:.5}.tcs-step.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.tcs-step-index{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.tcs-step.is-active .tcs-step-index{background:var(--accent);color:#fff}.tcs-step.is-done .tcs-step-index{background:var(--color-background-success);color:var(--color-text-success)}.tcs-step.is-issue .tcs-step-index{background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning))}.tcs-step-copy{display:grid;min-width:0}.tcs-step-title{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.tcs-step-counter{overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tcs-step.is-issue .tcs-step-counter{color:var(--dk-fg-b45309, var(--color-text-warning))}.tcs-stepper-compact{display:none;align-items:center;gap:8px}.tcs-stepper-compact select{flex:1;min-width:0;padding:8px 12px;border-radius:10px;font-weight:600}.tcs-step-description{margin:0;font-size:13px}.tcs-course-form{max-width:760px}.tcs-step-note{margin:0 0 12px}.tcs-field-error{color:var(--color-text-danger);font-size:12px;font-weight:600}.tcs-field-warning{display:inline-flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:8px;background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning));font-size:12px;line-height:1.35}.tcs-field-warning svg{flex:0 0 auto;margin-top:1px}.tcs-review-links{display:flex;flex-wrap:wrap;gap:8px}.tcs-review-links .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.tcs-error-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;border-color:#ef44444d}.tcs-error-card>svg{color:var(--color-text-danger)}.tcs-error-card>div{flex:1 1 260px}.tcs-error-card p{margin:4px 0 0}@media (max-width: 1280px){.tcs-step{padding:8px}.tcs-step-counter{display:none}}@media (max-width: 1000px){.tcs-stepper{display:none}.tcs-stepper-compact{display:flex}}@media (max-width: 700px){.tcs-header{align-items:stretch}.tcs-header-actions{width:100%}.tcs-course-switch{flex:1 1 100%;max-width:none}.tcs-header .tcs-header-actions .btn{flex:1 1 auto;width:auto;justify-content:center}.tcs-stepper-compact .btn{flex:0 0 auto;width:auto}}.tcs-field-hint{color:var(--text-muted);font-size:12px}.tcs-withdrawn{display:grid;gap:10px}.tcs-withdrawn-head h3{margin:0 0 2px;font-size:15px}.tcs-withdrawn-head p{margin:0;font-size:13px}.tcs-withdrawn-item{background:var(--surface-2)}.tcs-withdrawn-meta{font-size:12px}.btn.ghost.tcs-danger-link{color:var(--color-text-danger);border-color:#ef444459}.btn.ghost.tcs-danger-link:hover{background:var(--color-background-danger)}.ucaj-badge.is-info{background:var(--accent-soft);color:var(--accent-strong)}.uchw-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.uchw-kpi{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 16px;border:1px solid var(--card-hover-border);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.uchw-kpi:hover{border-color:var(--accent)}.uchw-kpi.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.uchw-kpi-icon{display:inline-flex;grid-row:1 / span 2;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.uchw-kpi-icon.tone-blue{background:var(--accent-soft);color:var(--accent-strong)}.uchw-kpi-icon.tone-green{background:var(--color-background-success);color:var(--color-text-success)}.uchw-kpi-icon.tone-red{background:var(--color-background-danger);color:var(--color-text-danger)}.uchw-kpi strong{font-size:22px;line-height:1.1}.uchw-kpi>span:last-child{color:var(--muted);font-size:13px}.uchw-kpi.has-danger strong{color:var(--color-text-danger)}.uchw-reset{align-self:end}.uchw-list{display:grid;gap:4px;padding:16px}.uchw-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:8px}.uchw-list-head h2{margin:0 0 2px;font-size:18px}.uchw-list-head .muted{font-size:13px}.uchw-period{display:inline-flex;padding:3px;border:1px solid var(--card-hover-border);border-radius:10px;background:var(--surface-2)}.uchw-period button{padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.uchw-period button.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--card-shadow)}.uchw-state{display:grid;justify-items:center;gap:10px;padding:32px 16px;color:var(--text-muted);text-align:center}.uchw-state p{margin:0}.uchw-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.uchw-groups{display:grid}.uchw-group+.uchw-group{border-top:1px solid var(--card-hover-border)}.uchw-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%;padding:12px 4px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.uchw-chevron{color:var(--muted);transition:transform .2s ease}.uchw-chevron.is-collapsed{transform:rotate(-90deg)}.uchw-group-title{font-size:16px;font-weight:700}.uchw-count{padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:600}.uchw-items{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}.uchw-item{display:grid;grid-template-columns:auto minmax(0,1fr) 150px auto;align-items:center;gap:12px 16px;padding:12px 14px;border:1px solid var(--card-hover-border);border-radius:12px;background:var(--surface)}.uchw-item:hover{background:var(--card-hover-bg)}.uchw-item.is-overdue{border-left:3px solid var(--color-text-danger)}.uchw-type{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong)}.uchw-body{display:grid;gap:4px;min-width:0}.uchw-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.uchw-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.uchw-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:13px}.uchw-meta span{display:inline-flex;align-items:center;gap:5px}.uchw-meta .is-overdue{color:var(--color-text-danger);font-weight:600}.uchw-progress{display:grid;gap:6px;color:var(--muted);font-size:12px}.uchw-progress strong{color:var(--ink)}.uchw-bar{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.uchw-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.uchw-bar span.is-full{background:var(--color-text-success)}.uchw-action{white-space:nowrap}@media (max-width: 1000px){.uchw-item{grid-template-columns:auto minmax(0,1fr) auto}.uchw-progress{grid-column:2 / -1;grid-row:2}}@media (max-width: 700px){.uchw-kpis{gap:8px}.uchw-kpi{grid-template-columns:minmax(0,1fr);padding:10px}.uchw-kpi-icon{display:none}.uchw-kpi>span:last-child{font-size:12px;line-height:1.25}.uchw-list{padding:12px}.uchw-item{grid-template-columns:auto minmax(0,1fr);padding:12px}.uchw-progress,.uchw-action{grid-column:1 / -1}.uchw-progress{grid-row:auto}.uchw-page .uchw-action,.uchw-period{width:100%}.uchw-period button{flex:1}}.lmi{margin-bottom:16px;border:1px solid var(--card-hover-border);border-radius:14px;background:var(--surface);overflow:hidden}.lmi-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.lmi-head:hover{background:var(--card-hover-bg)}.lmi-head-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong)}.lmi-head-text{display:grid;flex:1;min-width:0;gap:2px}.lmi-head-text strong{font-size:15px}.lmi-head-text span{color:var(--muted);font-size:13px}.lmi-chevron{flex:0 0 auto;color:var(--muted);transition:transform .2s ease}.lmi.is-collapsed .lmi-chevron{transform:rotate(-90deg)}.lmi-body{display:grid;gap:14px;padding:0 16px 16px}.lmi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lmi-card{display:grid;align-content:start;gap:6px;padding:14px;border-radius:12px;background:var(--surface-2)}.lmi-card h3{margin:2px 0 0;font-size:14px}.lmi-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.lmi-card p b{color:var(--ink);font-weight:600}.lmi-card .lmi-note{color:var(--text-muted);font-size:12px}.lmi-card-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px}.lmi-card-icon.tone-blue{background:var(--accent-soft);color:var(--accent-strong)}.lmi-card-icon.tone-green{background:var(--color-background-success);color:var(--color-text-success)}.lmi-card-icon.tone-violet{background:rgba(var(--brand3-600-rgb),.12);color:var(--brand3-600)}.lmi-card-icon.tone-gray{background:var(--color-background-secondary);color:var(--muted)}.lmi-inline-icon{width:24px;height:24px;margin-top:4px;border-radius:8px}.lmi-statuses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px}.lmi-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:var(--muted);font-size:12px}.lmi-pill{padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.lmi-pill.is-ok{background:var(--color-background-success);color:var(--color-text-success)}.lmi-pill.is-warn{background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning))}.lmi-pill.is-muted{background:var(--color-background-secondary);color:var(--ink)}.lmi-pill.is-bad{background:var(--color-background-danger);color:var(--color-text-danger)}.lmi-pill.is-sub{background:#7c3aed1f;color:#6b21a8}.lmi-warning{display:grid;gap:4px;margin-bottom:16px;padding:10px 14px;border-radius:12px;background:var(--color-background-warning);color:var(--dk-fg-b45309, var(--color-text-warning));font-size:13px}@media (max-width: 900px){.lmi-grid{grid-template-columns:minmax(0,1fr)}}.badge.vacation{background:var(--dk-bg-ffffffa88, rgba(255, 255, 255, .88));color:var(--dk-fg-a16207, #a16207);border:1px solid rgba(234,179,8,.4);font-weight:600;white-space:nowrap}.badge.vacation.is-lg{font-size:12px;padding:4px 10px}.vacation-workload-note{font-size:11px;color:var(--dk-fg-a16207, #a16207)}.grade-period-vacations{margin-top:12px;display:grid;gap:4px;font-size:14px}.workload-lesson-card-badge .badge.vacation{margin-left:4px}.language-trigger{font-size:11px;font-weight:700;letter-spacing:.02em}.language-popover{min-width:180px}.language-options{display:grid;gap:4px}.language-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.language-option:hover{background:var(--sidebar-item-hover)}.language-option.is-selected{background:var(--brand-50);color:var(--brand-700)}.language-option:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.landing-header-actions .palette-switcher{position:relative}.landing-header-actions .language-trigger{width:44px;height:44px;border:1px solid rgba(16,35,68,.24);background:#fffffff0;color:#102344;font-size:12px;font-weight:900}.landing-header-actions .language-popover{top:calc(100% + 8px);bottom:auto;left:auto;right:0}.auth-language{position:fixed;top:20px;right:20px;z-index:5}.auth-language .language-popover{top:calc(100% + 8px);bottom:auto;left:auto;right:0}[data-theme=dark]{color-scheme:dark;--text: var(--ink);--text-primary: var(--ink);--text-secondary: var(--muted);--text-muted: #9aa5b4;--ink-muted: #9aa5b4;--ink-disabled: rgba(238, 242, 247, .38);--fg: var(--ink);--background: var(--bg);--page: var(--bg);--card-bg: var(--surface);--card-shadow: 0 4px 12px rgba(0, 0, 0, .3);--card-hover-bg: #212833;--card-hover-border: rgba(var(--brand-dark-accent-rgb), .35);--surface-1: var(--surface);--surface-2: #1f252e;--surface-muted: #232a35;--surface-hover: #232a35;--surface-subtle: rgba(255, 255, 255, .03);--hover-bg: rgba(255, 255, 255, .06);--bg-secondary: #1f252e;--bg-subtle: rgba(255, 255, 255, .05);--border-soft: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .2);--border-hover: rgba(255, 255, 255, .2);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .3);--primary-soft: rgba(var(--brand-dark-accent-rgb), .18);--color-ink: var(--ink);--color-text: var(--ink);--color-text-primary: var(--ink);--color-muted: var(--muted);--color-background: var(--bg);--color-border: rgba(255, 255, 255, .1);--color-danger: #f87171;--color-warning: #fbbf24;--color-warning-bg: rgba(245, 158, 11, .18);--color-warning-border: rgba(245, 158, 11, .35);--danger: #f87171;--success: #4ade80;--info: var(--brand-400);--color-text-muted: #9aa5b4;--color-surface: var(--surface);--color-surface-secondary: #1f252e;--color-surface-2: #1f252e;--color-bg-secondary: #1f252e;--color-bg: var(--surface);--color-success: #4ade80;--color-primary-light: rgba(124, 58, 237, .22);--surface-secondary: #1f252e;--hover: rgba(255, 255, 255, .06);--color-hover: rgba(255, 255, 255, .08);--border-dark: rgba(255, 255, 255, .2);--color-danger-soft: rgba(239, 68, 68, .14);--color-danger-border: rgba(239, 68, 68, .4);--muted-fg: var(--muted);--primary-subtle: rgba(var(--brand2-500-rgb), .14);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--accent-border: rgba(var(--brand2-400-rgb), .4);--warn-bg: rgba(245, 158, 11, .16);--dk-bd-000000a4: rgba(255, 255, 255, .08);--dk-bd-0d6a3fa28: rgba(255, 255, 255, .16);--dk-bd-0f172aa10: rgba(255, 255, 255, .13);--dk-bd-0f172aa12: rgba(255, 255, 255, .156);--dk-bd-0f172aa14: rgba(255, 255, 255, .16);--dk-bd-0f172aa18: rgba(255, 255, 255, .16);--dk-bd-0f172aa7: rgba(255, 255, 255, .091);--dk-bd-0f172aa8: rgba(255, 255, 255, .104);--dk-bd-0f172aa9: rgba(255, 255, 255, .117);--dk-bd-101828a10: rgba(255, 255, 255, .13);--dk-bd-101828a12: rgba(255, 255, 255, .156);--dk-bd-101828a14: rgba(255, 255, 255, .16);--dk-bd-101828a18: rgba(255, 255, 255, .16);--dk-bd-101828a6: rgba(255, 255, 255, .08);--dk-bd-101828a7: rgba(255, 255, 255, .091);--dk-bd-101828a8: rgba(255, 255, 255, .104);--dk-bd-102344a10: rgba(255, 255, 255, .13);--dk-bd-a7f3c0: #2c6647;--dk-bd-bbf7d0: #2c6648;--dk-bd-bfdbfe: #2c486c;--dk-bd-c7d2fe: #2c3a6c;--dk-bd-c7d7fc: #2c406c;--dk-bd-c8c8d0: rgba(255, 255, 255, .12);--dk-bd-cbd5e1: #2c486c;--dk-bd-cbebd7: #2c6649;--dk-bd-d1d5db: rgba(255, 255, 255, .12);--dk-bd-d9e4ff: #2c3f6c;--dk-bd-dbeafe: #2c476c;--dk-bd-ddc4fa: #462f6c;--dk-bd-dddde3: rgba(255, 255, 255, .12);--dk-bd-dde2ea: rgba(255, 255, 255, .12);--dk-bd-e0d4ff: #3c2f6c;--dk-bd-e0e0e5: rgba(255, 255, 255, .12);--dk-bd-e0e2ea: rgba(255, 255, 255, .12);--dk-bd-e0e4f0: rgba(255, 255, 255, .12);--dk-bd-e2e6ec: rgba(255, 255, 255, .12);--dk-bd-e2e8f0: rgba(255, 255, 255, .12);--dk-bd-e4e7ec: rgba(255, 255, 255, .12);--dk-bd-e5e7eb: rgba(255, 255, 255, .12);--dk-bd-e7eaf0: rgba(255, 255, 255, .12);--dk-bd-e8e8eb: rgba(255, 255, 255, .12);--dk-bd-ecedf3: rgba(255, 255, 255, .12);--dk-bd-ededf5: rgba(255, 255, 255, .12);--dk-bd-eef1f5: rgba(255, 255, 255, .12);--dk-bd-f0f1f5: rgba(255, 255, 255, .12);--dk-bd-f0f4fa: rgba(255, 255, 255, .12);--dk-bd-f1f5f9: rgba(255, 255, 255, .12);--dk-bd-f3f4f6: rgba(255, 255, 255, .12);--dk-bd-f9b4b4: #632f34;--dk-bd-f9fafb: rgba(255, 255, 255, .12);--dk-bd-fecaca: #632f34;--dk-bd-fed7aa: #634d34;--dk-bd-ffd4d4: #632f34;--dk-bd-ffffff: rgba(255, 255, 255, .12);--dk-bg-000000a1: rgba(255, 255, 255, .019);--dk-bg-000000a10: rgba(255, 255, 255, .12);--dk-bg-000000a2: rgba(255, 255, 255, .032);--dk-bg-000000a25: rgba(255, 255, 255, .12);--dk-bg-000000a3: rgba(255, 255, 255, .048);--dk-bg-000000a4: rgba(255, 255, 255, .064);--dk-bg-000000a6: rgba(255, 255, 255, .096);--dk-bg-000000a7: rgba(255, 255, 255, .112);--dk-bg-000000a8: rgba(255, 255, 255, .12);--dk-bg-0f172aa10: rgba(255, 255, 255, .12);--dk-bg-0f172aa2: rgba(255, 255, 255, .032);--dk-bg-0f172aa3: rgba(255, 255, 255, .048);--dk-bg-0f172aa4: rgba(255, 255, 255, .064);--dk-bg-0f172aa5: rgba(255, 255, 255, .08);--dk-bg-0f172aa6: rgba(255, 255, 255, .096);--dk-bg-0f172aa8: rgba(255, 255, 255, .12);--dk-bg-101828a10: rgba(255, 255, 255, .12);--dk-bg-101828a18: rgba(255, 255, 255, .12);--dk-bg-101828a2: rgba(255, 255, 255, .032);--dk-bg-101828a3: rgba(255, 255, 255, .048);--dk-bg-101828a4: rgba(255, 255, 255, .064);--dk-bg-101828a5: rgba(255, 255, 255, .08);--dk-bg-101828a7: rgba(255, 255, 255, .112);--dk-bg-101828a8: rgba(255, 255, 255, .12);--dk-bg-bfdbfe: #213148;--dk-bg-c7e3ff: #213348;--dk-bg-d1fae5: #21403a;--dk-bg-d4e3fd: #212f48;--dk-bg-d7e7ffa92: rgba(26, 31, 40, .92);--dk-bg-d9d9d9: #272e39;--dk-bg-dbeafe: #213148;--dk-bg-dbeafea55: rgba(26, 31, 40, .55);--dk-bg-dbeafea60: rgba(26, 31, 40, .6);--dk-bg-dbeafea62: rgba(26, 31, 40, .62);--dk-bg-dbeafea65: rgba(26, 31, 40, .65);--dk-bg-dbeafea70: rgba(26, 31, 40, .7);--dk-bg-dbeafea72: rgba(26, 31, 40, .72);--dk-bg-dbeafea78: rgba(26, 31, 40, .78);--dk-bg-dbeafea90: rgba(26, 31, 40, .9);--dk-bg-dbeafea95: rgba(26, 31, 40, .95);--dk-bg-dbeafea96: rgba(26, 31, 40, .96);--dk-bg-dbeeff: #213348;--dk-bg-dce8ff: #212e48;--dk-bg-dcfce7: #214036;--dk-bg-dcfce7a68: rgba(26, 31, 40, .68);--dk-bg-dcfce7a95: rgba(26, 31, 40, .95);--dk-bg-ddf0ffa96: rgba(26, 31, 40, .96);--dk-bg-e0e7ff: #212b48;--dk-bg-e0f2fe: #213548;--dk-bg-e2e8f0: #272e39;--dk-bg-e2e8f0a60: rgba(26, 31, 40, .6);--dk-bg-e2eefaa60: rgba(26, 31, 40, .6);--dk-bg-e2eefaa65: rgba(26, 31, 40, .65);--dk-bg-e5e7eb: #272e39;--dk-bg-e7eefe: #212d48;--dk-bg-e8e6f8: #242548;--dk-bg-e8f0fe: #212f48;--dk-bg-e9eaf0: #272e39;--dk-bg-eaf1ff: #212e48;--dk-bg-eaf5ffa98: rgba(26, 31, 40, .98);--dk-bg-eaf8ef: #1f252e;--dk-bg-ecf5ffa96: rgba(26, 31, 40, .96);--dk-bg-ecfdf5a95: rgba(26, 31, 40, .95);--dk-bg-ede9fe: #262548;--dk-bg-edf2f7: #1f252e;--dk-bg-edf8ffa96: rgba(26, 31, 40, .96);--dk-bg-eef1f6: #1f252e;--dk-bg-eef2f6: #1f252e;--dk-bg-eef2fe: #1f252e;--dk-bg-eef5ff: #1f252e;--dk-bg-eff6ff: #1f252e;--dk-bg-eff6ffa62: rgba(26, 31, 40, .62);--dk-bg-eff6ffa65: rgba(26, 31, 40, .65);--dk-bg-eff6ffa66: rgba(26, 31, 40, .66);--dk-bg-eff6ffa70: rgba(26, 31, 40, .7);--dk-bg-eff6ffa72: rgba(26, 31, 40, .72);--dk-bg-eff6ffa90: rgba(26, 31, 40, .9);--dk-bg-eff6ffa96: rgba(26, 31, 40, .96);--dk-bg-f0eeff: #1f252e;--dk-bg-f0effe: #1f252e;--dk-bg-f0f0ff: #1f252e;--dk-bg-f0f1f5: #1f252e;--dk-bg-f0f6ff: #1f252e;--dk-bg-f0f7ff: #1f252e;--dk-bg-f0f8ffa60: rgba(26, 31, 40, .6);--dk-bg-f0f8ffa94: rgba(26, 31, 40, .94);--dk-bg-f0fdf4: #1f252e;--dk-bg-f0fdf4a64: rgba(26, 31, 40, .64);--dk-bg-f0fdf4a72: rgba(26, 31, 40, .72);--dk-bg-f0fdf4a90: rgba(26, 31, 40, .9);--dk-bg-f1f5f9: #1f252e;--dk-bg-f1f5f9a60: rgba(26, 31, 40, .6);--dk-bg-f1f5f9a90: rgba(26, 31, 40, .9);--dk-bg-f1f5f9a95: rgba(26, 31, 40, .95);--dk-bg-f1f8ffa90: rgba(26, 31, 40, .9);--dk-bg-f2f4f7: #1f252e;--dk-bg-f3e8ff: #2e2548;--dk-bg-f3f4f6: #1f252e;--dk-bg-f3f4f8: #1f252e;--dk-bg-f4f5f7: #1f252e;--dk-bg-f4f6f8: #1f252e;--dk-bg-f4f7ff: #1a1f28;--dk-bg-f4f8fca92: rgba(26, 31, 40, .92);--dk-bg-f5f0ff: #1f252e;--dk-bg-f5f5f7: #1f252e;--dk-bg-f5f8ff: #1a1f28;--dk-bg-f5faffa60: rgba(26, 31, 40, .6);--dk-bg-f6faffa92: rgba(26, 31, 40, .92);--dk-bg-f6faffa94: rgba(26, 31, 40, .94);--dk-bg-f6faffa98: rgba(26, 31, 40, .98);--dk-bg-f6fdf9: #1a1f28;--dk-bg-f7f8fb: #1a1f28;--dk-bg-f8eee3a60: rgba(26, 31, 40, .6);--dk-bg-f8f9fb: #1a1f28;--dk-bg-f8fafc: #1a1f28;--dk-bg-f8fafca60: rgba(26, 31, 40, .6);--dk-bg-f8fafca70: rgba(26, 31, 40, .7);--dk-bg-f8fafca90: rgba(26, 31, 40, .9);--dk-bg-f8fafca92: rgba(26, 31, 40, .92);--dk-bg-f8fafca95: rgba(26, 31, 40, .95);--dk-bg-f8fafca98: rgba(26, 31, 40, .98);--dk-bg-f8faff: #1a1f28;--dk-bg-f8faffa80: rgba(26, 31, 40, .8);--dk-bg-f8fbff: #1a1f28;--dk-bg-f8fbffa80: rgba(26, 31, 40, .8);--dk-bg-f8fcfaa98: rgba(26, 31, 40, .98);--dk-bg-f8fcffa98: rgba(26, 31, 40, .98);--dk-bg-f9fafb: #1a1f28;--dk-bg-faeeda: #3c362d;--dk-bg-faf5ff: #1a1f28;--dk-bg-fafafa: #1a1f28;--dk-bg-fbe9e9: #3c252d;--dk-bg-fbfbfe: #1a1f28;--dk-bg-fbfdff: #1a1f28;--dk-bg-fce7f3: #3c253c;--dk-bg-fcebeb: #1f252e;--dk-bg-fde7b8: #3c372d;--dk-bg-fee2e2: #3c252d;--dk-bg-fee2e2a72: rgba(26, 31, 40, .72);--dk-bg-fee2e2a90: rgba(26, 31, 40, .9);--dk-bg-fef2f2: #1f252e;--dk-bg-fef2f2a80: rgba(26, 31, 40, .8);--dk-bg-fef2f2a86: rgba(26, 31, 40, .86);--dk-bg-fef2f2a92: rgba(26, 31, 40, .92);--dk-bg-fef2f2a95: rgba(26, 31, 40, .95);--dk-bg-fef3c7: #3c3b2d;--dk-bg-fef9c3: #3c3e2d;--dk-bg-ffedd5a60: rgba(26, 31, 40, .6);--dk-bg-ffefc4: #3c392d;--dk-bg-fff0f0: #1f252e;--dk-bg-fff1f2: #1f252e;--dk-bg-fff1f2a85: rgba(26, 31, 40, .85);--dk-bg-fff4dd: #3c372d;--dk-bg-fff4e0: #3c372d;--dk-bg-fff5f5: #1a1f28;--dk-bg-fff7ed: #3c342d;--dk-bg-fff7f7a98: rgba(26, 31, 40, .98);--dk-bg-fff8f8: #1a1f28;--dk-bg-fff9eb: #3c382d;--dk-bg-fff9f9: #1a1f28;--dk-bg-fffbeb: #3c3b2d;--dk-bg-fffbeba60: rgba(26, 31, 40, .6);--dk-bg-fffbeba72: rgba(26, 31, 40, .72);--dk-bg-fffbeba90: rgba(26, 31, 40, .9);--dk-bg-fffbf3a98: rgba(26, 31, 40, .98);--dk-bg-ffffff: #1a1f28;--dk-bg-ffffffa54: rgba(26, 31, 40, .54);--dk-bg-ffffffa55: rgba(26, 31, 40, .55);--dk-bg-ffffffa58: rgba(26, 31, 40, .58);--dk-bg-ffffffa60: rgba(26, 31, 40, .6);--dk-bg-ffffffa62: rgba(26, 31, 40, .62);--dk-bg-ffffffa68: rgba(26, 31, 40, .68);--dk-bg-ffffffa70: rgba(26, 31, 40, .7);--dk-bg-ffffffa72: rgba(26, 31, 40, .72);--dk-bg-ffffffa74: rgba(26, 31, 40, .74);--dk-bg-ffffffa75: rgba(26, 31, 40, .75);--dk-bg-ffffffa76: rgba(26, 31, 40, .76);--dk-bg-ffffffa78: rgba(26, 31, 40, .78);--dk-bg-ffffffa80: rgba(26, 31, 40, .8);--dk-bg-ffffffa82: rgba(26, 31, 40, .82);--dk-bg-ffffffa84: rgba(26, 31, 40, .84);--dk-bg-ffffffa85: rgba(26, 31, 40, .85);--dk-bg-ffffffa88: rgba(26, 31, 40, .88);--dk-bg-ffffffa90: rgba(26, 31, 40, .9);--dk-bg-ffffffa92: rgba(26, 31, 40, .92);--dk-bg-ffffffa94: rgba(26, 31, 40, .94);--dk-bg-ffffffa96: rgba(26, 31, 40, .96);--dk-bg-ffffffa98: rgba(26, 31, 40, .98);--dk-fg-0369a1: #84cdf5;--dk-fg-059669: #84f5d2;--dk-fg-064e3b: #84f5d7;--dk-fg-065f46: #84f5d5;--dk-fg-0c4a6e: #87cbf2;--dk-fg-0d2b4f: #8db8ec;--dk-fg-0d6a3f: #89f1c1;--dk-fg-0ea5e9: #84d2f5;--dk-fg-0f172a: #dbdfe7;--dk-fg-0f5f8f: #87caf2;--dk-fg-0f6f4a: #8aefc8;--dk-fg-0f766e: #89f0e8;--dk-fg-101828a20: rgba(238, 242, 247, .2);--dk-fg-102344a72: rgba(238, 242, 247, .72);--dk-fg-102344a74: rgba(238, 242, 247, .74);--dk-fg-102344a85: rgba(238, 242, 247, .85);--dk-fg-111111: #e8e8e8;--dk-fg-111827: #dcdfe7;--dk-fg-14142b: #d9d9e6;--dk-fg-15693a: #91e9b7;--dk-fg-15803d: #8decb1;--dk-fg-163a76: #8fb1ea;--dk-fg-166534: #92e7b2;--dk-fg-16a34a: #8aefaf;--dk-fg-172033: #d5dae3;--dk-fg-17634a: #93e6cb;--dk-fg-176b3a: #92e8b6;--dk-fg-177245: #91e9bd;--dk-fg-1d4ed8: #8aa5ef;--dk-fg-1d62d0: #8bb1ef;--dk-fg-1e1b4b: #9d98e1;--dk-fg-1e293b: #d0d6df;--dk-fg-1e40af: #8ea4ec;--dk-fg-1f2937: #d1d7e0;--dk-fg-1f4e79: #95bee4;--dk-fg-22c55e: #8eebb0;--dk-fg-2c4db5: #94a8e5;--dk-fg-3159b8: #96ade3;--dk-fg-334155: #98b6e1;--dk-fg-343133: #d5d3d4;--dk-fg-344054: #98b4e1;--dk-fg-355081: #98b2e1;--dk-fg-3730a3: #9d98e1;--dk-fg-374151: #bfc7d4;--dk-fg-3d4a6b: #98ade1;--dk-fg-475569: #98b6e1;--dk-fg-4a8b5c: #98e1ac;--dk-fg-4b5563: #b5bdc7;--dk-fg-5b21b6: #b38feb;--dk-fg-64748b: #98b6e1;--dk-fg-667085: #98b0e1;--dk-fg-6b21a8: #c190e9;--dk-fg-6b21c8: #b78dec;--dk-fg-6b7280: #a4a9b3;--dk-fg-6d6d8f: #9898e1;--dk-fg-78350f: #f0ae89;--dk-fg-791f1f: #e49595;--dk-fg-7c2d12: #eea48b;--dk-fg-7e22ce: #c08dec;--dk-fg-7f1d1d: #e69393;--dk-fg-854d0e: #f2c087;--dk-fg-854f0b: #f5c385;--dk-fg-888888: #a8a8a8;--dk-fg-8a8aa3: #9e9eb3;--dk-fg-8a93a3: #9ea5b3;--dk-fg-8a94a6: #9da5b4;--dk-fg-92400e: #f3af86;--dk-fg-925a00: #f5ca84;--dk-fg-991b1b: #eb8e8e;--dk-fg-9a3412: #f1a288;--dk-fg-9a4b12: #f1b488;--dk-fg-9a6700: #f5d084;--dk-fg-9d174d: #ee8bb3;--dk-fg-9f1239: #f288a5;--dk-fg-a05f00: #f5c784;--dk-fg-a16207: #f5c784;--dk-fg-a33a3a: #e19898;--dk-fg-b42318: #ef918a;--dk-fg-b45309: #f5b584;--dk-fg-b8722a: #e6bd93;--dk-fg-b91c1c: #ee8c8c;--dk-fg-be123c: #f486a1;--dk-fg-c2410c: #f5a584;--dk-fg-c4432e: #e69f94;--dk-fg-c4842e: #e6c394;--dk-fg-ca8a04: #f5d184;--dk-fg-d97706: #f5c184;--dk-fg-e11d48: #f08aa0;--dk-fg-ea580c: #f5ab84}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] input:-webkit-autofill:hover,[data-theme=dark] input:-webkit-autofill:focus,[data-theme=dark] textarea:-webkit-autofill,[data-theme=dark] select:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-out 0s}[data-theme=dark] .student-attendance-page{--attendance-planned-strong: #94a3b8;--attendance-conducted-strong: #b4becd}[data-theme=dark] .language-option.is-selected{background:rgba(var(--brand-400-rgb),.18);color:var(--brand-300)}[data-accent=sage]{--brand-50: #f6f8f7;--brand-100: #ebf0ed;--brand-200: #d6e1db;--brand-300: #b8ccc2;--brand-400: #96b5a6;--brand-500: #5f8673;--brand-600: #4f6e5e;--brand-700: #41584c;--brand-800: #34463d;--brand-900: #27342e;--brand-50-rgb: 246, 248, 247;--brand-100-rgb: 235, 240, 237;--brand-200-rgb: 214, 225, 219;--brand-300-rgb: 184, 204, 194;--brand-400-rgb: 150, 181, 166;--brand-500-rgb: 95, 134, 115;--brand-600-rgb: 79, 110, 94;--brand-700-rgb: 65, 88, 76;--brand-800-rgb: 52, 70, 61;--brand-900-rgb: 39, 52, 46;--brand2-50: #f6f8f7;--brand2-100: #ebf0ed;--brand2-200: #d6e1db;--brand2-300: #b8ccc2;--brand2-400: #96b5a6;--brand2-500: #5f8673;--brand2-600: #4f6e5e;--brand2-700: #41584c;--brand2-800: #34463d;--brand2-900: #27342e;--brand2-50-rgb: 246, 248, 247;--brand2-100-rgb: 235, 240, 237;--brand2-200-rgb: 214, 225, 219;--brand2-300-rgb: 184, 204, 194;--brand2-400-rgb: 150, 181, 166;--brand2-500-rgb: 95, 134, 115;--brand2-600-rgb: 79, 110, 94;--brand2-700-rgb: 65, 88, 76;--brand2-800-rgb: 52, 70, 61;--brand2-900-rgb: 39, 52, 46;--brand3-50: #f6f8f7;--brand3-100: #ebf0ed;--brand3-200: #d6e1db;--brand3-300: #b8ccc2;--brand3-400: #96b5a6;--brand3-500: #5f8673;--brand3-600: #4f6e5e;--brand3-700: #41584c;--brand3-800: #34463d;--brand3-900: #27342e;--brand3-50-rgb: 246, 248, 247;--brand3-100-rgb: 235, 240, 237;--brand3-200-rgb: 214, 225, 219;--brand3-300-rgb: 184, 204, 194;--brand3-400-rgb: 150, 181, 166;--brand3-500-rgb: 95, 134, 115;--brand3-600-rgb: 79, 110, 94;--brand3-700-rgb: 65, 88, 76;--brand3-800-rgb: 52, 70, 61;--brand3-900-rgb: 39, 52, 46;--tint-page: #fafbfb;--tint-page-rgb: 250, 251, 251;--tint-faint: #fbfcfb;--tint-faint-rgb: 251, 252, 251;--tint-soft: #f5f8f6;--tint-soft-rgb: 245, 248, 246;--tint-soft-2: #f6f8f7;--tint-soft-2-rgb: 246, 248, 247;--tint-item: #eff3f0;--tint-item-rgb: 239, 243, 240;--tint-strong: #e8eeea;--tint-strong-rgb: 232, 238, 234;--brand-dark-accent: #96b5a6;--brand-dark-accent-rgb: 150, 181, 166}[data-accent=sage]:not([data-theme=dark]){--bg: #f8f9f9;--bg-alt: #f2f5f4;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fafcfb 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f4f7f6 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f8f9f9;--page: #f8f9f9;--color-background: #f8f9f9;--surface-muted: #f2f5f4;--card-hover: #fafcfb;--card-hover-bg: #fafcfb;--sidebar-bg: rgba(247, 249, 248, .95);--sidebar-item-bg: rgba(240, 244, 242, .65)}[data-theme=dark][data-accent=sage]{--bg: #14181b;--bg-alt: #171e21;--bg-gradient: linear-gradient(180deg, #14181b 0%, #1a2227 100%);--accent-strong: #b8ccc2;--dk-bd-bfdbfe: #46524c;--dk-bd-c7d2fe: #46524c;--dk-bd-c7d7fc: #46524c;--dk-bd-d9e4ff: #46524c;--dk-bd-dbeafe: #46524c;--dk-bd-ddc4fa: #47544e;--dk-bd-e0d4ff: #47544e;--dk-bg-bfdbfe: #313834;--dk-bg-c7e3ff: #313834;--dk-bg-d4e3fd: #313834;--dk-bg-d7e7ffa92: rgba(32, 34, 33, .92);--dk-bg-dbeafe: #313834;--dk-bg-dbeafea55: rgba(32, 34, 33, .55);--dk-bg-dbeafea60: rgba(32, 34, 33, .6);--dk-bg-dbeafea62: rgba(32, 34, 33, .62);--dk-bg-dbeafea65: rgba(32, 34, 33, .65);--dk-bg-dbeafea70: rgba(32, 34, 33, .7);--dk-bg-dbeafea72: rgba(32, 34, 33, .72);--dk-bg-dbeafea78: rgba(32, 34, 33, .78);--dk-bg-dbeafea90: rgba(32, 34, 33, .9);--dk-bg-dbeafea95: rgba(32, 34, 33, .95);--dk-bg-dbeafea96: rgba(32, 34, 33, .96);--dk-bg-dce8ff: #313834;--dk-bg-e0e7ff: #313834;--dk-bg-e2eefaa60: rgba(32, 34, 33, .6);--dk-bg-e2eefaa65: rgba(32, 34, 33, .65);--dk-bg-e7eefe: #313834;--dk-bg-e8e6f8: #323a36;--dk-bg-e8f0fe: #313834;--dk-bg-eaf1ff: #313834;--dk-bg-ecf5ffa96: rgba(32, 34, 33, .96);--dk-bg-ede9fe: #333a37;--dk-bg-edf2f7: #252826;--dk-bg-eef2fe: #252826;--dk-bg-eef5ff: #252826;--dk-bg-eff6ff: #252826;--dk-bg-eff6ffa62: rgba(32, 34, 33, .62);--dk-bg-eff6ffa65: rgba(32, 34, 33, .65);--dk-bg-eff6ffa66: rgba(32, 34, 33, .66);--dk-bg-eff6ffa70: rgba(32, 34, 33, .7);--dk-bg-eff6ffa72: rgba(32, 34, 33, .72);--dk-bg-eff6ffa90: rgba(32, 34, 33, .9);--dk-bg-eff6ffa96: rgba(32, 34, 33, .96);--dk-bg-f0eeff: #252826;--dk-bg-f0effe: #252826;--dk-bg-f0f0ff: #252826;--dk-bg-f0f6ff: #252826;--dk-bg-f0f7ff: #252826;--dk-bg-f1f5f9: #252826;--dk-bg-f1f5f9a60: rgba(32, 34, 33, .6);--dk-bg-f1f5f9a90: rgba(32, 34, 33, .9);--dk-bg-f1f5f9a95: rgba(32, 34, 33, .95);--dk-bg-f1f8ffa90: rgba(32, 34, 33, .9);--dk-bg-f3e8ff: #333a37;--dk-bg-f4f7ff: #202221;--dk-bg-f4f8fca92: rgba(32, 34, 33, .92);--dk-bg-f5f0ff: #252826;--dk-bg-f5f8ff: #202221;--dk-bg-f5faffa60: rgba(32, 34, 33, .6);--dk-bg-f6faffa92: rgba(32, 34, 33, .92);--dk-bg-f6faffa94: rgba(32, 34, 33, .94);--dk-bg-f6faffa98: rgba(32, 34, 33, .98);--dk-bg-f8fafc: #202221;--dk-bg-f8fafca60: rgba(32, 34, 33, .6);--dk-bg-f8fafca70: rgba(32, 34, 33, .7);--dk-bg-f8fafca90: rgba(32, 34, 33, .9);--dk-bg-f8fafca92: rgba(32, 34, 33, .92);--dk-bg-f8fafca95: rgba(32, 34, 33, .95);--dk-bg-f8fafca98: rgba(32, 34, 33, .98);--dk-bg-f8faff: #202221;--dk-bg-f8faffa80: rgba(32, 34, 33, .8);--dk-bg-f8fbff: #202221;--dk-bg-f8fbffa80: rgba(32, 34, 33, .8);--dk-bg-faf5ff: #202221;--dk-bg-fbfbfe: #202221;--dk-bg-fbfdff: #202221;--dk-fg-0d2b4f: #b3c6bc;--dk-fg-0f172a: #e0e2e1;--dk-fg-101828a20: rgba(242, 243, 242, .2);--dk-fg-102344a72: rgba(242, 243, 242, .72);--dk-fg-102344a74: rgba(242, 243, 242, .74);--dk-fg-102344a85: rgba(242, 243, 242, .85);--dk-fg-111827: #e0e3e2;--dk-fg-14142b: #dee1e0;--dk-fg-163a76: #b4c5bc;--dk-fg-172033: #dbdddc;--dk-fg-1d4ed8: #b3c6bc;--dk-fg-1d62d0: #b3c7bd;--dk-fg-1e1b4b: #b5c4bc;--dk-fg-1e40af: #b4c6bd;--dk-fg-2c4db5: #b5c4bc;--dk-fg-3159b8: #b5c4bc;--dk-fg-334155: #b5c4bc;--dk-fg-344054: #b5c4bc;--dk-fg-355081: #b5c4bc;--dk-fg-3730a3: #b5c4bc;--dk-fg-475569: #b5c4bc;--dk-fg-5b21b6: #b4c6bd;--dk-fg-64748b: #b5c4bc;--dk-fg-667085: #b5c4bc;--dk-fg-6b21a8: #b4c5bc;--dk-fg-6b21c8: #b3c6bc;--dk-fg-6d6d8f: #b5c4bc;--dk-fg-7e22ce: #b3c6bc;--brand2-500: #b8ccc2;--brand2-600: #96b5a6;--brand2-700: #759f8a;--brand2-800: #5f8673;--brand2-900: #4f6e5e;--brand3-500: #b8ccc2;--brand3-600: #96b5a6;--brand3-700: #759f8a;--brand3-800: #5f8673;--brand3-900: #4f6e5e;--brand2-500-rgb: 184, 204, 194;--brand2-600-rgb: 150, 181, 166;--brand2-700-rgb: 117, 159, 138;--brand2-800-rgb: 95, 134, 115;--brand2-900-rgb: 79, 110, 94;--brand3-500-rgb: 184, 204, 194;--brand3-600-rgb: 150, 181, 166;--brand3-700-rgb: 117, 159, 138;--brand3-800-rgb: 95, 134, 115;--brand3-900-rgb: 79, 110, 94;--sidebar-bg: rgba(22, 29, 34, .96)}[data-accent=lavender]{--brand-50: #f6f5f9;--brand-100: #ebe8f2;--brand-200: #d7d0e6;--brand-300: #baaed5;--brand-400: #9a88c3;--brand-500: #7a62b2;--brand-600: #644d98;--brand-700: #52417c;--brand-800: #433564;--brand-900: #362b4f;--brand-50-rgb: 246, 245, 249;--brand-100-rgb: 235, 232, 242;--brand-200-rgb: 215, 208, 230;--brand-300-rgb: 186, 174, 213;--brand-400-rgb: 154, 136, 195;--brand-500-rgb: 122, 98, 178;--brand-600-rgb: 100, 77, 152;--brand-700-rgb: 82, 65, 124;--brand-800-rgb: 67, 53, 100;--brand-900-rgb: 54, 43, 79;--brand2-50: #f6f5f9;--brand2-100: #ebe8f2;--brand2-200: #d7d0e6;--brand2-300: #baaed5;--brand2-400: #9a88c3;--brand2-500: #7a62b2;--brand2-600: #644d98;--brand2-700: #52417c;--brand2-800: #433564;--brand2-900: #362b4f;--brand2-50-rgb: 246, 245, 249;--brand2-100-rgb: 235, 232, 242;--brand2-200-rgb: 215, 208, 230;--brand2-300-rgb: 186, 174, 213;--brand2-400-rgb: 154, 136, 195;--brand2-500-rgb: 122, 98, 178;--brand2-600-rgb: 100, 77, 152;--brand2-700-rgb: 82, 65, 124;--brand2-800-rgb: 67, 53, 100;--brand2-900-rgb: 54, 43, 79;--brand3-50: #f6f5f9;--brand3-100: #ebe8f2;--brand3-200: #d7d0e6;--brand3-300: #baaed5;--brand3-400: #9a88c3;--brand3-500: #7a62b2;--brand3-600: #644d98;--brand3-700: #52417c;--brand3-800: #433564;--brand3-900: #362b4f;--brand3-50-rgb: 246, 245, 249;--brand3-100-rgb: 235, 232, 242;--brand3-200-rgb: 215, 208, 230;--brand3-300-rgb: 186, 174, 213;--brand3-400-rgb: 154, 136, 195;--brand3-500-rgb: 122, 98, 178;--brand3-600-rgb: 100, 77, 152;--brand3-700-rgb: 82, 65, 124;--brand3-800-rgb: 67, 53, 100;--brand3-900-rgb: 54, 43, 79;--tint-page: #faf9fc;--tint-page-rgb: 250, 249, 252;--tint-faint: #fbfbfc;--tint-faint-rgb: 251, 251, 252;--tint-soft: #f5f4f9;--tint-soft-rgb: 245, 244, 249;--tint-soft-2: #f6f6f9;--tint-soft-2-rgb: 246, 246, 249;--tint-item: #efecf4;--tint-item-rgb: 239, 236, 244;--tint-strong: #e8e4f0;--tint-strong-rgb: 232, 228, 240;--brand-dark-accent: #9a88c3;--brand-dark-accent-rgb: 154, 136, 195}[data-accent=lavender]:not([data-theme=dark]){--bg: #f8f7fa;--bg-alt: #f2f0f7;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fafafc 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f4f3f8 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f8f7fa;--page: #f8f7fa;--color-background: #f8f7fa;--surface-muted: #f2f0f7;--card-hover: #fafafc;--card-hover-bg: #fafafc;--sidebar-bg: rgba(247, 246, 250, .95);--sidebar-item-bg: rgba(240, 238, 245, .65)}[data-theme=dark][data-accent=lavender]{--bg: #14151d;--bg-alt: #181924;--bg-gradient: linear-gradient(180deg, #14151d 0%, #1b1c2b 100%);--accent-strong: #baaed5;--dk-bd-bfdbfe: #474058;--dk-bd-c7d2fe: #474058;--dk-bd-c7d7fc: #474058;--dk-bd-d9e4ff: #474058;--dk-bd-dbeafe: #474058;--dk-bd-ddc4fa: #494259;--dk-bd-e0d4ff: #494259;--dk-bg-bfdbfe: #322d3c;--dk-bg-c7e3ff: #322d3c;--dk-bg-d4e3fd: #322d3c;--dk-bg-d7e7ffa92: rgba(32, 30, 36, .92);--dk-bg-dbeafe: #322d3c;--dk-bg-dbeafea55: rgba(32, 30, 36, .55);--dk-bg-dbeafea60: rgba(32, 30, 36, .6);--dk-bg-dbeafea62: rgba(32, 30, 36, .62);--dk-bg-dbeafea65: rgba(32, 30, 36, .65);--dk-bg-dbeafea70: rgba(32, 30, 36, .7);--dk-bg-dbeafea72: rgba(32, 30, 36, .72);--dk-bg-dbeafea78: rgba(32, 30, 36, .78);--dk-bg-dbeafea90: rgba(32, 30, 36, .9);--dk-bg-dbeafea95: rgba(32, 30, 36, .95);--dk-bg-dbeafea96: rgba(32, 30, 36, .96);--dk-bg-dce8ff: #322d3c;--dk-bg-e0e7ff: #322d3c;--dk-bg-e2eefaa60: rgba(32, 30, 36, .6);--dk-bg-e2eefaa65: rgba(32, 30, 36, .65);--dk-bg-e7eefe: #322d3c;--dk-bg-e8e6f8: #332f3d;--dk-bg-e8f0fe: #322d3c;--dk-bg-eaf1ff: #322d3c;--dk-bg-ecf5ffa96: rgba(32, 30, 36, .96);--dk-bg-ede9fe: #34303d;--dk-bg-edf2f7: #252429;--dk-bg-eef2fe: #252429;--dk-bg-eef5ff: #252429;--dk-bg-eff6ff: #252429;--dk-bg-eff6ffa62: rgba(32, 30, 36, .62);--dk-bg-eff6ffa65: rgba(32, 30, 36, .65);--dk-bg-eff6ffa66: rgba(32, 30, 36, .66);--dk-bg-eff6ffa70: rgba(32, 30, 36, .7);--dk-bg-eff6ffa72: rgba(32, 30, 36, .72);--dk-bg-eff6ffa90: rgba(32, 30, 36, .9);--dk-bg-eff6ffa96: rgba(32, 30, 36, .96);--dk-bg-f0eeff: #252429;--dk-bg-f0effe: #252429;--dk-bg-f0f0ff: #252429;--dk-bg-f0f6ff: #252429;--dk-bg-f0f7ff: #252429;--dk-bg-f1f5f9: #252429;--dk-bg-f1f5f9a60: rgba(32, 30, 36, .6);--dk-bg-f1f5f9a90: rgba(32, 30, 36, .9);--dk-bg-f1f5f9a95: rgba(32, 30, 36, .95);--dk-bg-f1f8ffa90: rgba(32, 30, 36, .9);--dk-bg-f3e8ff: #34303d;--dk-bg-f4f7ff: #201e24;--dk-bg-f4f8fca92: rgba(32, 30, 36, .92);--dk-bg-f5f0ff: #252429;--dk-bg-f5f8ff: #201e24;--dk-bg-f5faffa60: rgba(32, 30, 36, .6);--dk-bg-f6faffa92: rgba(32, 30, 36, .92);--dk-bg-f6faffa94: rgba(32, 30, 36, .94);--dk-bg-f6faffa98: rgba(32, 30, 36, .98);--dk-bg-f8fafc: #201e24;--dk-bg-f8fafca60: rgba(32, 30, 36, .6);--dk-bg-f8fafca70: rgba(32, 30, 36, .7);--dk-bg-f8fafca90: rgba(32, 30, 36, .9);--dk-bg-f8fafca92: rgba(32, 30, 36, .92);--dk-bg-f8fafca95: rgba(32, 30, 36, .95);--dk-bg-f8fafca98: rgba(32, 30, 36, .98);--dk-bg-f8faff: #201e24;--dk-bg-f8faffa80: rgba(32, 30, 36, .8);--dk-bg-f8fbff: #201e24;--dk-bg-f8fbffa80: rgba(32, 30, 36, .8);--dk-bg-faf5ff: #201e24;--dk-bg-fbfbfe: #201e24;--dk-bg-fbfdff: #201e24;--dk-fg-0d2b4f: #b5abce;--dk-fg-0f172a: #e0dfe3;--dk-fg-101828a20: rgba(242, 241, 244, .2);--dk-fg-102344a72: rgba(242, 241, 244, .72);--dk-fg-102344a74: rgba(242, 241, 244, .74);--dk-fg-102344a85: rgba(242, 241, 244, .85);--dk-fg-111827: #e1dfe4;--dk-fg-14142b: #dfdde2;--dk-fg-163a76: #b6abce;--dk-fg-172033: #dbd9df;--dk-fg-1d4ed8: #b5aacf;--dk-fg-1d62d0: #b6aad0;--dk-fg-1e1b4b: #b7afca;--dk-fg-1e40af: #b6abcf;--dk-fg-2c4db5: #b6adcc;--dk-fg-3159b8: #b7aecb;--dk-fg-334155: #b7afca;--dk-fg-344054: #b7afca;--dk-fg-355081: #b7afca;--dk-fg-3730a3: #b7afca;--dk-fg-475569: #b7afca;--dk-fg-5b21b6: #b6acce;--dk-fg-64748b: #b7afca;--dk-fg-667085: #b7afca;--dk-fg-6b21a8: #b6accd;--dk-fg-6b21c8: #b5abce;--dk-fg-6d6d8f: #b7afca;--dk-fg-7e22ce: #b5abce;--brand2-500: #baaed5;--brand2-600: #9a88c3;--brand2-700: #7a62b2;--brand2-800: #644d98;--brand2-900: #52417c;--brand3-500: #baaed5;--brand3-600: #9a88c3;--brand3-700: #7a62b2;--brand3-800: #644d98;--brand3-900: #52417c;--brand2-500-rgb: 186, 174, 213;--brand2-600-rgb: 154, 136, 195;--brand2-700-rgb: 122, 98, 178;--brand2-800-rgb: 100, 77, 152;--brand2-900-rgb: 82, 65, 124;--brand3-500-rgb: 186, 174, 213;--brand3-600-rgb: 154, 136, 195;--brand3-700-rgb: 122, 98, 178;--brand3-800-rgb: 100, 77, 152;--brand3-900-rgb: 82, 65, 124;--sidebar-bg: rgba(23, 24, 37, .96)}[data-accent=rose]{--brand-50: #f9f5f6;--brand-100: #f2e8eb;--brand-200: #e6d1d6;--brand-300: #d5afb8;--brand-400: #c38996;--brand-500: #b26274;--brand-600: #984e5f;--brand-700: #7b414f;--brand-800: #633641;--brand-900: #4e2c34;--brand-50-rgb: 249, 245, 246;--brand-100-rgb: 242, 232, 235;--brand-200-rgb: 230, 209, 214;--brand-300-rgb: 213, 175, 184;--brand-400-rgb: 195, 137, 150;--brand-500-rgb: 178, 98, 116;--brand-600-rgb: 152, 78, 95;--brand-700-rgb: 123, 65, 79;--brand-800-rgb: 99, 54, 65;--brand-900-rgb: 78, 44, 52;--brand2-50: #f9f5f6;--brand2-100: #f2e8eb;--brand2-200: #e6d1d6;--brand2-300: #d5afb8;--brand2-400: #c38996;--brand2-500: #b26274;--brand2-600: #984e5f;--brand2-700: #7b414f;--brand2-800: #633641;--brand2-900: #4e2c34;--brand2-50-rgb: 249, 245, 246;--brand2-100-rgb: 242, 232, 235;--brand2-200-rgb: 230, 209, 214;--brand2-300-rgb: 213, 175, 184;--brand2-400-rgb: 195, 137, 150;--brand2-500-rgb: 178, 98, 116;--brand2-600-rgb: 152, 78, 95;--brand2-700-rgb: 123, 65, 79;--brand2-800-rgb: 99, 54, 65;--brand2-900-rgb: 78, 44, 52;--brand3-50: #f9f5f6;--brand3-100: #f2e8eb;--brand3-200: #e6d1d6;--brand3-300: #d5afb8;--brand3-400: #c38996;--brand3-500: #b26274;--brand3-600: #984e5f;--brand3-700: #7b414f;--brand3-800: #633641;--brand3-900: #4e2c34;--brand3-50-rgb: 249, 245, 246;--brand3-100-rgb: 242, 232, 235;--brand3-200-rgb: 230, 209, 214;--brand3-300-rgb: 213, 175, 184;--brand3-400-rgb: 195, 137, 150;--brand3-500-rgb: 178, 98, 116;--brand3-600-rgb: 152, 78, 95;--brand3-700-rgb: 123, 65, 79;--brand3-800-rgb: 99, 54, 65;--brand3-900-rgb: 78, 44, 52;--tint-page: #fcf9fa;--tint-page-rgb: 252, 249, 250;--tint-faint: #fcfbfb;--tint-faint-rgb: 252, 251, 251;--tint-soft: #f9f4f5;--tint-soft-rgb: 249, 244, 245;--tint-soft-2: #f9f6f6;--tint-soft-2-rgb: 249, 246, 246;--tint-item: #f4ecef;--tint-item-rgb: 244, 236, 239;--tint-strong: #f0e4e8;--tint-strong-rgb: 240, 228, 232;--brand-dark-accent: #c38996;--brand-dark-accent-rgb: 195, 137, 150}[data-accent=rose]:not([data-theme=dark]){--bg: #faf7f8;--bg-alt: #f7f0f2;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fcfafa 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f8f3f4 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #faf7f8;--page: #faf7f8;--color-background: #faf7f8;--surface-muted: #f7f0f2;--card-hover: #fcfafa;--card-hover-bg: #fcfafa;--sidebar-bg: rgba(250, 246, 247, .95);--sidebar-item-bg: rgba(245, 238, 240, .65)}[data-theme=dark][data-accent=rose]{--bg: #181519;--bg-alt: #1c1a20;--bg-gradient: linear-gradient(180deg, #181519 0%, #201c25 100%);--accent-strong: #d5afb8;--dk-bd-bfdbfe: #584045;--dk-bd-c7d2fe: #584045;--dk-bd-c7d7fc: #584045;--dk-bd-d9e4ff: #584045;--dk-bd-dbeafe: #584045;--dk-bd-ddc4fa: #594247;--dk-bd-e0d4ff: #594247;--dk-bg-bfdbfe: #3c2d30;--dk-bg-c7e3ff: #3c2d30;--dk-bg-d4e3fd: #3c2d30;--dk-bg-d7e7ffa92: rgba(36, 30, 32, .92);--dk-bg-dbeafe: #3c2d30;--dk-bg-dbeafea55: rgba(36, 30, 32, .55);--dk-bg-dbeafea60: rgba(36, 30, 32, .6);--dk-bg-dbeafea62: rgba(36, 30, 32, .62);--dk-bg-dbeafea65: rgba(36, 30, 32, .65);--dk-bg-dbeafea70: rgba(36, 30, 32, .7);--dk-bg-dbeafea72: rgba(36, 30, 32, .72);--dk-bg-dbeafea78: rgba(36, 30, 32, .78);--dk-bg-dbeafea90: rgba(36, 30, 32, .9);--dk-bg-dbeafea95: rgba(36, 30, 32, .95);--dk-bg-dbeafea96: rgba(36, 30, 32, .96);--dk-bg-dce8ff: #3c2d30;--dk-bg-e0e7ff: #3c2d30;--dk-bg-e2eefaa60: rgba(36, 30, 32, .6);--dk-bg-e2eefaa65: rgba(36, 30, 32, .65);--dk-bg-e7eefe: #3c2d30;--dk-bg-e8e6f8: #3d2f32;--dk-bg-e8f0fe: #3c2d30;--dk-bg-eaf1ff: #3c2d30;--dk-bg-ecf5ffa96: rgba(36, 30, 32, .96);--dk-bg-ede9fe: #3d3033;--dk-bg-edf2f7: #292425;--dk-bg-eef2fe: #292425;--dk-bg-eef5ff: #292425;--dk-bg-eff6ff: #292425;--dk-bg-eff6ffa62: rgba(36, 30, 32, .62);--dk-bg-eff6ffa65: rgba(36, 30, 32, .65);--dk-bg-eff6ffa66: rgba(36, 30, 32, .66);--dk-bg-eff6ffa70: rgba(36, 30, 32, .7);--dk-bg-eff6ffa72: rgba(36, 30, 32, .72);--dk-bg-eff6ffa90: rgba(36, 30, 32, .9);--dk-bg-eff6ffa96: rgba(36, 30, 32, .96);--dk-bg-f0eeff: #292425;--dk-bg-f0effe: #292425;--dk-bg-f0f0ff: #292425;--dk-bg-f0f6ff: #292425;--dk-bg-f0f7ff: #292425;--dk-bg-f1f5f9: #292425;--dk-bg-f1f5f9a60: rgba(36, 30, 32, .6);--dk-bg-f1f5f9a90: rgba(36, 30, 32, .9);--dk-bg-f1f5f9a95: rgba(36, 30, 32, .95);--dk-bg-f1f8ffa90: rgba(36, 30, 32, .9);--dk-bg-f3e8ff: #3d3033;--dk-bg-f4f7ff: #241e20;--dk-bg-f4f8fca92: rgba(36, 30, 32, .92);--dk-bg-f5f0ff: #292425;--dk-bg-f5f8ff: #241e20;--dk-bg-f5faffa60: rgba(36, 30, 32, .6);--dk-bg-f6faffa92: rgba(36, 30, 32, .92);--dk-bg-f6faffa94: rgba(36, 30, 32, .94);--dk-bg-f6faffa98: rgba(36, 30, 32, .98);--dk-bg-f8fafc: #241e20;--dk-bg-f8fafca60: rgba(36, 30, 32, .6);--dk-bg-f8fafca70: rgba(36, 30, 32, .7);--dk-bg-f8fafca90: rgba(36, 30, 32, .9);--dk-bg-f8fafca92: rgba(36, 30, 32, .92);--dk-bg-f8fafca95: rgba(36, 30, 32, .95);--dk-bg-f8fafca98: rgba(36, 30, 32, .98);--dk-bg-f8faff: #241e20;--dk-bg-f8faffa80: rgba(36, 30, 32, .8);--dk-bg-f8fbff: #241e20;--dk-bg-f8fbffa80: rgba(36, 30, 32, .8);--dk-bg-faf5ff: #241e20;--dk-bg-fbfbfe: #241e20;--dk-bg-fbfdff: #241e20;--dk-fg-0d2b4f: #ceabb3;--dk-fg-0f172a: #e3dfe0;--dk-fg-101828a20: rgba(244, 241, 242, .2);--dk-fg-102344a72: rgba(244, 241, 242, .72);--dk-fg-102344a74: rgba(244, 241, 242, .74);--dk-fg-102344a85: rgba(244, 241, 242, .85);--dk-fg-111827: #e4dfe0;--dk-fg-14142b: #e2ddde;--dk-fg-163a76: #ceabb3;--dk-fg-172033: #dfd9db;--dk-fg-1d4ed8: #cfaab2;--dk-fg-1d62d0: #d0aab3;--dk-fg-1e1b4b: #caafb5;--dk-fg-1e40af: #cfabb3;--dk-fg-2c4db5: #ccadb4;--dk-fg-3159b8: #cbaeb5;--dk-fg-334155: #caafb5;--dk-fg-344054: #caafb5;--dk-fg-355081: #caafb5;--dk-fg-3730a3: #caafb5;--dk-fg-475569: #caafb5;--dk-fg-5b21b6: #ceacb4;--dk-fg-64748b: #caafb5;--dk-fg-667085: #caafb5;--dk-fg-6b21a8: #cdacb3;--dk-fg-6b21c8: #ceabb3;--dk-fg-6d6d8f: #caafb5;--dk-fg-7e22ce: #ceabb3;--brand2-500: #d5afb8;--brand2-600: #c38996;--brand2-700: #b26274;--brand2-800: #984e5f;--brand2-900: #7b414f;--brand3-500: #d5afb8;--brand3-600: #c38996;--brand3-700: #b26274;--brand3-800: #984e5f;--brand3-900: #7b414f;--brand2-500-rgb: 213, 175, 184;--brand2-600-rgb: 195, 137, 150;--brand2-700-rgb: 178, 98, 116;--brand2-800-rgb: 152, 78, 95;--brand2-900-rgb: 123, 65, 79;--brand3-500-rgb: 213, 175, 184;--brand3-600-rgb: 195, 137, 150;--brand3-700-rgb: 178, 98, 116;--brand3-800-rgb: 152, 78, 95;--brand3-900-rgb: 123, 65, 79;--sidebar-bg: rgba(27, 24, 32, .96)}[data-accent=mocha]{--brand-50: #f9f7f6;--brand-100: #f1ece9;--brand-200: #e4dad3;--brand-300: #d1bfb3;--brand-400: #bda18e;--brand-500: #ab8369;--brand-600: #916d54;--brand-700: #765a47;--brand-800: #5e493b;--brand-900: #4a3b30;--brand-50-rgb: 249, 247, 246;--brand-100-rgb: 241, 236, 233;--brand-200-rgb: 228, 218, 211;--brand-300-rgb: 209, 191, 179;--brand-400-rgb: 189, 161, 142;--brand-500-rgb: 171, 131, 105;--brand-600-rgb: 145, 109, 84;--brand-700-rgb: 118, 90, 71;--brand-800-rgb: 94, 73, 59;--brand-900-rgb: 74, 59, 48;--brand2-50: #f9f7f6;--brand2-100: #f1ece9;--brand2-200: #e4dad3;--brand2-300: #d1bfb3;--brand2-400: #bda18e;--brand2-500: #ab8369;--brand2-600: #916d54;--brand2-700: #765a47;--brand2-800: #5e493b;--brand2-900: #4a3b30;--brand2-50-rgb: 249, 247, 246;--brand2-100-rgb: 241, 236, 233;--brand2-200-rgb: 228, 218, 211;--brand2-300-rgb: 209, 191, 179;--brand2-400-rgb: 189, 161, 142;--brand2-500-rgb: 171, 131, 105;--brand2-600-rgb: 145, 109, 84;--brand2-700-rgb: 118, 90, 71;--brand2-800-rgb: 94, 73, 59;--brand2-900-rgb: 74, 59, 48;--brand3-50: #f9f7f6;--brand3-100: #f1ece9;--brand3-200: #e4dad3;--brand3-300: #d1bfb3;--brand3-400: #bda18e;--brand3-500: #ab8369;--brand3-600: #916d54;--brand3-700: #765a47;--brand3-800: #5e493b;--brand3-900: #4a3b30;--brand3-50-rgb: 249, 247, 246;--brand3-100-rgb: 241, 236, 233;--brand3-200-rgb: 228, 218, 211;--brand3-300-rgb: 209, 191, 179;--brand3-400-rgb: 189, 161, 142;--brand3-500-rgb: 171, 131, 105;--brand3-600-rgb: 145, 109, 84;--brand3-700-rgb: 118, 90, 71;--brand3-800-rgb: 94, 73, 59;--brand3-900-rgb: 74, 59, 48;--tint-page: #fcfbfa;--tint-page-rgb: 252, 251, 250;--tint-faint: #fcfbfb;--tint-faint-rgb: 252, 251, 251;--tint-soft: #f9f6f5;--tint-soft-rgb: 249, 246, 245;--tint-soft-2: #f9f7f6;--tint-soft-2-rgb: 249, 247, 246;--tint-item: #f4f0ed;--tint-item-rgb: 244, 240, 237;--tint-strong: #efe9e5;--tint-strong-rgb: 239, 233, 229;--brand-dark-accent: #bda18e;--brand-dark-accent-rgb: 189, 161, 142}[data-accent=mocha]:not([data-theme=dark]){--bg: #faf9f8;--bg-alt: #f6f3f1;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fcfbfa 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f8f5f4 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #faf9f8;--page: #faf9f8;--color-background: #faf9f8;--surface-muted: #f6f3f1;--card-hover: #fcfbfa;--card-hover-bg: #fcfbfa;--sidebar-bg: rgba(250, 248, 247, .95);--sidebar-item-bg: rgba(245, 241, 239, .65)}[data-theme=dark][data-accent=mocha]{--bg: #171719;--bg-alt: #1b1c1f;--bg-gradient: linear-gradient(180deg, #171719 0%, #1f2024 100%);--accent-strong: #d1bfb3;--dk-bd-bfdbfe: #564a42;--dk-bd-c7d2fe: #564a42;--dk-bd-c7d7fc: #564a42;--dk-bd-d9e4ff: #564a42;--dk-bd-dbeafe: #564a42;--dk-bd-ddc4fa: #574b44;--dk-bd-e0d4ff: #574b44;--dk-bg-bfdbfe: #3b332e;--dk-bg-c7e3ff: #3b332e;--dk-bg-d4e3fd: #3b332e;--dk-bg-d7e7ffa92: rgba(35, 33, 31, .92);--dk-bg-dbeafe: #3b332e;--dk-bg-dbeafea55: rgba(35, 33, 31, .55);--dk-bg-dbeafea60: rgba(35, 33, 31, .6);--dk-bg-dbeafea62: rgba(35, 33, 31, .62);--dk-bg-dbeafea65: rgba(35, 33, 31, .65);--dk-bg-dbeafea70: rgba(35, 33, 31, .7);--dk-bg-dbeafea72: rgba(35, 33, 31, .72);--dk-bg-dbeafea78: rgba(35, 33, 31, .78);--dk-bg-dbeafea90: rgba(35, 33, 31, .9);--dk-bg-dbeafea95: rgba(35, 33, 31, .95);--dk-bg-dbeafea96: rgba(35, 33, 31, .96);--dk-bg-dce8ff: #3b332e;--dk-bg-e0e7ff: #3b332e;--dk-bg-e2eefaa60: rgba(35, 33, 31, .6);--dk-bg-e2eefaa65: rgba(35, 33, 31, .65);--dk-bg-e7eefe: #3b332e;--dk-bg-e8e6f8: #3c3530;--dk-bg-e8f0fe: #3b332e;--dk-bg-eaf1ff: #3b332e;--dk-bg-ecf5ffa96: rgba(35, 33, 31, .96);--dk-bg-ede9fe: #3c3531;--dk-bg-edf2f7: #292624;--dk-bg-eef2fe: #292624;--dk-bg-eef5ff: #292624;--dk-bg-eff6ff: #292624;--dk-bg-eff6ffa62: rgba(35, 33, 31, .62);--dk-bg-eff6ffa65: rgba(35, 33, 31, .65);--dk-bg-eff6ffa66: rgba(35, 33, 31, .66);--dk-bg-eff6ffa70: rgba(35, 33, 31, .7);--dk-bg-eff6ffa72: rgba(35, 33, 31, .72);--dk-bg-eff6ffa90: rgba(35, 33, 31, .9);--dk-bg-eff6ffa96: rgba(35, 33, 31, .96);--dk-bg-f0eeff: #292624;--dk-bg-f0effe: #292624;--dk-bg-f0f0ff: #292624;--dk-bg-f0f6ff: #292624;--dk-bg-f0f7ff: #292624;--dk-bg-f1f5f9: #292624;--dk-bg-f1f5f9a60: rgba(35, 33, 31, .6);--dk-bg-f1f5f9a90: rgba(35, 33, 31, .9);--dk-bg-f1f5f9a95: rgba(35, 33, 31, .95);--dk-bg-f1f8ffa90: rgba(35, 33, 31, .9);--dk-bg-f3e8ff: #3c3531;--dk-bg-f4f7ff: #23211f;--dk-bg-f4f8fca92: rgba(35, 33, 31, .92);--dk-bg-f5f0ff: #292624;--dk-bg-f5f8ff: #23211f;--dk-bg-f5faffa60: rgba(35, 33, 31, .6);--dk-bg-f6faffa92: rgba(35, 33, 31, .92);--dk-bg-f6faffa94: rgba(35, 33, 31, .94);--dk-bg-f6faffa98: rgba(35, 33, 31, .98);--dk-bg-f8fafc: #23211f;--dk-bg-f8fafca60: rgba(35, 33, 31, .6);--dk-bg-f8fafca70: rgba(35, 33, 31, .7);--dk-bg-f8fafca90: rgba(35, 33, 31, .9);--dk-bg-f8fafca92: rgba(35, 33, 31, .92);--dk-bg-f8fafca95: rgba(35, 33, 31, .95);--dk-bg-f8fafca98: rgba(35, 33, 31, .98);--dk-bg-f8faff: #23211f;--dk-bg-f8faffa80: rgba(35, 33, 31, .8);--dk-bg-f8fbff: #23211f;--dk-bg-f8fbffa80: rgba(35, 33, 31, .8);--dk-bg-faf5ff: #23211f;--dk-bg-fbfbfe: #23211f;--dk-bg-fbfdff: #23211f;--dk-fg-0d2b4f: #cbb9ae;--dk-fg-0f172a: #e3e1df;--dk-fg-101828a20: rgba(244, 242, 241, .2);--dk-fg-102344a72: rgba(244, 242, 241, .72);--dk-fg-102344a74: rgba(244, 242, 241, .74);--dk-fg-102344a85: rgba(244, 242, 241, .85);--dk-fg-111827: #e3e1e0;--dk-fg-14142b: #e2dfdd;--dk-fg-163a76: #cbbaae;--dk-fg-172033: #dedcda;--dk-fg-1d4ed8: #ccb9ad;--dk-fg-1d62d0: #ccbaae;--dk-fg-1e1b4b: #c8bab1;--dk-fg-1e40af: #ccbaae;--dk-fg-2c4db5: #c9bab0;--dk-fg-3159b8: #c8bab1;--dk-fg-334155: #c8bab1;--dk-fg-344054: #c8bab1;--dk-fg-355081: #c8bab1;--dk-fg-3730a3: #c8bab1;--dk-fg-475569: #c8bab1;--dk-fg-5b21b6: #cbbaaf;--dk-fg-64748b: #c8bab1;--dk-fg-667085: #c8bab1;--dk-fg-6b21a8: #cabaaf;--dk-fg-6b21c8: #cbb9ae;--dk-fg-6d6d8f: #c8bab1;--dk-fg-7e22ce: #cbb9ae;--brand2-500: #d1bfb3;--brand2-600: #bda18e;--brand2-700: #ab8369;--brand2-800: #916d54;--brand2-900: #765a47;--brand3-500: #d1bfb3;--brand3-600: #bda18e;--brand3-700: #ab8369;--brand3-800: #916d54;--brand3-900: #765a47;--brand2-500-rgb: 209, 191, 179;--brand2-600-rgb: 189, 161, 142;--brand2-700-rgb: 171, 131, 105;--brand2-800-rgb: 145, 109, 84;--brand2-900-rgb: 118, 90, 71;--brand3-500-rgb: 209, 191, 179;--brand3-600-rgb: 189, 161, 142;--brand3-700-rgb: 171, 131, 105;--brand3-800-rgb: 145, 109, 84;--brand3-900-rgb: 118, 90, 71;--sidebar-bg: rgba(26, 27, 32, .96)}[data-accent=ocean]{--brand-50: #f5f9fa;--brand-100: #e7f1f3;--brand-200: #cfe3e8;--brand-300: #abcfd9;--brand-400: #82bbc9;--brand-500: #458ea0;--brand-600: #3b7381;--brand-700: #325c67;--brand-800: #294951;--brand-900: #20363c;--brand-50-rgb: 245, 249, 250;--brand-100-rgb: 231, 241, 243;--brand-200-rgb: 207, 227, 232;--brand-300-rgb: 171, 207, 217;--brand-400-rgb: 130, 187, 201;--brand-500-rgb: 69, 142, 160;--brand-600-rgb: 59, 115, 129;--brand-700-rgb: 50, 92, 103;--brand-800-rgb: 41, 73, 81;--brand-900-rgb: 32, 54, 60;--brand2-50: #f5f9fa;--brand2-100: #e7f1f3;--brand2-200: #cfe3e8;--brand2-300: #abcfd9;--brand2-400: #82bbc9;--brand2-500: #458ea0;--brand2-600: #3b7381;--brand2-700: #325c67;--brand2-800: #294951;--brand2-900: #20363c;--brand2-50-rgb: 245, 249, 250;--brand2-100-rgb: 231, 241, 243;--brand2-200-rgb: 207, 227, 232;--brand2-300-rgb: 171, 207, 217;--brand2-400-rgb: 130, 187, 201;--brand2-500-rgb: 69, 142, 160;--brand2-600-rgb: 59, 115, 129;--brand2-700-rgb: 50, 92, 103;--brand2-800-rgb: 41, 73, 81;--brand2-900-rgb: 32, 54, 60;--brand3-50: #f5f9fa;--brand3-100: #e7f1f3;--brand3-200: #cfe3e8;--brand3-300: #abcfd9;--brand3-400: #82bbc9;--brand3-500: #458ea0;--brand3-600: #3b7381;--brand3-700: #325c67;--brand3-800: #294951;--brand3-900: #20363c;--brand3-50-rgb: 245, 249, 250;--brand3-100-rgb: 231, 241, 243;--brand3-200-rgb: 207, 227, 232;--brand3-300-rgb: 171, 207, 217;--brand3-400-rgb: 130, 187, 201;--brand3-500-rgb: 69, 142, 160;--brand3-600-rgb: 59, 115, 129;--brand3-700-rgb: 50, 92, 103;--brand3-800-rgb: 41, 73, 81;--brand3-900-rgb: 32, 54, 60;--tint-page: #f9fcfc;--tint-page-rgb: 249, 252, 252;--tint-faint: #fbfcfd;--tint-faint-rgb: 251, 252, 253;--tint-soft: #f4f9fa;--tint-soft-rgb: 244, 249, 250;--tint-soft-2: #f6f9fa;--tint-soft-2-rgb: 246, 249, 250;--tint-item: #ecf4f5;--tint-item-rgb: 236, 244, 245;--tint-strong: #e3eff1;--tint-strong-rgb: 227, 239, 241;--brand-dark-accent: #82bbc9;--brand-dark-accent-rgb: 130, 187, 201}[data-accent=ocean]:not([data-theme=dark]){--bg: #f7fafb;--bg-alt: #f0f6f8;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fafcfc 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f3f8f9 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f7fafb;--page: #f7fafb;--color-background: #f7fafb;--surface-muted: #f0f6f8;--card-hover: #fafcfc;--card-hover-bg: #fafcfc;--sidebar-bg: rgba(246, 250, 251, .95);--sidebar-item-bg: rgba(237, 245, 246, .65)}[data-theme=dark][data-accent=ocean]{--bg: #13191d;--bg-alt: #161e24;--bg-gradient: linear-gradient(180deg, #13191d 0%, #18232c 100%);--accent-strong: #abcfd9;--dk-bd-bfdbfe: #3d555b;--dk-bd-c7d2fe: #3d555b;--dk-bd-c7d7fc: #3d555b;--dk-bd-d9e4ff: #3d555b;--dk-bd-dbeafe: #3d555b;--dk-bd-ddc4fa: #3f565c;--dk-bd-e0d4ff: #3f565c;--dk-bg-bfdbfe: #2b3a3e;--dk-bg-c7e3ff: #2b3a3e;--dk-bg-d4e3fd: #2b3a3e;--dk-bg-d7e7ffa92: rgba(30, 35, 36, .92);--dk-bg-dbeafe: #2b3a3e;--dk-bg-dbeafea55: rgba(30, 35, 36, .55);--dk-bg-dbeafea60: rgba(30, 35, 36, .6);--dk-bg-dbeafea62: rgba(30, 35, 36, .62);--dk-bg-dbeafea65: rgba(30, 35, 36, .65);--dk-bg-dbeafea70: rgba(30, 35, 36, .7);--dk-bg-dbeafea72: rgba(30, 35, 36, .72);--dk-bg-dbeafea78: rgba(30, 35, 36, .78);--dk-bg-dbeafea90: rgba(30, 35, 36, .9);--dk-bg-dbeafea95: rgba(30, 35, 36, .95);--dk-bg-dbeafea96: rgba(30, 35, 36, .96);--dk-bg-dce8ff: #2b3a3e;--dk-bg-e0e7ff: #2b3a3e;--dk-bg-e2eefaa60: rgba(30, 35, 36, .6);--dk-bg-e2eefaa65: rgba(30, 35, 36, .65);--dk-bg-e7eefe: #2b3a3e;--dk-bg-e8e6f8: #2e3b3e;--dk-bg-e8f0fe: #2b3a3e;--dk-bg-eaf1ff: #2b3a3e;--dk-bg-ecf5ffa96: rgba(30, 35, 36, .96);--dk-bg-ede9fe: #2e3b3f;--dk-bg-edf2f7: #23292a;--dk-bg-eef2fe: #23292a;--dk-bg-eef5ff: #23292a;--dk-bg-eff6ff: #23292a;--dk-bg-eff6ffa62: rgba(30, 35, 36, .62);--dk-bg-eff6ffa65: rgba(30, 35, 36, .65);--dk-bg-eff6ffa66: rgba(30, 35, 36, .66);--dk-bg-eff6ffa70: rgba(30, 35, 36, .7);--dk-bg-eff6ffa72: rgba(30, 35, 36, .72);--dk-bg-eff6ffa90: rgba(30, 35, 36, .9);--dk-bg-eff6ffa96: rgba(30, 35, 36, .96);--dk-bg-f0eeff: #23292a;--dk-bg-f0effe: #23292a;--dk-bg-f0f0ff: #23292a;--dk-bg-f0f6ff: #23292a;--dk-bg-f0f7ff: #23292a;--dk-bg-f1f5f9: #23292a;--dk-bg-f1f5f9a60: rgba(30, 35, 36, .6);--dk-bg-f1f5f9a90: rgba(30, 35, 36, .9);--dk-bg-f1f5f9a95: rgba(30, 35, 36, .95);--dk-bg-f1f8ffa90: rgba(30, 35, 36, .9);--dk-bg-f3e8ff: #2e3b3f;--dk-bg-f4f7ff: #1e2324;--dk-bg-f4f8fca92: rgba(30, 35, 36, .92);--dk-bg-f5f0ff: #23292a;--dk-bg-f5f8ff: #1e2324;--dk-bg-f5faffa60: rgba(30, 35, 36, .6);--dk-bg-f6faffa92: rgba(30, 35, 36, .92);--dk-bg-f6faffa94: rgba(30, 35, 36, .94);--dk-bg-f6faffa98: rgba(30, 35, 36, .98);--dk-bg-f8fafc: #1e2324;--dk-bg-f8fafca60: rgba(30, 35, 36, .6);--dk-bg-f8fafca70: rgba(30, 35, 36, .7);--dk-bg-f8fafca90: rgba(30, 35, 36, .9);--dk-bg-f8fafca92: rgba(30, 35, 36, .92);--dk-bg-f8fafca95: rgba(30, 35, 36, .95);--dk-bg-f8fafca98: rgba(30, 35, 36, .98);--dk-bg-f8faff: #1e2324;--dk-bg-f8faffa80: rgba(30, 35, 36, .8);--dk-bg-f8fbff: #1e2324;--dk-bg-f8fbffa80: rgba(30, 35, 36, .8);--dk-bg-faf5ff: #1e2324;--dk-bg-fbfbfe: #1e2324;--dk-bg-fbfdff: #1e2324;--dk-fg-0d2b4f: #a7cad2;--dk-fg-0f172a: #dee3e4;--dk-fg-101828a20: rgba(240, 244, 245, .2);--dk-fg-102344a72: rgba(240, 244, 245, .72);--dk-fg-102344a74: rgba(240, 244, 245, .74);--dk-fg-102344a85: rgba(240, 244, 245, .85);--dk-fg-111827: #dfe3e4;--dk-fg-14142b: #dce1e3;--dk-fg-163a76: #a7c9d2;--dk-fg-172033: #d9dedf;--dk-fg-1d4ed8: #a5cad4;--dk-fg-1d62d0: #a6cbd4;--dk-fg-1e1b4b: #acc7cd;--dk-fg-1e40af: #a7cad3;--dk-fg-2c4db5: #aac8cf;--dk-fg-3159b8: #abc7ce;--dk-fg-334155: #acc7cd;--dk-fg-344054: #acc7cd;--dk-fg-355081: #acc7cd;--dk-fg-3730a3: #acc7cd;--dk-fg-475569: #acc7cd;--dk-fg-5b21b6: #a8cad2;--dk-fg-64748b: #acc7cd;--dk-fg-667085: #acc7cd;--dk-fg-6b21a8: #a8c9d1;--dk-fg-6b21c8: #a7cad2;--dk-fg-6d6d8f: #acc7cd;--dk-fg-7e22ce: #a7cad2;--brand2-500: #abcfd9;--brand2-600: #82bbc9;--brand2-700: #58a7bb;--brand2-800: #458ea0;--brand2-900: #3b7381;--brand3-500: #abcfd9;--brand3-600: #82bbc9;--brand3-700: #58a7bb;--brand3-800: #458ea0;--brand3-900: #3b7381;--brand2-500-rgb: 171, 207, 217;--brand2-600-rgb: 130, 187, 201;--brand2-700-rgb: 88, 167, 187;--brand2-800-rgb: 69, 142, 160;--brand2-900-rgb: 59, 115, 129;--brand3-500-rgb: 171, 207, 217;--brand3-600-rgb: 130, 187, 201;--brand3-700-rgb: 88, 167, 187;--brand3-800-rgb: 69, 142, 160;--brand3-900-rgb: 59, 115, 129;--sidebar-bg: rgba(20, 30, 38, .96)}[data-accent=forest]{--brand-50: #f3f7f5;--brand-100: #e2eeea;--brand-200: #c8dfd7;--brand-300: #a3ccbd;--brand-400: #72b69d;--brand-500: #479075;--brand-600: #3a6f5b;--brand-700: #31594a;--brand-800: #29473c;--brand-900: #21362e;--brand-50-rgb: 243, 247, 245;--brand-100-rgb: 226, 238, 234;--brand-200-rgb: 200, 223, 215;--brand-300-rgb: 163, 204, 189;--brand-400-rgb: 114, 182, 157;--brand-500-rgb: 71, 144, 117;--brand-600-rgb: 58, 111, 91;--brand-700-rgb: 49, 89, 74;--brand-800-rgb: 41, 71, 60;--brand-900-rgb: 33, 54, 46;--brand2-50: #f3f7f5;--brand2-100: #e2eeea;--brand2-200: #c8dfd7;--brand2-300: #a3ccbd;--brand2-400: #72b69d;--brand2-500: #479075;--brand2-600: #3a6f5b;--brand2-700: #31594a;--brand2-800: #29473c;--brand2-900: #21362e;--brand2-50-rgb: 243, 247, 245;--brand2-100-rgb: 226, 238, 234;--brand2-200-rgb: 200, 223, 215;--brand2-300-rgb: 163, 204, 189;--brand2-400-rgb: 114, 182, 157;--brand2-500-rgb: 71, 144, 117;--brand2-600-rgb: 58, 111, 91;--brand2-700-rgb: 49, 89, 74;--brand2-800-rgb: 41, 71, 60;--brand2-900-rgb: 33, 54, 46;--brand3-50: #f3f7f5;--brand3-100: #e2eeea;--brand3-200: #c8dfd7;--brand3-300: #a3ccbd;--brand3-400: #72b69d;--brand3-500: #479075;--brand3-600: #3a6f5b;--brand3-700: #31594a;--brand3-800: #29473c;--brand3-900: #21362e;--brand3-50-rgb: 243, 247, 245;--brand3-100-rgb: 226, 238, 234;--brand3-200-rgb: 200, 223, 215;--brand3-300-rgb: 163, 204, 189;--brand3-400-rgb: 114, 182, 157;--brand3-500-rgb: 71, 144, 117;--brand3-600-rgb: 58, 111, 91;--brand3-700-rgb: 49, 89, 74;--brand3-800-rgb: 41, 71, 60;--brand3-900-rgb: 33, 54, 46;--tint-page: #f8fbf9;--tint-page-rgb: 248, 251, 249;--tint-faint: #fafbfb;--tint-faint-rgb: 250, 251, 251;--tint-soft: #f2f6f4;--tint-soft-rgb: 242, 246, 244;--tint-soft-2: #f4f7f6;--tint-soft-2-rgb: 244, 247, 246;--tint-item: #e8f1ee;--tint-item-rgb: 232, 241, 238;--tint-strong: #deece7;--tint-strong-rgb: 222, 236, 231;--brand-dark-accent: #72b69d;--brand-dark-accent-rgb: 114, 182, 157}[data-accent=forest]:not([data-theme=dark]){--bg: #f5f9f7;--bg-alt: #edf4f1;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #f9fbfa 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f0f6f3 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f5f9f7;--page: #f5f9f7;--color-background: #f5f9f7;--surface-muted: #edf4f1;--card-hover: #f9fbfa;--card-hover-bg: #f9fbfa;--sidebar-bg: rgba(245, 248, 246, .95);--sidebar-item-bg: rgba(234, 242, 239, .65)}[data-theme=dark][data-accent=forest]{--bg: #121618;--bg-alt: #141b1f;--bg-gradient: linear-gradient(180deg, #121618 0%, #161f24 100%);--accent-strong: #a3ccbd;--dk-bd-bfdbfe: #40584f;--dk-bd-c7d2fe: #40584f;--dk-bd-c7d7fc: #40584f;--dk-bd-d9e4ff: #40584f;--dk-bd-dbeafe: #40584f;--dk-bd-ddc4fa: #425950;--dk-bd-e0d4ff: #425950;--dk-bg-bfdbfe: #2d3c36;--dk-bg-c7e3ff: #2d3c36;--dk-bg-d4e3fd: #2d3c36;--dk-bg-d7e7ffa92: rgba(30, 36, 34, .92);--dk-bg-dbeafe: #2d3c36;--dk-bg-dbeafea55: rgba(30, 36, 34, .55);--dk-bg-dbeafea60: rgba(30, 36, 34, .6);--dk-bg-dbeafea62: rgba(30, 36, 34, .62);--dk-bg-dbeafea65: rgba(30, 36, 34, .65);--dk-bg-dbeafea70: rgba(30, 36, 34, .7);--dk-bg-dbeafea72: rgba(30, 36, 34, .72);--dk-bg-dbeafea78: rgba(30, 36, 34, .78);--dk-bg-dbeafea90: rgba(30, 36, 34, .9);--dk-bg-dbeafea95: rgba(30, 36, 34, .95);--dk-bg-dbeafea96: rgba(30, 36, 34, .96);--dk-bg-dce8ff: #2d3c36;--dk-bg-e0e7ff: #2d3c36;--dk-bg-e2eefaa60: rgba(30, 36, 34, .6);--dk-bg-e2eefaa65: rgba(30, 36, 34, .65);--dk-bg-e7eefe: #2d3c36;--dk-bg-e8e6f8: #2f3d38;--dk-bg-e8f0fe: #2d3c36;--dk-bg-eaf1ff: #2d3c36;--dk-bg-ecf5ffa96: rgba(30, 36, 34, .96);--dk-bg-ede9fe: #303d38;--dk-bg-edf2f7: #242927;--dk-bg-eef2fe: #242927;--dk-bg-eef5ff: #242927;--dk-bg-eff6ff: #242927;--dk-bg-eff6ffa62: rgba(30, 36, 34, .62);--dk-bg-eff6ffa65: rgba(30, 36, 34, .65);--dk-bg-eff6ffa66: rgba(30, 36, 34, .66);--dk-bg-eff6ffa70: rgba(30, 36, 34, .7);--dk-bg-eff6ffa72: rgba(30, 36, 34, .72);--dk-bg-eff6ffa90: rgba(30, 36, 34, .9);--dk-bg-eff6ffa96: rgba(30, 36, 34, .96);--dk-bg-f0eeff: #242927;--dk-bg-f0effe: #242927;--dk-bg-f0f0ff: #242927;--dk-bg-f0f6ff: #242927;--dk-bg-f0f7ff: #242927;--dk-bg-f1f5f9: #242927;--dk-bg-f1f5f9a60: rgba(30, 36, 34, .6);--dk-bg-f1f5f9a90: rgba(30, 36, 34, .9);--dk-bg-f1f5f9a95: rgba(30, 36, 34, .95);--dk-bg-f1f8ffa90: rgba(30, 36, 34, .9);--dk-bg-f3e8ff: #303d38;--dk-bg-f4f7ff: #1e2422;--dk-bg-f4f8fca92: rgba(30, 36, 34, .92);--dk-bg-f5f0ff: #242927;--dk-bg-f5f8ff: #1e2422;--dk-bg-f5faffa60: rgba(30, 36, 34, .6);--dk-bg-f6faffa92: rgba(30, 36, 34, .92);--dk-bg-f6faffa94: rgba(30, 36, 34, .94);--dk-bg-f6faffa98: rgba(30, 36, 34, .98);--dk-bg-f8fafc: #1e2422;--dk-bg-f8fafca60: rgba(30, 36, 34, .6);--dk-bg-f8fafca70: rgba(30, 36, 34, .7);--dk-bg-f8fafca90: rgba(30, 36, 34, .9);--dk-bg-f8fafca92: rgba(30, 36, 34, .92);--dk-bg-f8fafca95: rgba(30, 36, 34, .95);--dk-bg-f8fafca98: rgba(30, 36, 34, .98);--dk-bg-f8faff: #1e2422;--dk-bg-f8faffa80: rgba(30, 36, 34, .8);--dk-bg-f8fbff: #1e2422;--dk-bg-f8fbffa80: rgba(30, 36, 34, .8);--dk-bg-faf5ff: #1e2422;--dk-bg-fbfbfe: #1e2422;--dk-bg-fbfdff: #1e2422;--dk-fg-0d2b4f: #abcec1;--dk-fg-0f172a: #dfe3e2;--dk-fg-101828a20: rgba(241, 244, 243, .2);--dk-fg-102344a72: rgba(241, 244, 243, .72);--dk-fg-102344a74: rgba(241, 244, 243, .74);--dk-fg-102344a85: rgba(241, 244, 243, .85);--dk-fg-111827: #dfe4e2;--dk-fg-14142b: #dde2e0;--dk-fg-163a76: #accdc1;--dk-fg-172033: #d9dfdd;--dk-fg-1d4ed8: #aacfc1;--dk-fg-1d62d0: #aad0c2;--dk-fg-1e1b4b: #afcac0;--dk-fg-1e40af: #accec2;--dk-fg-2c4db5: #adccc0;--dk-fg-3159b8: #aecbc0;--dk-fg-334155: #afcac0;--dk-fg-344054: #afcac0;--dk-fg-355081: #afcac0;--dk-fg-3730a3: #afcac0;--dk-fg-475569: #afcac0;--dk-fg-5b21b6: #accec1;--dk-fg-64748b: #afcac0;--dk-fg-667085: #afcac0;--dk-fg-6b21a8: #accdc1;--dk-fg-6b21c8: #abcec1;--dk-fg-6d6d8f: #afcac0;--dk-fg-7e22ce: #abcec1;--brand2-500: #a3ccbd;--brand2-600: #72b69d;--brand2-700: #479075;--brand2-800: #3a6f5b;--brand2-900: #31594a;--brand3-500: #a3ccbd;--brand3-600: #72b69d;--brand3-700: #479075;--brand3-800: #3a6f5b;--brand3-900: #31594a;--brand2-500-rgb: 163, 204, 189;--brand2-600-rgb: 114, 182, 157;--brand2-700-rgb: 71, 144, 117;--brand2-800-rgb: 58, 111, 91;--brand2-900-rgb: 49, 89, 74;--brand3-500-rgb: 163, 204, 189;--brand3-600-rgb: 114, 182, 157;--brand3-700-rgb: 71, 144, 117;--brand3-800-rgb: 58, 111, 91;--brand3-900-rgb: 49, 89, 74;--sidebar-bg: rgba(19, 26, 31, .96)}[data-accent=burgundy]{--brand-50: #f8f2f3;--brand-100: #efe1e4;--brand-200: #e3c4cc;--brand-300: #d49ba9;--brand-400: #c3657c;--brand-500: #9f3851;--brand-600: #792f42;--brand-700: #602937;--brand-800: #4c242e;--brand-900: #391d24;--brand-50-rgb: 248, 242, 243;--brand-100-rgb: 239, 225, 228;--brand-200-rgb: 227, 196, 204;--brand-300-rgb: 212, 155, 169;--brand-400-rgb: 195, 101, 124;--brand-500-rgb: 159, 56, 81;--brand-600-rgb: 121, 47, 66;--brand-700-rgb: 96, 41, 55;--brand-800-rgb: 76, 36, 46;--brand-900-rgb: 57, 29, 36;--brand2-50: #f8f2f3;--brand2-100: #efe1e4;--brand2-200: #e3c4cc;--brand2-300: #d49ba9;--brand2-400: #c3657c;--brand2-500: #9f3851;--brand2-600: #792f42;--brand2-700: #602937;--brand2-800: #4c242e;--brand2-900: #391d24;--brand2-50-rgb: 248, 242, 243;--brand2-100-rgb: 239, 225, 228;--brand2-200-rgb: 227, 196, 204;--brand2-300-rgb: 212, 155, 169;--brand2-400-rgb: 195, 101, 124;--brand2-500-rgb: 159, 56, 81;--brand2-600-rgb: 121, 47, 66;--brand2-700-rgb: 96, 41, 55;--brand2-800-rgb: 76, 36, 46;--brand2-900-rgb: 57, 29, 36;--brand3-50: #f8f2f3;--brand3-100: #efe1e4;--brand3-200: #e3c4cc;--brand3-300: #d49ba9;--brand3-400: #c3657c;--brand3-500: #9f3851;--brand3-600: #792f42;--brand3-700: #602937;--brand3-800: #4c242e;--brand3-900: #391d24;--brand3-50-rgb: 248, 242, 243;--brand3-100-rgb: 239, 225, 228;--brand3-200-rgb: 227, 196, 204;--brand3-300-rgb: 212, 155, 169;--brand3-400-rgb: 195, 101, 124;--brand3-500-rgb: 159, 56, 81;--brand3-600-rgb: 121, 47, 66;--brand3-700-rgb: 96, 41, 55;--brand3-800-rgb: 76, 36, 46;--brand3-900-rgb: 57, 29, 36;--tint-page: #fbf8f8;--tint-page-rgb: 251, 248, 248;--tint-faint: #fcf9fa;--tint-faint-rgb: 252, 249, 250;--tint-soft: #f7f1f2;--tint-soft-rgb: 247, 241, 242;--tint-soft-2: #f8f3f4;--tint-soft-2-rgb: 248, 243, 244;--tint-item: #f2e7e9;--tint-item-rgb: 242, 231, 233;--tint-strong: #eddce0;--tint-strong-rgb: 237, 220, 224;--brand-dark-accent: #d49ba9;--brand-dark-accent-rgb: 212, 155, 169}[data-accent=burgundy]:not([data-theme=dark]){--bg: #f9f5f5;--bg-alt: #f5ecee;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fcf8f9 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f7eff1 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f9f5f5;--page: #f9f5f5;--color-background: #f9f5f5;--surface-muted: #f5ecee;--card-hover: #fcf8f9;--card-hover-bg: #fcf8f9;--sidebar-bg: rgba(249, 244, 245, .95);--sidebar-item-bg: rgba(243, 233, 235, .65)}[data-theme=dark][data-accent=burgundy]{--bg: #151317;--bg-alt: #18171d;--bg-gradient: linear-gradient(180deg, #151317 0%, #1b1922 100%);--accent-strong: #d49ba9;--dk-bd-bfdbfe: #5d3b43;--dk-bd-c7d2fe: #5d3b43;--dk-bd-c7d7fc: #5d3b43;--dk-bd-d9e4ff: #5d3b43;--dk-bd-dbeafe: #5d3b43;--dk-bd-ddc4fa: #5e3d45;--dk-bd-e0d4ff: #5e3d45;--dk-bg-bfdbfe: #3f2a2f;--dk-bg-c7e3ff: #3f2a2f;--dk-bg-d4e3fd: #3f2a2f;--dk-bg-d7e7ffa92: rgba(37, 29, 31, .92);--dk-bg-dbeafe: #3f2a2f;--dk-bg-dbeafea55: rgba(37, 29, 31, .55);--dk-bg-dbeafea60: rgba(37, 29, 31, .6);--dk-bg-dbeafea62: rgba(37, 29, 31, .62);--dk-bg-dbeafea65: rgba(37, 29, 31, .65);--dk-bg-dbeafea70: rgba(37, 29, 31, .7);--dk-bg-dbeafea72: rgba(37, 29, 31, .72);--dk-bg-dbeafea78: rgba(37, 29, 31, .78);--dk-bg-dbeafea90: rgba(37, 29, 31, .9);--dk-bg-dbeafea95: rgba(37, 29, 31, .95);--dk-bg-dbeafea96: rgba(37, 29, 31, .96);--dk-bg-dce8ff: #3f2a2f;--dk-bg-e0e7ff: #3f2a2f;--dk-bg-e2eefaa60: rgba(37, 29, 31, .6);--dk-bg-e2eefaa65: rgba(37, 29, 31, .65);--dk-bg-e7eefe: #3f2a2f;--dk-bg-e8e6f8: #3f2d31;--dk-bg-e8f0fe: #3f2a2f;--dk-bg-eaf1ff: #3f2a2f;--dk-bg-ecf5ffa96: rgba(37, 29, 31, .96);--dk-bg-ede9fe: #402d32;--dk-bg-edf2f7: #2a2324;--dk-bg-eef2fe: #2a2324;--dk-bg-eef5ff: #2a2324;--dk-bg-eff6ff: #2a2324;--dk-bg-eff6ffa62: rgba(37, 29, 31, .62);--dk-bg-eff6ffa65: rgba(37, 29, 31, .65);--dk-bg-eff6ffa66: rgba(37, 29, 31, .66);--dk-bg-eff6ffa70: rgba(37, 29, 31, .7);--dk-bg-eff6ffa72: rgba(37, 29, 31, .72);--dk-bg-eff6ffa90: rgba(37, 29, 31, .9);--dk-bg-eff6ffa96: rgba(37, 29, 31, .96);--dk-bg-f0eeff: #2a2324;--dk-bg-f0effe: #2a2324;--dk-bg-f0f0ff: #2a2324;--dk-bg-f0f6ff: #2a2324;--dk-bg-f0f7ff: #2a2324;--dk-bg-f1f5f9: #2a2324;--dk-bg-f1f5f9a60: rgba(37, 29, 31, .6);--dk-bg-f1f5f9a90: rgba(37, 29, 31, .9);--dk-bg-f1f5f9a95: rgba(37, 29, 31, .95);--dk-bg-f1f8ffa90: rgba(37, 29, 31, .9);--dk-bg-f3e8ff: #402d32;--dk-bg-f4f7ff: #251d1f;--dk-bg-f4f8fca92: rgba(37, 29, 31, .92);--dk-bg-f5f0ff: #2a2324;--dk-bg-f5f8ff: #251d1f;--dk-bg-f5faffa60: rgba(37, 29, 31, .6);--dk-bg-f6faffa92: rgba(37, 29, 31, .92);--dk-bg-f6faffa94: rgba(37, 29, 31, .94);--dk-bg-f6faffa98: rgba(37, 29, 31, .98);--dk-bg-f8fafc: #251d1f;--dk-bg-f8fafca60: rgba(37, 29, 31, .6);--dk-bg-f8fafca70: rgba(37, 29, 31, .7);--dk-bg-f8fafca90: rgba(37, 29, 31, .9);--dk-bg-f8fafca92: rgba(37, 29, 31, .92);--dk-bg-f8fafca95: rgba(37, 29, 31, .95);--dk-bg-f8fafca98: rgba(37, 29, 31, .98);--dk-bg-f8faff: #251d1f;--dk-bg-f8faffa80: rgba(37, 29, 31, .8);--dk-bg-f8fbff: #251d1f;--dk-bg-f8fbffa80: rgba(37, 29, 31, .8);--dk-bg-faf5ff: #251d1f;--dk-bg-fbfbfe: #251d1f;--dk-bg-fbfdff: #251d1f;--dk-fg-0d2b4f: #d5a4b0;--dk-fg-0f172a: #e4dedf;--dk-fg-101828a20: rgba(245, 240, 241, .2);--dk-fg-102344a72: rgba(245, 240, 241, .72);--dk-fg-102344a74: rgba(245, 240, 241, .74);--dk-fg-102344a85: rgba(245, 240, 241, .85);--dk-fg-111827: #e4dfe0;--dk-fg-14142b: #e3dcde;--dk-fg-163a76: #d4a5b0;--dk-fg-172033: #e0d8da;--dk-fg-1d4ed8: #d7a2af;--dk-fg-1d62d0: #d7a3af;--dk-fg-1e1b4b: #d0a9b3;--dk-fg-1e40af: #d6a4b0;--dk-fg-2c4db5: #d2a7b2;--dk-fg-3159b8: #d1a8b2;--dk-fg-334155: #d0a9b3;--dk-fg-344054: #d0a9b3;--dk-fg-355081: #d0a9b3;--dk-fg-3730a3: #d0a9b3;--dk-fg-475569: #d0a9b3;--dk-fg-5b21b6: #d5a5b1;--dk-fg-64748b: #d0a9b3;--dk-fg-667085: #d0a9b3;--dk-fg-6b21a8: #d4a5b0;--dk-fg-6b21c8: #d5a4b0;--dk-fg-6d6d8f: #d0a9b3;--dk-fg-7e22ce: #d5a4b0;--brand2-500: #d49ba9;--brand2-600: #c3657c;--brand2-700: #9f3851;--brand2-800: #792f42;--brand2-900: #602937;--brand3-500: #d49ba9;--brand3-600: #c3657c;--brand3-700: #9f3851;--brand3-800: #792f42;--brand3-900: #602937;--brand2-500-rgb: 212, 155, 169;--brand2-600-rgb: 195, 101, 124;--brand2-700-rgb: 159, 56, 81;--brand2-800-rgb: 121, 47, 66;--brand2-900-rgb: 96, 41, 55;--brand3-500-rgb: 212, 155, 169;--brand3-600-rgb: 195, 101, 124;--brand3-700-rgb: 159, 56, 81;--brand3-800-rgb: 121, 47, 66;--brand3-900-rgb: 96, 41, 55;--sidebar-bg: rgba(23, 22, 29, .96)}[data-accent=pink]{--brand-50: #faf4f7;--brand-100: #f5e5ed;--brand-200: #edcadb;--brand-300: #e2a1c2;--brand-400: #d972a6;--brand-500: #d2418a;--brand-600: #b53173;--brand-700: #912c5e;--brand-800: #72274d;--brand-900: #58223d;--brand-50-rgb: 250, 244, 247;--brand-100-rgb: 245, 229, 237;--brand-200-rgb: 237, 202, 219;--brand-300-rgb: 226, 161, 194;--brand-400-rgb: 217, 114, 166;--brand-500-rgb: 210, 65, 138;--brand-600-rgb: 181, 49, 115;--brand-700-rgb: 145, 44, 94;--brand-800-rgb: 114, 39, 77;--brand-900-rgb: 88, 34, 61;--brand2-50: #faf4f7;--brand2-100: #f5e5ed;--brand2-200: #edcadb;--brand2-300: #e2a1c2;--brand2-400: #d972a6;--brand2-500: #d2418a;--brand2-600: #b53173;--brand2-700: #912c5e;--brand2-800: #72274d;--brand2-900: #58223d;--brand2-50-rgb: 250, 244, 247;--brand2-100-rgb: 245, 229, 237;--brand2-200-rgb: 237, 202, 219;--brand2-300-rgb: 226, 161, 194;--brand2-400-rgb: 217, 114, 166;--brand2-500-rgb: 210, 65, 138;--brand2-600-rgb: 181, 49, 115;--brand2-700-rgb: 145, 44, 94;--brand2-800-rgb: 114, 39, 77;--brand2-900-rgb: 88, 34, 61;--brand3-50: #faf4f7;--brand3-100: #f5e5ed;--brand3-200: #edcadb;--brand3-300: #e2a1c2;--brand3-400: #d972a6;--brand3-500: #d2418a;--brand3-600: #b53173;--brand3-700: #912c5e;--brand3-800: #72274d;--brand3-900: #58223d;--brand3-50-rgb: 250, 244, 247;--brand3-100-rgb: 245, 229, 237;--brand3-200-rgb: 237, 202, 219;--brand3-300-rgb: 226, 161, 194;--brand3-400-rgb: 217, 114, 166;--brand3-500-rgb: 210, 65, 138;--brand3-600-rgb: 181, 49, 115;--brand3-700-rgb: 145, 44, 94;--brand3-800-rgb: 114, 39, 77;--brand3-900-rgb: 88, 34, 61;--tint-page: #fcf9fb;--tint-page-rgb: 252, 249, 251;--tint-faint: #fdfafb;--tint-faint-rgb: 253, 250, 251;--tint-soft: #faf3f6;--tint-soft-rgb: 250, 243, 246;--tint-soft-2: #faf5f7;--tint-soft-2-rgb: 250, 245, 247;--tint-item: #f7eaf0;--tint-item-rgb: 247, 234, 240;--tint-strong: #f4e1ea;--tint-strong-rgb: 244, 225, 234;--brand-dark-accent: #d972a6;--brand-dark-accent-rgb: 217, 114, 166}[data-accent=pink]:not([data-theme=dark]){--bg: #fbf6f9;--bg-alt: #f8eff4;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fcfafb 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f9f2f6 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #fbf6f9;--page: #fbf6f9;--color-background: #fbf6f9;--surface-muted: #f8eff4;--card-hover: #fcfafb;--card-hover-bg: #fcfafb;--sidebar-bg: rgba(251, 246, 248, .95);--sidebar-item-bg: rgba(247, 236, 242, .65)}[data-theme=dark][data-accent=pink]{--bg: #19131b;--bg-alt: #1d1821;--bg-gradient: linear-gradient(180deg, #19131b 0%, #221a27 100%);--accent-strong: #e2a1c2;--dk-bd-bfdbfe: #62364c;--dk-bd-c7d2fe: #62364c;--dk-bd-c7d7fc: #62364c;--dk-bd-d9e4ff: #62364c;--dk-bd-dbeafe: #62364c;--dk-bd-ddc4fa: #62394e;--dk-bd-e0d4ff: #62394e;--dk-bg-bfdbfe: #422735;--dk-bg-c7e3ff: #422735;--dk-bg-d4e3fd: #422735;--dk-bg-d7e7ffa92: rgba(38, 28, 33, .92);--dk-bg-dbeafe: #422735;--dk-bg-dbeafea55: rgba(38, 28, 33, .55);--dk-bg-dbeafea60: rgba(38, 28, 33, .6);--dk-bg-dbeafea62: rgba(38, 28, 33, .62);--dk-bg-dbeafea65: rgba(38, 28, 33, .65);--dk-bg-dbeafea70: rgba(38, 28, 33, .7);--dk-bg-dbeafea72: rgba(38, 28, 33, .72);--dk-bg-dbeafea78: rgba(38, 28, 33, .78);--dk-bg-dbeafea90: rgba(38, 28, 33, .9);--dk-bg-dbeafea95: rgba(38, 28, 33, .95);--dk-bg-dbeafea96: rgba(38, 28, 33, .96);--dk-bg-dce8ff: #422735;--dk-bg-e0e7ff: #422735;--dk-bg-e2eefaa60: rgba(38, 28, 33, .6);--dk-bg-e2eefaa65: rgba(38, 28, 33, .65);--dk-bg-e7eefe: #422735;--dk-bg-e8e6f8: #422a36;--dk-bg-e8f0fe: #422735;--dk-bg-eaf1ff: #422735;--dk-bg-ecf5ffa96: rgba(38, 28, 33, .96);--dk-bg-ede9fe: #422b37;--dk-bg-edf2f7: #2c2127;--dk-bg-eef2fe: #2c2127;--dk-bg-eef5ff: #2c2127;--dk-bg-eff6ff: #2c2127;--dk-bg-eff6ffa62: rgba(38, 28, 33, .62);--dk-bg-eff6ffa65: rgba(38, 28, 33, .65);--dk-bg-eff6ffa66: rgba(38, 28, 33, .66);--dk-bg-eff6ffa70: rgba(38, 28, 33, .7);--dk-bg-eff6ffa72: rgba(38, 28, 33, .72);--dk-bg-eff6ffa90: rgba(38, 28, 33, .9);--dk-bg-eff6ffa96: rgba(38, 28, 33, .96);--dk-bg-f0eeff: #2c2127;--dk-bg-f0effe: #2c2127;--dk-bg-f0f0ff: #2c2127;--dk-bg-f0f6ff: #2c2127;--dk-bg-f0f7ff: #2c2127;--dk-bg-f1f5f9: #2c2127;--dk-bg-f1f5f9a60: rgba(38, 28, 33, .6);--dk-bg-f1f5f9a90: rgba(38, 28, 33, .9);--dk-bg-f1f5f9a95: rgba(38, 28, 33, .95);--dk-bg-f1f8ffa90: rgba(38, 28, 33, .9);--dk-bg-f3e8ff: #422b37;--dk-bg-f4f7ff: #261c21;--dk-bg-f4f8fca92: rgba(38, 28, 33, .92);--dk-bg-f5f0ff: #2c2127;--dk-bg-f5f8ff: #261c21;--dk-bg-f5faffa60: rgba(38, 28, 33, .6);--dk-bg-f6faffa92: rgba(38, 28, 33, .92);--dk-bg-f6faffa94: rgba(38, 28, 33, .94);--dk-bg-f6faffa98: rgba(38, 28, 33, .98);--dk-bg-f8fafc: #261c21;--dk-bg-f8fafca60: rgba(38, 28, 33, .6);--dk-bg-f8fafca70: rgba(38, 28, 33, .7);--dk-bg-f8fafca90: rgba(38, 28, 33, .9);--dk-bg-f8fafca92: rgba(38, 28, 33, .92);--dk-bg-f8fafca95: rgba(38, 28, 33, .95);--dk-bg-f8fafca98: rgba(38, 28, 33, .98);--dk-bg-f8faff: #261c21;--dk-bg-f8faffa80: rgba(38, 28, 33, .8);--dk-bg-f8fbff: #261c21;--dk-bg-f8fbffa80: rgba(38, 28, 33, .8);--dk-bg-faf5ff: #261c21;--dk-bg-fbfbfe: #261c21;--dk-bg-fbfdff: #261c21;--dk-fg-0d2b4f: #dd9cbd;--dk-fg-0f172a: #e5dde1;--dk-fg-101828a20: rgba(246, 239, 243, .2);--dk-fg-102344a72: rgba(246, 239, 243, .72);--dk-fg-102344a74: rgba(246, 239, 243, .74);--dk-fg-102344a85: rgba(246, 239, 243, .85);--dk-fg-111827: #e5dee2;--dk-fg-14142b: #e4dbe0;--dk-fg-163a76: #db9ebd;--dk-fg-172033: #e1d7dc;--dk-fg-1d4ed8: #df9abd;--dk-fg-1d62d0: #df9bbd;--dk-fg-1e1b4b: #d5a4bd;--dk-fg-1e40af: #dd9dbd;--dk-fg-2c4db5: #d8a1bd;--dk-fg-3159b8: #d7a2bd;--dk-fg-334155: #d5a4bd;--dk-fg-344054: #d5a4bd;--dk-fg-355081: #d5a4bd;--dk-fg-3730a3: #d5a4bd;--dk-fg-475569: #d5a4bd;--dk-fg-5b21b6: #dc9ebd;--dk-fg-64748b: #d5a4bd;--dk-fg-667085: #d5a4bd;--dk-fg-6b21a8: #db9ebd;--dk-fg-6b21c8: #dd9cbd;--dk-fg-6d6d8f: #d5a4bd;--dk-fg-7e22ce: #dd9cbd;--brand2-500: #e2a1c2;--brand2-600: #d972a6;--brand2-700: #d2418a;--brand2-800: #b53173;--brand2-900: #912c5e;--brand3-500: #e2a1c2;--brand3-600: #d972a6;--brand3-700: #d2418a;--brand3-800: #b53173;--brand3-900: #912c5e;--brand2-500-rgb: 226, 161, 194;--brand2-600-rgb: 217, 114, 166;--brand2-700-rgb: 210, 65, 138;--brand2-800-rgb: 181, 49, 115;--brand2-900-rgb: 145, 44, 94;--brand3-500-rgb: 226, 161, 194;--brand3-600-rgb: 217, 114, 166;--brand3-700-rgb: 210, 65, 138;--brand3-800-rgb: 181, 49, 115;--brand3-900-rgb: 145, 44, 94;--sidebar-bg: rgba(29, 23, 34, .96)}[data-accent=graphite]{--brand-50: #f7f7f8;--brand-100: #ebedef;--brand-200: #d7dbdf;--brand-300: #bac1c9;--brand-400: #9aa4b2;--brand-500: #79879a;--brand-600: #647082;--brand-700: #535c6a;--brand-800: #444b55;--brand-900: #373c44;--brand-50-rgb: 247, 247, 248;--brand-100-rgb: 235, 237, 239;--brand-200-rgb: 215, 219, 223;--brand-300-rgb: 186, 193, 201;--brand-400-rgb: 154, 164, 178;--brand-500-rgb: 121, 135, 154;--brand-600-rgb: 100, 112, 130;--brand-700-rgb: 83, 92, 106;--brand-800-rgb: 68, 75, 85;--brand-900-rgb: 55, 60, 68;--brand2-50: #f7f7f8;--brand2-100: #ebedef;--brand2-200: #d7dbdf;--brand2-300: #bac1c9;--brand2-400: #9aa4b2;--brand2-500: #79879a;--brand2-600: #647082;--brand2-700: #535c6a;--brand2-800: #444b55;--brand2-900: #373c44;--brand2-50-rgb: 247, 247, 248;--brand2-100-rgb: 235, 237, 239;--brand2-200-rgb: 215, 219, 223;--brand2-300-rgb: 186, 193, 201;--brand2-400-rgb: 154, 164, 178;--brand2-500-rgb: 121, 135, 154;--brand2-600-rgb: 100, 112, 130;--brand2-700-rgb: 83, 92, 106;--brand2-800-rgb: 68, 75, 85;--brand2-900-rgb: 55, 60, 68;--brand3-50: #f7f7f8;--brand3-100: #ebedef;--brand3-200: #d7dbdf;--brand3-300: #bac1c9;--brand3-400: #9aa4b2;--brand3-500: #79879a;--brand3-600: #647082;--brand3-700: #535c6a;--brand3-800: #444b55;--brand3-900: #373c44;--brand3-50-rgb: 247, 247, 248;--brand3-100-rgb: 235, 237, 239;--brand3-200-rgb: 215, 219, 223;--brand3-300-rgb: 186, 193, 201;--brand3-400-rgb: 154, 164, 178;--brand3-500-rgb: 121, 135, 154;--brand3-600-rgb: 100, 112, 130;--brand3-700-rgb: 83, 92, 106;--brand3-800-rgb: 68, 75, 85;--brand3-900-rgb: 55, 60, 68;--tint-page: #fbfbfb;--tint-page-rgb: 251, 251, 251;--tint-faint: #fbfbfc;--tint-faint-rgb: 251, 251, 252;--tint-soft: #f6f6f7;--tint-soft-rgb: 246, 246, 247;--tint-soft-2: #f7f7f8;--tint-soft-2-rgb: 247, 247, 248;--tint-item: #eff0f2;--tint-item-rgb: 239, 240, 242;--tint-strong: #e8eaec;--tint-strong-rgb: 232, 234, 236;--brand-dark-accent: #9aa4b2;--brand-dark-accent-rgb: 154, 164, 178}[data-accent=graphite]:not([data-theme=dark]){--bg: #f9f9f9;--bg-alt: #f3f4f5;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #fbfbfc 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f5f6f7 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--background: #f9f9f9;--page: #f9f9f9;--color-background: #f9f9f9;--surface-muted: #f3f4f5;--card-hover: #fbfbfc;--card-hover-bg: #fbfbfc;--sidebar-bg: rgba(248, 248, 249, .95);--sidebar-item-bg: rgba(240, 242, 243, .65)}[data-theme=dark][data-accent=graphite]{--bg: #15171c;--bg-alt: #181c22;--bg-gradient: linear-gradient(180deg, #15171c 0%, #1b2029 100%);--accent-strong: #bac1c9;--dk-bd-bfdbfe: #474b51;--dk-bd-c7d2fe: #474b51;--dk-bd-c7d7fc: #474b51;--dk-bd-d9e4ff: #474b51;--dk-bd-dbeafe: #474b51;--dk-bd-ddc4fa: #494d52;--dk-bd-e0d4ff: #494d52;--dk-bg-bfdbfe: #313438;--dk-bg-c7e3ff: #313438;--dk-bg-d4e3fd: #313438;--dk-bg-d7e7ffa92: rgba(32, 33, 34, .92);--dk-bg-dbeafe: #313438;--dk-bg-dbeafea55: rgba(32, 33, 34, .55);--dk-bg-dbeafea60: rgba(32, 33, 34, .6);--dk-bg-dbeafea62: rgba(32, 33, 34, .62);--dk-bg-dbeafea65: rgba(32, 33, 34, .65);--dk-bg-dbeafea70: rgba(32, 33, 34, .7);--dk-bg-dbeafea72: rgba(32, 33, 34, .72);--dk-bg-dbeafea78: rgba(32, 33, 34, .78);--dk-bg-dbeafea90: rgba(32, 33, 34, .9);--dk-bg-dbeafea95: rgba(32, 33, 34, .95);--dk-bg-dbeafea96: rgba(32, 33, 34, .96);--dk-bg-dce8ff: #313438;--dk-bg-e0e7ff: #313438;--dk-bg-e2eefaa60: rgba(32, 33, 34, .6);--dk-bg-e2eefaa65: rgba(32, 33, 34, .65);--dk-bg-e7eefe: #313438;--dk-bg-e8e6f8: #333639;--dk-bg-e8f0fe: #313438;--dk-bg-eaf1ff: #313438;--dk-bg-ecf5ffa96: rgba(32, 33, 34, .96);--dk-bg-ede9fe: #343639;--dk-bg-edf2f7: #252628;--dk-bg-eef2fe: #252628;--dk-bg-eef5ff: #252628;--dk-bg-eff6ff: #252628;--dk-bg-eff6ffa62: rgba(32, 33, 34, .62);--dk-bg-eff6ffa65: rgba(32, 33, 34, .65);--dk-bg-eff6ffa66: rgba(32, 33, 34, .66);--dk-bg-eff6ffa70: rgba(32, 33, 34, .7);--dk-bg-eff6ffa72: rgba(32, 33, 34, .72);--dk-bg-eff6ffa90: rgba(32, 33, 34, .9);--dk-bg-eff6ffa96: rgba(32, 33, 34, .96);--dk-bg-f0eeff: #252628;--dk-bg-f0effe: #252628;--dk-bg-f0f0ff: #252628;--dk-bg-f0f6ff: #252628;--dk-bg-f0f7ff: #252628;--dk-bg-f1f5f9: #252628;--dk-bg-f1f5f9a60: rgba(32, 33, 34, .6);--dk-bg-f1f5f9a90: rgba(32, 33, 34, .9);--dk-bg-f1f5f9a95: rgba(32, 33, 34, .95);--dk-bg-f1f8ffa90: rgba(32, 33, 34, .9);--dk-bg-f3e8ff: #343639;--dk-bg-f4f7ff: #202122;--dk-bg-f4f8fca92: rgba(32, 33, 34, .92);--dk-bg-f5f0ff: #252628;--dk-bg-f5f8ff: #202122;--dk-bg-f5faffa60: rgba(32, 33, 34, .6);--dk-bg-f6faffa92: rgba(32, 33, 34, .92);--dk-bg-f6faffa94: rgba(32, 33, 34, .94);--dk-bg-f6faffa98: rgba(32, 33, 34, .98);--dk-bg-f8fafc: #202122;--dk-bg-f8fafca60: rgba(32, 33, 34, .6);--dk-bg-f8fafca70: rgba(32, 33, 34, .7);--dk-bg-f8fafca90: rgba(32, 33, 34, .9);--dk-bg-f8fafca92: rgba(32, 33, 34, .92);--dk-bg-f8fafca95: rgba(32, 33, 34, .95);--dk-bg-f8fafca98: rgba(32, 33, 34, .98);--dk-bg-f8faff: #202122;--dk-bg-f8faffa80: rgba(32, 33, 34, .8);--dk-bg-f8fbff: #202122;--dk-bg-f8fbffa80: rgba(32, 33, 34, .8);--dk-bg-faf5ff: #202122;--dk-bg-fbfbfe: #202122;--dk-bg-fbfdff: #202122;--dk-fg-0d2b4f: #b5bbc4;--dk-fg-0f172a: #e0e1e2;--dk-fg-101828a20: rgba(242, 242, 243, .2);--dk-fg-102344a72: rgba(242, 242, 243, .72);--dk-fg-102344a74: rgba(242, 242, 243, .74);--dk-fg-102344a85: rgba(242, 242, 243, .85);--dk-fg-111827: #e1e1e2;--dk-fg-14142b: #dedfe1;--dk-fg-163a76: #b5bbc4;--dk-fg-172033: #dbdcdd;--dk-fg-1d4ed8: #b5bbc4;--dk-fg-1d62d0: #b5bcc5;--dk-fg-1e1b4b: #b7bcc2;--dk-fg-1e40af: #b6bcc4;--dk-fg-2c4db5: #b6bcc3;--dk-fg-3159b8: #b7bcc2;--dk-fg-334155: #b7bcc2;--dk-fg-344054: #b7bcc2;--dk-fg-355081: #b7bcc2;--dk-fg-3730a3: #b7bcc2;--dk-fg-475569: #b7bcc2;--dk-fg-5b21b6: #b6bcc4;--dk-fg-64748b: #b7bcc2;--dk-fg-667085: #b7bcc2;--dk-fg-6b21a8: #b6bbc3;--dk-fg-6b21c8: #b5bbc4;--dk-fg-6d6d8f: #b7bcc2;--dk-fg-7e22ce: #b5bbc4;--brand2-500: #bac1c9;--brand2-600: #9aa4b2;--brand2-700: #79879a;--brand2-800: #647082;--brand2-900: #535c6a;--brand3-500: #bac1c9;--brand3-600: #9aa4b2;--brand3-700: #79879a;--brand3-800: #647082;--brand3-900: #535c6a;--brand2-500-rgb: 186, 193, 201;--brand2-600-rgb: 154, 164, 178;--brand2-700-rgb: 121, 135, 154;--brand2-800-rgb: 100, 112, 130;--brand2-900-rgb: 83, 92, 106;--brand3-500-rgb: 186, 193, 201;--brand3-600-rgb: 154, 164, 178;--brand3-700-rgb: 121, 135, 154;--brand3-800-rgb: 100, 112, 130;--brand3-900-rgb: 83, 92, 106;--sidebar-bg: rgba(23, 27, 35, .96)}
