:root{--canvas:#eef5f9;--surface:#fdfefe;--ink:#12345c;--navy:#0d3769;--navy-deep:#082e5a;--muted:#75839a;--line:#dce5ef;--accent:#15b6c5;--accent-deep:#079cac;--accent-soft:#e5f8fa;--radius-card:18px;--radius-group:14px;--radius-control:10px;--shadow-shell:0 0 64px rgba(27,70,105,0.1);--shadow-float:0 18px 42px rgba(26,63,95,0.16);--ui-scale:1}html[data-font-size=large]{--ui-scale:1.08}html[data-contrast=high]{--canvas:#f3f7fa;--surface:#fff;--ink:#071f3c;--navy:#062c58;--navy-deep:#031e3e;--muted:#40526a;--line:#73849a;--accent:#007781;--accent-deep:#005d66;--accent-soft:#d7f2f3;--shadow-shell:0 0 0 1px rgba(7,31,60,0.28),0 0 64px rgba(7,31,60,0.14);--shadow-float:0 18px 42px rgba(7,31,60,0.24)}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a,button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(21,182,197,.46);outline-offset:3px}html[data-contrast=high] a:focus-visible,html[data-contrast=high] button:focus-visible,html[data-contrast=high] input:focus-visible,html[data-contrast=high] select:focus-visible,html[data-contrast=high] textarea:focus-visible{outline:4px solid #c75800;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#edf3f7,#f7fbfd 45%,#edf3f7 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.csr-boot-banner{display:flex;align-items:center;gap:12px;margin:22px 0 8px;padding:14px 16px;border:1px solid rgba(21,182,197,.22);border-radius:14px;background:rgba(21,182,197,.07)}.csr-boot-banner .schedule-loading{min-height:auto}.csr-boot-banner strong{display:block;font-size:13px;font-weight:850}.csr-boot-banner small{color:var(--muted);font-size:11px;font-weight:650}.skeleton-stack{display:grid;gap:14px;margin-top:18px}.skeleton-card{min-height:92px;border-radius:var(--radius-card);border:1px solid var(--line);background:linear-gradient(90deg,#edf3f7,#f7fbfd 45%,#edf3f7 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-card.is-hero{min-height:148px}.skeleton-card.is-wide{min-height:120px}.skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skeleton-nav-item{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border-radius:8px;color:#a8b4c2;font-size:12px;font-weight:750}.skeleton-nav-placeholder{min-height:34px;border-radius:10px;background:#eef4f7}.skeleton-pill{display:inline-block;width:72px;height:34px;border-radius:9px;background:linear-gradient(90deg,#edf3f7,#f7fbfd 45%,#edf3f7 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-pill.is-round{width:38px;border-radius:50%}.bottom-nav>span{display:grid;place-items:center;gap:4px;color:#a8b4c2;font-size:10px;font-weight:750}.skeleton-dot{width:18px;height:18px;border-radius:50%;background:#e4edf2}.progressive-skeleton{display:grid;gap:8px;padding:4px 0 8px}.progressive-skeleton-head{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:750}.progressive-skeleton-head .schedule-loading{min-height:auto}.skeleton-list-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:10px 8px;border-bottom:1px solid var(--line)}.skeleton-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(90deg,#edf3f7,#f7fbfd 45%,#edf3f7 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-copy{display:grid;gap:8px}.skeleton-line{display:block;height:11px;border-radius:999px;background:linear-gradient(90deg,#edf3f7,#f7fbfd 45%,#edf3f7 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-line.is-short{width:48%}.inline-skeleton-lines{display:grid;gap:8px;margin:10px 0 4px;max-width:280px}.next-lesson.is-loading{opacity:.96}.auth-session-check{display:flex;align-items:center;gap:12px;margin-top:12px;padding:18px 4px 8px;color:var(--muted);font-size:13px;font-weight:750}.auth-session-check .schedule-loading{min-height:auto}.auth-session-check p{margin:0}@media (max-width:899px){.skeleton-grid{grid-template-columns:1fr}}.app-shell{width:calc(100% / var(--ui-scale));min-height:calc(100dvh / var(--ui-scale));padding:0 18px;background:linear-gradient(135deg,#f4fbfd 0,var(--canvas) 48%,#e8f3f9 100%);zoom:var(--ui-scale)}html[data-contrast=high] .app-shell{background:var(--canvas)}.workspace{width:min(100%,1120px);min-height:100dvh;margin:0 auto;background:var(--surface);box-shadow:var(--shadow-shell)}.topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto 1fr auto;gap:32px;min-height:76px;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(253,254,254,.94);backdrop-filter:blur(14px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap}.brand img{width:auto;height:28px;-o-object-fit:contain;object-fit:contain}.brand strong{font-size:19px;letter-spacing:.04em;font-weight:850}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}.desktop-nav a{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 12px;border-radius:var(--radius-control);color:var(--muted);font-size:13px;font-weight:780;text-decoration:none;transition:color .16s ease,background-color .16s ease,transform .16s ease}.desktop-nav a:hover{background:#f0f8fa;color:var(--accent-deep);transform:translateY(-1px)}.desktop-nav a.is-active{background:var(--accent-soft);color:var(--accent-deep)}.desktop-nav a.is-active:after{position:absolute;right:13px;bottom:5px;left:13px;height:2px;border-radius:2px;background:var(--accent);content:""}.header-actions{display:flex;align-items:center;gap:9px}.child-switcher,.child-switcher-label{display:inline-flex;align-items:center;min-width:0}.child-switcher-label{position:relative;gap:6px;min-height:36px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.child-switcher-label:hover{border-color:#b7dce2;background:#faffff}.child-switcher-label>svg:first-child{flex:0 0 auto;color:var(--accent-deep)}.child-switcher-caption{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800}.child-switcher select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:168px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:800;text-overflow:ellipsis}.child-switcher-chevron{position:absolute;right:8px;top:50%;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.child-switcher.is-compact .child-switcher-caption{display:none}.child-switcher.is-compact select{max-width:132px;font-size:11px}.parent-child-bar{display:none}.role-control{position:relative}.role-trigger{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);cursor:pointer;font-size:11px;font-weight:800;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.role-trigger:hover{border-color:#b7dce2;background:#faffff;color:var(--accent-deep)}.role-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:3px;width:240px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-float);animation:menu-open .18s ease both}.role-menu a{display:flex;align-items:center;min-height:36px;padding:0 9px;border-radius:8px;color:var(--muted);font-size:11px;font-weight:760;text-align:left;text-decoration:none}.role-menu a.is-selected,.role-menu a:hover{background:var(--accent-soft);color:var(--accent-deep)}.bell-button{position:relative;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .16s ease,transform .16s ease}.bell-button:hover{background:#f2f8fa;transform:rotate(-5deg)}.bell-button span{position:absolute;top:7px;right:7px;width:8px;height:8px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}.page-content{width:min(100%,1000px);margin:0 auto;padding:52px 38px 72px}.screen-enter{animation:screen-enter .42s cubic-bezier(.22,1,.36,1) both}.stagger-item{animation:list-enter .38s cubic-bezier(.22,1,.36,1) both}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.intro p{margin:0 0 13px;color:var(--muted);font-size:15px;font-weight:700}.intro h1{max-width:650px;margin:0;color:var(--ink);font-size:clamp(34px,4.3vw,46px);letter-spacing:-.075em;line-height:1.24}.intro h1 span{display:block}.intro h1 strong{color:var(--accent-deep);font-weight:850}.next-lesson{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(190px,.58fr);min-height:284px;margin-top:39px;overflow:hidden;border:1px solid #d4e5ed;border-radius:var(--radius-card);background:var(--navy)}.next-main{position:relative;z-index:1;padding:35px 26px 28px 36px;color:#f9ffff}.next-badge{display:inline-block;padding:7px 12px;border-radius:999px;background:var(--accent);color:#f9ffff;font-size:12px;font-weight:850}.next-main h2{margin:24px 0 19px;font-size:clamp(24px,3vw,32px);letter-spacing:-.065em;line-height:1.2}.next-main p{display:flex;align-items:center;gap:8px;margin:8px 0;color:#e4f3fb;font-size:14px;font-weight:650}.next-main a{display:inline-flex;align-items:center;gap:4px;min-height:47px;margin-top:18px;padding:0 15px;border:1px solid #d9eff4;border-radius:var(--radius-control);color:#f7ffff;font-size:13px;font-weight:800;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.next-main a:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}.next-main a:active{transform:translateY(1px)}.next-aside{position:relative;z-index:2;display:grid;align-content:center;justify-items:center;gap:10px;min-width:0;margin-left:-48px;padding:28px 18px 24px 66px;background:#fbfeff;color:var(--ink);clip-path:polygon(26% 0,100% 0,100% 100%,0 100%);text-align:center}.next-aside>span{display:grid;width:72px;height:72px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);transition:transform .22s ease}.next-lesson:hover .next-aside>span{transform:translateY(-3px) rotate(-3deg)}.next-aside small{color:var(--muted);font-size:12px;font-weight:800}.next-aside strong{color:var(--accent);font-size:clamp(23px,3.2vw,35px);letter-spacing:-.07em;white-space:nowrap}.home-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.daily-section,.schedule-section{min-width:0;margin-top:48px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.section-head h2{margin:0;color:var(--ink);font-size:22px;letter-spacing:-.06em}.section-head>a{display:inline-flex;align-items:center;gap:1px;padding:5px 0;color:var(--muted);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}.section-head>a:hover{color:var(--accent-deep)}.section-head>span{color:var(--muted);font-size:12px;font-weight:750}.agenda-list,.timeline{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.agenda-row{display:grid;grid-template-columns:46px minmax(0,1fr) 38px;align-items:center;gap:13px;width:100%;min-height:87px;padding:14px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.agenda-row:last-child{border-bottom:0}.agenda-row:hover{background:#fbfeff}.agenda-row:hover .agenda-icon{background:#d9f4f6;color:var(--accent-deep);transform:translateY(-2px)}.agenda-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--ink);transition:background-color .16s ease,color .16s ease,transform .16s ease}.agenda-copy{display:grid;gap:5px;min-width:0}.agenda-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:-.04em}.agenda-copy small{color:var(--muted);font-size:11px}.check-state{display:grid;width:37px;height:37px;place-items:center;margin-left:auto;border:1px solid #c8e4e8;border-radius:50%;color:#c4d9df;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.agenda-row.is-done .check-state{border-color:var(--accent);background:var(--accent);color:#f6ffff;transform:scale(1.04)}.agenda-row.is-done .agenda-copy strong{color:var(--muted);text-decoration:line-through;text-decoration-color:#afc3cf}.row-arrow{margin-left:auto;color:var(--muted);transition:transform .16s ease}button:hover>.row-arrow{transform:translateX(2px)}.timeline{position:relative;padding:3px 0}.timeline:before{position:absolute;top:34px;bottom:34px;left:94px;width:1px;background:var(--line);content:""}.timeline-row{position:relative;z-index:1;display:grid;grid-template-columns:63px 28px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:87px;padding:10px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.timeline-row:last-child{border-bottom:0}.timeline-row:hover{background:#fbfeff}.timeline-row:hover .timeline-copy strong{color:var(--accent-deep)}.timeline-row time{color:var(--muted);font-size:14px;font-weight:800;letter-spacing:-.03em}.timeline-row:first-child time{color:var(--accent-deep)}.timeline-dot{display:block;width:12px;height:12px;margin-left:4px;border-radius:50%;background:#a6b5c4;box-shadow:0 0 0 4px #fff}.timeline-dot.is-current{background:var(--accent);animation:dot-pulse 2.6s ease-in-out infinite}.timeline-copy{display:grid;gap:5px;min-width:0}.timeline-copy strong{font-size:14px;letter-spacing:-.04em;transition:color .16s ease}.timeline-copy small,.timeline-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-copy small{color:var(--muted);font-size:11px}.timeline-copy em{display:inline-block;margin-left:7px;padding:4px 7px;border:1px solid var(--accent);border-radius:7px;color:var(--accent-deep);font-size:10px;font-style:normal;vertical-align:1px}.inner-screen{min-height:calc(100dvh - 200px)}.screen-heading{max-width:680px}.screen-heading .eyebrow{display:block;margin-bottom:12px;color:var(--accent-deep);font-size:12px;font-weight:850;letter-spacing:.02em}.screen-heading h1{margin:0;color:var(--ink);font-size:clamp(34px,4vw,44px);letter-spacing:-.075em;line-height:1.16}.screen-heading p{margin:14px 0 0;color:var(--muted);font-size:15px;font-weight:620;line-height:1.65}.week-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:34px}.week-picker button{display:grid;min-height:72px;place-items:center;align-content:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.week-picker button:hover{border-color:#b7dce2;color:var(--accent-deep);transform:translateY(-2px)}.week-picker button.is-selected{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 9px 22px rgba(13,55,105,.16)}.week-picker small{font-size:11px;font-weight:750}.week-picker strong{font-size:17px}.schedule-panel{margin-top:28px}.schedule-date{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.schedule-date>div{display:flex;align-items:baseline;gap:8px}.schedule-date strong{font-size:21px;letter-spacing:-.05em}.schedule-date span{color:var(--muted);font-size:12px;font-weight:700}.full-timeline:before{left:117px}.full-timeline .timeline-row{grid-template-columns:83px 28px minmax(0,1fr) 24px;min-height:94px;padding-right:20px}.full-timeline .timeline-row time{font-size:16px}.summary-banner{display:flex;align-items:center;justify-content:space-between;min-height:142px;margin-top:32px;padding:28px 32px;overflow:hidden;border-radius:var(--radius-card);background:var(--navy);color:#fff}.summary-banner>div{display:grid;gap:8px}.summary-banner small{color:#cfe4ee;font-size:12px;font-weight:750}.summary-banner strong{font-size:30px;letter-spacing:-.06em}.summary-banner>span{display:grid;width:72px;height:72px;place-items:center;border-radius:50%;background:rgba(21,182,197,.18);color:#55d5df}.mock-banner{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid rgba(21,182,197,.28);border-radius:16px;background:rgba(21,182,197,.08);color:var(--accent-deep)}.mock-banner>div{display:grid;gap:2px}.mock-banner strong{font-size:13px;font-weight:800;letter-spacing:-.02em}.mock-banner small{color:var(--muted);font-size:12px;font-weight:650;line-height:1.45}.mock-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(21,182,197,.12);color:var(--accent-deep);font-size:11px;font-weight:800;letter-spacing:-.02em}.counseling-summary-banner,.mock-chip{align-items:center}.counseling-primary-actions{display:flex;align-items:center;gap:8px}.counseling-case-list{display:grid;gap:12px;margin-top:14px}.counseling-case-card{display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;box-shadow:0 9px 26px rgba(33,57,86,.05)}.counseling-case-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.counseling-case-card>header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(21,182,197,.11);color:var(--accent-deep)}.counseling-case-card>header>div{display:grid;gap:3px;min-width:0}.counseling-case-card>header em{width:-moz-max-content;width:max-content;padding:3px 7px;border-radius:999px;background:#edf4f8;color:#476277;font-size:10px;font-style:normal;font-weight:850}.counseling-case-card>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.counseling-case-card>header small,.counseling-case-card>header time{color:var(--muted);font-size:11px;font-weight:700}.counseling-case-card>header time{text-align:right}.counseling-case-card.is-confirmed>header em{background:rgba(21,182,197,.12);color:var(--accent-deep)}.counseling-case-card.is-requested>header em,.counseling-case-card.is-rescheduleRequested>header em{background:rgba(255,184,0,.15);color:#916700}.counseling-case-card.is-completed>header em{background:rgba(35,163,91,.13);color:#187746}.counseling-case-card.is-cancelled{opacity:.78}.counseling-candidates,.counseling-case-meta{display:flex;flex-wrap:wrap;gap:6px}.counseling-candidates span,.counseling-case-meta span{padding:5px 8px;border-radius:9px;background:#f2f6f8;color:#4f6575;font-size:10px;font-weight:800}.counseling-case-card>p{margin:0;color:#506679;font-size:12px;line-height:1.65;white-space:pre-wrap}.counseling-shared-note{display:grid;gap:5px;padding:13px;border-radius:12px;background:#f6f9fb}.counseling-shared-note strong{font-size:12px}.counseling-shared-note small{color:var(--muted);font-size:10px}.counseling-shared-note p{margin:0;color:#435b6d;font-size:11px;line-height:1.65;white-space:pre-wrap}.counseling-checklist-link{color:var(--accent-deep)!important;font-weight:800}.counseling-domain-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0 18px}.counseling-domain-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.counseling-domain-filters input,.counseling-domain-filters select{min-height:40px;border:1px solid var(--line);border-radius:11px;padding:0 11px;background:var(--surface);color:var(--ink);font:inherit}.counseling-load-more{display:flex;justify-content:center;margin-top:18px}.counseling-load-more button{border:1px solid var(--line);border-radius:999px;padding:10px 18px;background:var(--surface);color:var(--ink);font-weight:800}.counseling-case-card>footer{display:flex;flex-wrap:wrap;gap:7px;padding-top:2px}.counseling-case-card>footer button,.counseling-case-card>footer select{display:inline-flex;min-height:34px;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#395366;cursor:pointer;font:inherit;font-size:10px;font-weight:850}.counseling-case-card>footer button:hover{border-color:var(--accent);color:var(--accent-deep)}.counseling-case-card>footer button.is-danger{color:#bd4650}.counseling-form-sheet form{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.counseling-case-card>header{grid-template-columns:auto minmax(0,1fr)}.counseling-case-card>header time{grid-column:2;text-align:left}.counseling-form-sheet form{grid-template-columns:1fr}.counseling-form-sheet .schedule-field-wide{grid-column:auto}}.student-quick-links{margin-top:28px}.collection-section{margin-top:30px}.collection-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin-bottom:17px}.collection-toolbar .filter-tabs{flex:0 1 auto;max-width:100%}.search-field{display:flex;flex:1 1 300px;align-items:center;gap:9px;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--muted);transition:border-color .16s ease,box-shadow .16s ease}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.search-field input::-moz-placeholder{color:#9aa8b9}.search-field input::placeholder{color:#9aa8b9}.filter-tabs{display:inline-flex;flex-wrap:wrap;gap:3px;padding:4px;border-radius:11px;background:#edf4f7}.filter-tabs button{flex:0 0 auto;min-height:36px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:800;white-space:nowrap;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.filter-tabs button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:12px;min-height:96px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.collection-card:hover{border-color:#b9dce2;box-shadow:0 10px 28px rgba(27,70,105,.08);transform:translateY(-2px)}.card-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-deep)}.card-copy{display:grid;gap:6px;min-width:0}.card-copy strong{font-size:14px;letter-spacing:-.04em}.card-copy small,.card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-copy small{color:var(--muted);font-size:11px}.card-side{display:grid;justify-items:end;gap:6px}.card-side em{padding:5px 7px;border-radius:7px;background:var(--accent-soft);color:var(--accent-deep);font-style:normal;font-weight:800}.card-side em,.card-side small{font-size:10px;white-space:nowrap}.card-side small{color:var(--muted);font-weight:750}.card-arrow{color:var(--muted);transition:transform .16s ease}.collection-card:hover .card-arrow{transform:translateX(2px)}.records-subject-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.records-subject-card .profile-avatar{width:54px;height:54px;color:var(--accent-deep);background:var(--accent-soft)}.records-subject-card strong{display:block;font-size:16px;letter-spacing:-.04em}.records-subject-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.records-subject-card>em{padding:7px 10px;border-radius:8px;background:var(--navy);color:#fff;font-size:11px;font-style:normal;font-weight:850}.records-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.records-overview-card{display:grid;gap:4px;min-height:112px;padding:14px 12px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.records-overview-card:hover{border-color:#b9dce2;box-shadow:0 10px 24px rgba(27,70,105,.08);transform:translateY(-2px)}.records-overview-card>span{display:grid;width:34px;height:34px;place-items:center;margin-bottom:4px;border-radius:10px;background:var(--accent-soft);color:var(--accent-deep)}.records-overview-card small{color:var(--muted);font-size:11px;font-weight:750}.records-overview-card strong{font-size:18px;letter-spacing:-.05em}.records-overview-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:600;line-height:1.35}.records-overview-card.is-progress>span{background:#e8f3ff;color:#1d5f9c}.records-overview-card.is-grade>span{background:#fff0e8;color:#c45b22}.records-overview-card.is-aptitude>span{background:#f0eaff;color:#6b3db5}.records-overview-card.is-observe>span{background:#e5f8fa;color:#079cac}.records-overview-card.is-material>span{background:#eef2f6;color:#4a5d73}.records-collection{margin-top:28px}.records-toolbar{flex-wrap:wrap}.records-filter-tabs{flex-wrap:wrap;max-width:100%}.records-list{display:grid;gap:10px}.records-item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:start;gap:12px;width:100%;min-height:108px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.records-item:hover{border-color:#b9dce2;box-shadow:0 10px 28px rgba(27,70,105,.08);transform:translateY(-2px)}.records-item-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-deep)}.records-item.is-progress .records-item-icon{background:#e8f3ff;color:#1d5f9c}.records-item.is-grade .records-item-icon{background:#fff0e8;color:#c45b22}.records-item.is-aptitude .records-item-icon{background:#f0eaff;color:#6b3db5}.records-item.is-observe .records-item-icon{background:#e5f8fa;color:#079cac}.records-item.is-material .records-item-icon{background:#eef2f6;color:#4a5d73}.records-item-copy{display:grid;gap:5px;min-width:0;padding-top:2px}.records-item-copy>em{width:-moz-fit-content;width:fit-content;padding:3px 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent-deep);font-size:10px;font-style:normal;font-weight:850}.records-item.is-progress .records-item-copy>em{background:#e8f3ff;color:#1d5f9c}.records-item.is-grade .records-item-copy>em{background:#fff0e8;color:#c45b22}.records-item.is-aptitude .records-item-copy>em{background:#f0eaff;color:#6b3db5}.records-item.is-observe .records-item-copy>em{background:#e5f8fa;color:#079cac}.records-item.is-material .records-item-copy>em{background:#eef2f6;color:#4a5d73}.records-item-copy strong{overflow:hidden;font-size:14px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.records-item-copy>small{color:var(--muted);font-size:11px}.records-item-copy>p{display:-webkit-box;margin:2px 0 0;overflow:hidden;color:#4d5f73;font-size:12px;font-weight:600;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.records-item-side{display:grid;justify-items:end;gap:6px;padding-top:4px}.records-item-side strong{font-size:13px;letter-spacing:-.03em;color:var(--navy-deep)}.records-item-side small{color:var(--muted);font-size:10px;font-weight:750;text-align:right;max-width:9.5rem}.records-item .card-arrow{margin-top:12px;color:var(--muted)}.detail-note.is-record-body span{white-space:pre-wrap;line-height:1.55}.detail-mark.is-record{background:var(--accent-soft);color:var(--accent-deep)}.empty-state{display:grid;min-height:270px;place-items:center;align-content:center;gap:9px;padding:35px 20px;border:1px dashed #cbdde6;border-radius:var(--radius-group);background:#fbfeff;text-align:center}.empty-state.compact{min-height:190px}.empty-state>span{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep)}.empty-state strong{margin-top:5px;font-size:16px;letter-spacing:-.04em}.empty-state p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.profile-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:110px;margin-top:32px;padding:22px;border-radius:var(--radius-card);background:var(--navy);color:#fff}.profile-avatar{display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);color:#7be1e7}.profile-card>div{display:grid;gap:6px}.profile-card>div strong{font-size:19px;letter-spacing:-.05em}.profile-card>div small{color:#cfe0ea;font-size:12px}.profile-card>em{padding:7px 9px;border-radius:8px;background:var(--accent);font-size:10px;font-style:normal;font-weight:850}.role-switcher-section,.settings-section{margin-top:34px}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-grid a{display:grid;min-height:120px;place-items:center;align-content:center;gap:5px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-group);color:var(--ink);text-align:center;text-decoration:none;transition:border-color .16s ease,transform .16s ease,background-color .16s ease}.role-grid a:hover{border-color:#b7dce2;background:#fbfeff;transform:translateY(-2px)}.role-grid a.is-current{border-color:var(--accent);background:var(--accent-soft)}.role-grid a>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:850}.role-grid a strong{font-size:12px;letter-spacing:-.03em}.role-grid a small{color:var(--muted);font-size:10px}.settings-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.settings-list a,.settings-list button{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;text-align:left;text-decoration:none}.settings-list a:last-child,.settings-list button:last-child{border-bottom:0}.settings-list a:hover,.settings-list button:hover{background:#fbfeff}.settings-list a>span:first-child,.settings-list button>span{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-deep)}.settings-list a strong,.settings-list button strong{display:block;font-size:13px}.settings-list a .settings-copy{display:grid;gap:3px;min-width:0}.settings-list a em{display:block;color:var(--muted);font-size:12px;font-style:normal;font-weight:600;line-height:1.35}.settings-list a>svg,.settings-list button>svg{color:var(--muted)}.notification-preference-intro{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:12px 14px;border-radius:var(--radius-control);background:#f2f8fa;color:#52677e;font-size:11px;font-weight:650;line-height:1.5}.notification-preference-intro svg{flex:0 0 auto;margin-top:1px;color:var(--accent-deep)}.notification-preference-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.notification-preference-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:10px 16px;border-bottom:1px solid var(--line)}.notification-preference-row:last-child{border-bottom:0}.notification-preference-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-deep)}.notification-preference-copy{display:grid;min-width:0;gap:4px}.notification-preference-copy strong{color:var(--ink);font-size:13px;letter-spacing:-.03em}.notification-preference-copy small{color:var(--muted);font-size:11px;font-weight:600;line-height:1.35}.notification-toggle{position:relative;width:48px;height:28px;padding:0;border:0;border-radius:999px;background:#c9d2db;cursor:pointer;transition:background-color .16s ease,opacity .16s ease}.notification-toggle:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(15,45,76,.22);content:"";transition:transform .16s ease}.notification-toggle.is-on{background:var(--accent)}.notification-toggle.is-on:after{transform:translateX(20px)}.notification-toggle:focus-visible{outline:3px solid rgba(21,182,197,.2);outline-offset:3px}.notification-toggle:disabled{cursor:wait;opacity:.58}.notification-preference-state{display:flex;min-height:92px;align-items:center;justify-content:center;gap:12px;padding:18px;border:1px dashed #cbdde6;border-radius:var(--radius-group);background:#fbfeff;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.notification-preference-state.is-error{flex-wrap:wrap;border-color:#f0c7c2;background:#fff7f5;color:#a0443d}.notification-preference-state button{min-height:34px;padding:0 12px;border:1px solid #e7b8b2;border-radius:8px;background:#fff;color:#a0443d;cursor:pointer;font-size:11px;font-weight:800}.notification-preference-feedback{display:flex;align-items:center;gap:7px;margin:11px 0 0;padding:10px 12px;border-radius:9px;background:#effbf8;color:#167a70;font-size:11px;font-weight:750;line-height:1.45}.notification-preference-feedback.is-error{background:#fff4f2;color:#a0443d}.appearance-preference-intro{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:12px 14px;border-radius:var(--radius-control);background:#f2f8fa;color:#52677e;font-size:11px;font-weight:650;line-height:1.5}.appearance-preference-intro svg{flex:0 0 auto;margin-top:1px;color:var(--accent-deep)}.appearance-preference-groups{display:grid;gap:12px}.appearance-preference-groups fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.appearance-preference-groups legend{display:inline-flex;align-items:center;gap:7px;padding:0 6px;color:var(--ink);font-size:13px;font-weight:850;letter-spacing:-.03em}.appearance-preference-groups legend svg{color:var(--accent-deep)}.appearance-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appearance-choice-grid button{position:relative;display:grid;min-height:76px;align-content:center;gap:5px;padding:12px 40px 12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fbfeff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.appearance-choice-grid button:hover{border-color:var(--accent-deep);background:#f6fcfd;transform:translateY(-1px)}.appearance-choice-grid button.is-selected{border:2px solid var(--accent-deep);background:var(--accent-soft);box-shadow:0 0 0 2px rgba(0,119,129,.1)}.appearance-choice-grid button:disabled{cursor:wait;opacity:.62;transform:none}.appearance-choice-grid strong{font-size:13px;font-weight:850;letter-spacing:-.03em}.appearance-choice-grid small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.appearance-choice-grid button>span{position:absolute;top:50%;right:13px;display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:transparent;transform:translateY(-50%)}.appearance-choice-grid button.is-selected>span{border-color:var(--accent-deep);background:var(--accent-deep);color:#fff}.appearance-preference-state{display:flex;min-height:92px;align-items:center;justify-content:center;gap:12px;padding:18px;border:1px dashed #cbdde6;border-radius:var(--radius-group);background:#fbfeff;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.appearance-preference-state.is-error{flex-wrap:wrap;border-color:#b9483f;background:#fff7f5;color:#8d3029}.appearance-preference-state button{min-height:34px;padding:0 12px;border:1px solid;border-radius:8px;background:#fff;color:inherit;cursor:pointer;font-size:11px;font-weight:800}.appearance-preference-feedback{display:flex;align-items:center;gap:7px;margin:11px 0 0;padding:10px 12px;border-radius:9px;background:#e8f8f4;color:#126b63;font-size:11px;font-weight:750;line-height:1.45}.appearance-preference-feedback.is-error{background:#fff1ef;color:#8d3029}html[data-contrast=high] .appearance-preference-intro,html[data-contrast=high] .notification-preference-intro{background:#e6f0f3;color:var(--ink)}html[data-contrast=high] .appearance-choice-grid button,html[data-contrast=high] .appearance-preference-groups fieldset,html[data-contrast=high] .notification-preference-list{background:#fff}@media (max-width:520px){.appearance-choice-grid{grid-template-columns:1fr}}.bottom-nav{display:none}.toast{position:fixed;z-index:50;right:26px;bottom:26px;max-width:calc(100vw - 40px);padding:13px 16px;border-radius:11px;background:var(--navy);color:#f8ffff;box-shadow:0 16px 42px rgba(13,55,105,.26);font-size:13px;font-weight:750}.toast-enter{animation:toast-enter .26s cubic-bezier(.22,1,.36,1) both}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}@keyframes list-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-open{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 4px #fff}50%{box-shadow:0 0 0 4px #fff,0 0 0 8px rgba(21,182,197,.13)}}@media (max-width:899px){.workspace{width:min(100%,760px)}.topbar{display:flex;justify-content:space-between;gap:18px;padding:0 34px}.desktop-nav{display:none}.page-content{padding-bottom:116px}.bottom-nav{position:fixed;z-index:18;bottom:0;left:50%;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:min(calc(100% - 36px),760px);min-height:77px;padding:7px 12px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(253,254,254,.96);backdrop-filter:blur(14px);transform:translateX(-50%)}.bottom-nav a{position:relative;display:grid;place-items:center;align-content:center;gap:4px;padding:3px;color:var(--muted);font-size:10px;font-weight:750;text-decoration:none}.bottom-nav a.is-active{color:var(--accent-deep)}.bottom-nav a.is-active:before{position:absolute;top:-7px;width:42px;height:3px;border-radius:0 0 4px 4px;background:var(--accent);content:""}.home-columns{grid-template-columns:1fr;gap:0}.agenda-copy strong,.timeline-copy strong{font-size:15px}.agenda-copy small,.timeline-copy small{font-size:12px}.timeline:before{left:112px}.timeline-row{grid-template-columns:77px 28px minmax(0,1fr)}.full-timeline:before{left:117px}.full-timeline .timeline-row{grid-template-columns:83px 28px minmax(0,1fr) 24px}}@media (max-width:760px){.app-shell{padding:0;background:var(--surface)}.workspace{width:100%;box-shadow:none}.topbar{min-height:68px;padding:0 19px}.app-shell.is-subpage .topbar{display:none}.app-shell.is-subpage .page-content{padding-top:16px}.app-shell.is-subpage .inner-screen{min-height:calc(100dvh - 104px)}.app-shell.is-subpage[data-section=schedule] .page-content{padding-top:12px}.app-shell.is-subpage[data-role=parent] .parent-child-bar{position:sticky;z-index:19;top:0;display:flex;align-items:center;min-height:56px;padding:8px 19px;border-bottom:1px solid var(--line);background:rgba(253,254,254,.96);backdrop-filter:blur(14px)}.app-shell.is-subpage[data-role=parent] .parent-child-bar .child-switcher,.app-shell.is-subpage[data-role=parent] .parent-child-bar .child-switcher-label{width:100%}.app-shell.is-subpage[data-role=parent] .parent-child-bar .child-switcher-label{min-height:44px;padding-left:12px;padding-right:32px;border-radius:var(--radius-control);background:var(--accent-soft);border-color:rgba(21,182,197,.28)}.app-shell.is-subpage[data-role=parent] .parent-child-bar .child-switcher-caption{font-size:12px}.app-shell.is-subpage[data-role=parent] .parent-child-bar .child-switcher select{max-width:none;width:100%;font-size:14px}.app-shell.is-subpage[data-role=parent] .parent-child-bar+.page-content{padding-top:16px}.app-shell.is-subpage[data-role=parent][data-section=schedule] .parent-child-bar+.page-content{padding-top:0}.brand img{height:24px}.brand strong{font-size:18px}.role-trigger{min-height:33px;font-size:10px}.page-content{width:100%;padding:39px 19px 104px}.intro p{font-size:14px}.intro h1{font-size:clamp(29px,8.4vw,38px)}.next-lesson{grid-template-columns:minmax(0,1.28fr) minmax(126px,.72fr);min-height:258px;margin-top:30px}.next-main{padding:26px 12px 22px 24px}.next-main h2{margin:18px 0 15px;font-size:24px}.next-main p{gap:6px;margin:7px 0;font-size:12px}.next-main p svg{flex:0 0 auto;width:16px}.next-main a{min-height:42px;margin-top:15px;padding:0 10px;font-size:12px}.next-aside{margin-left:-38px;padding:25px 10px 18px 48px}.next-aside>span{width:60px;height:60px}.next-aside>span svg{width:27px}.next-aside small{font-size:10px}.next-aside strong{font-size:clamp(19px,7vw,28px)}.daily-section,.schedule-section{margin-top:38px}.section-head h2{font-size:21px}.agenda-row{grid-template-columns:43px minmax(0,1fr) 36px;gap:12px;min-height:80px;padding:12px 14px}.agenda-icon{width:41px;height:41px}.timeline:before{left:94px}.timeline-row{grid-template-columns:63px 28px minmax(0,1fr);min-height:82px;padding:10px 14px}.timeline-row time{font-size:14px}.bottom-nav{width:100%;min-height:71px}.toast{right:14px;bottom:84px;left:14px}.inner-screen{min-height:calc(100dvh - 170px)}.screen-heading h1{font-size:34px}.screen-heading p{margin-top:11px;font-size:13px}.week-picker{gap:4px;margin-top:27px}.week-picker button{min-height:62px;border-radius:10px}.week-picker small{font-size:10px}.week-picker strong{font-size:15px}.schedule-panel{margin-top:24px}.schedule-date strong{font-size:19px}.full-timeline:before{left:94px}.full-timeline .timeline-row{grid-template-columns:63px 28px minmax(0,1fr) 18px;min-height:88px;padding-right:13px}.full-timeline .timeline-row time{font-size:14px}.summary-banner{min-height:126px;margin-top:27px;padding:24px}.summary-banner strong{font-size:27px}.summary-banner>span{width:62px;height:62px}.collection-section{margin-top:24px}.collection-toolbar{display:grid;gap:12px}.search-field{width:100%;height:44px}.filter-tabs{display:flex;flex-wrap:wrap;width:100%}.filter-tabs button{flex:1 1 auto;min-width:-moz-max-content;min-width:max-content;padding:0 10px}.collection-grid{grid-template-columns:1fr;gap:9px}.collection-card{min-height:88px;padding:14px}.records-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.records-overview-card{min-height:104px;padding:12px}.records-item{grid-template-columns:41px minmax(0,1fr) 17px;padding:14px}.records-item-side{display:none}.records-filter-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;width:100%}.profile-card{grid-template-columns:54px minmax(0,1fr) auto;min-height:100px;margin-top:27px;padding:18px}.profile-avatar{width:54px;height:54px}.role-switcher-section,.settings-section{margin-top:30px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid a{min-height:112px}}@media (max-width:374px){.topbar{padding:0 14px}.brand{gap:7px}.brand img{height:22px}.brand strong{font-size:16px}.role-trigger{padding:0 6px}.bell-button{width:34px}.page-content{padding-right:15px;padding-left:15px}.intro h1{font-size:28px}.next-lesson{grid-template-columns:minmax(0,1.31fr) minmax(113px,.69fr)}.next-main{padding-left:20px}.next-main h2{font-size:22px}.next-aside{padding-left:43px}.timeline-copy em{display:none}.week-picker{gap:3px}.week-picker button{min-height:58px}.collection-card{grid-template-columns:41px minmax(0,1fr) 17px}.card-side,.profile-card>em{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-role=student] .intro h1 strong{color:#5c54c7}[data-role=student] .next-lesson{border-color:#d8ddfa;background:linear-gradient(118deg,#173d79,#254f96 62%,#335aaa)}[data-role=student] .next-badge{background:#746ad6}[data-role=student] .next-aside>span{background:#eeedff;color:#6258c7}[data-role=student] .agenda-row:first-child .agenda-icon{background:#fff0e6;color:#d1653f}[data-role=student] .agenda-row:nth-child(2) .agenda-icon{background:#fff8cd;color:#9d7814}[data-role=student] .agenda-row:nth-child(3) .agenda-icon{background:#ebe9ff;color:#6356c8}.student-learning-strip{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:11px;margin-top:18px}.learning-card{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:102px;padding:14px;border:1px solid transparent;border-radius:var(--radius-group);color:var(--ink);cursor:pointer;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.learning-card:hover{transform:translateY(-2px);box-shadow:0 13px 25px rgba(30,66,119,.11)}.learning-card:active{transform:translateY(1px) scale(.99)}.learning-card.is-coral{border-color:#f6d5c6;background:#fff2ec}.learning-card.is-lemon{border-color:#eee2a8;background:#fffbe2}.learning-card.is-violet{border-color:#ddd8fb;background:#f1f0ff}.learning-card-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-control)}.is-coral .learning-card-icon{background:#fbd1bd;color:#b84b2a}.is-lemon .learning-card-icon{background:#f6e99d;color:#806209}.is-violet .learning-card-icon{background:#d8d3fa;color:#574ab9}.learning-card-copy{display:grid;min-width:0}.learning-card-copy small{color:#64708a;font-size:11px;font-weight:800}.learning-card-copy strong{margin-top:2px;font-size:23px;letter-spacing:-.065em;line-height:1.05}.learning-card-copy em{overflow:hidden;margin-top:5px;color:#6a7790;font-size:10px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-notice-section{margin-top:47px}.notice-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.notice-card-list button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:88px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notice-card-list button:hover{border-color:#c5d9eb;box-shadow:0 10px 23px rgba(30,66,119,.09);transform:translateY(-2px)}.notice-card-list button:active{transform:translateY(1px) scale(.99)}.notice-card-list button>span:nth-child(2){display:grid;min-width:0;gap:5px}.notice-card-list strong{font-size:13px;letter-spacing:-.04em}.notice-card-list small,.notice-card-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-card-list small{color:var(--muted);font-size:11px;font-weight:650}.notice-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:var(--radius-control)}.notice-icon.is-yellow{background:#fff3c7;color:#9a7210}.notice-icon.is-blue{background:#e1f1ff;color:#2673ad}.student-collection-screen .screen-heading,.student-task-screen .screen-heading{max-width:620px}.class-focus-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:146px;margin-top:32px;padding:22px;border:1px solid #ddd8fb;border-radius:var(--radius-card);background:linear-gradient(105deg,#f1efff,#f9f9ff)}.class-focus-card.is-empty{opacity:.88}.class-focus-card.is-loading strong{color:#7a73b8}.focus-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;background:#dcd7fb;color:#574bb7}.class-focus-card>div{display:grid;min-width:0;gap:5px}.class-focus-card small{color:#6258c0;font-size:11px;font-weight:850}.class-focus-card strong{overflow:hidden;font-size:20px;letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap}.class-focus-card p{margin:0;color:var(--muted);font-size:12px;font-weight:650}.class-focus-card button{min-height:42px;padding:0 13px;border:0;border-radius:var(--radius-control);background:#6358c8;color:#fff;cursor:pointer;font-size:12px;font-weight:800;transition:transform .16s ease,background-color .16s ease}.class-focus-card button:hover{background:#5046ad;transform:translateY(-2px)}.class-focus-card button:active{transform:translateY(1px) scale(.98)}.class-list-section{margin-top:34px}.class-list-head{align-items:center}.class-list-head-actions{display:inline-flex;align-items:center;gap:10px}.class-enroll-trigger{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 11px;border:1px solid #cfd9f5;border-radius:var(--radius-control);background:#eef1ff;color:#4f46b8;cursor:pointer;font-size:12px;font-weight:800;transition:background-color .16s ease,transform .16s ease}.class-enroll-trigger:hover{background:#e4e8ff;transform:translateY(-1px)}.class-enroll-empty-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:14px;padding:0 16px;border:0;border-radius:var(--radius-control);background:#6358c8;color:#fff;cursor:pointer;font-size:13px;font-weight:800}.class-enroll-layer{position:fixed;z-index:42;inset:0;display:grid;align-items:end;justify-items:stretch}.class-enroll-backdrop{position:absolute;inset:0;border:0;background:rgba(7,28,57,.34);cursor:default}.class-enroll-panel{position:relative;display:flex;flex-direction:column;gap:14px;width:min(560px,100%);max-height:min(82dvh,720px);margin:0 auto;padding:22px 20px 28px;overflow:auto;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -16px 40px rgba(9,42,82,.16);animation:drawer-enter .28s cubic-bezier(.22,1,.36,1) both}.class-enroll-panel-head{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:12px;align-items:start}.class-enroll-panel-head small{color:#6258c0;font-size:11px;font-weight:850}.class-enroll-panel-head h2{margin:6px 0 0;font-size:22px;letter-spacing:-.05em}.class-enroll-panel-head p{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:650;line-height:1.5}.class-enroll-panel-head button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);cursor:pointer}.class-enroll-summary{display:flex;gap:10px;flex-wrap:wrap}.class-enroll-summary span{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:#f1f5fb;color:var(--navy);font-size:11px;font-weight:800}.class-enroll-feedback{margin:0;padding:11px 12px;border-radius:10px;background:#eefaf6;color:#17796d;font-size:12px;font-weight:750}.class-enroll-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.class-enroll-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:74px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fbfdfe}.class-enroll-list li div{display:grid;gap:4px;min-width:0}.class-enroll-list strong{font-size:14px;letter-spacing:-.03em}.class-enroll-list small,.class-enroll-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-enroll-list small{color:var(--muted);font-size:11px;font-weight:650}.class-enroll-list em.is-enrolled{display:inline-flex;min-height:36px;align-items:center;padding:0 12px;border-radius:9px;background:#e8f7f2;color:#17796d;font-size:12px;font-style:normal;font-weight:850}.class-enroll-list button{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:#6358c8;color:#fff;cursor:pointer;font-size:12px;font-weight:800}.class-enroll-list button:disabled{opacity:.65;cursor:wait}.student-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-class-card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:6px 12px;min-height:148px;padding:17px;border:1px solid transparent;border-radius:var(--radius-group);color:var(--ink);text-align:left;transition:box-shadow .16s ease,border-color .16s ease}.student-class-icon{grid-row:1;display:grid;width:42px;height:42px;place-items:center;border-radius:var(--radius-control)}.student-class-copy{grid-column:2;grid-row:1;display:grid;min-width:0;gap:4px;align-content:start}.student-class-copy strong{font-size:14px;letter-spacing:-.045em}.student-class-copy small,.student-class-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-class-copy small{color:#64708a;font-size:11px;font-weight:650}.student-class-copy em{overflow:hidden;color:#52617a;font-size:10px;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.student-class-info-btn{grid-column:1/-1;grid-row:2;align-self:end;min-height:40px;margin-top:6px;padding:0 12px;border:1px solid rgba(23,61,121,.12);border-radius:var(--radius-control);background:rgba(255,255,255,.72);color:var(--navy);cursor:pointer;font-size:12px;font-weight:800;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.student-class-info-btn:hover{background:#fff;border-color:rgba(23,61,121,.22);transform:translateY(-1px)}.student-class-info-btn:active{transform:translateY(1px) scale(.99)}.student-class-card.color-0{border-color:#f4d2c4;background:#fff1eb}.student-class-card.color-0 .student-class-icon{background:#fbd1be;color:#b84a2a}.student-class-card.color-1{border-color:#d9e4ae;background:#f6fadf}.student-class-card.color-1 .student-class-icon{background:#e6efa9;color:#6b7c1d}.student-class-card.color-2{border-color:#d8d5f9;background:#f0efff}.student-class-card.color-2 .student-class-icon{background:#d8d3fa;color:#584db6}.student-class-card.color-3{border-color:#c9e5ee;background:#eaf8fb}.student-class-card.color-3 .student-class-icon{background:#ccecf3;color:#168397}.class-plan-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:19px 20px;border:1px solid #d8e7ef;border-radius:var(--radius-group);background:#f8fdff;color:var(--accent-deep)}.class-plan-card div{display:grid;gap:4px}.class-plan-card span{color:var(--muted);font-size:11px;font-weight:800}.class-plan-card strong{color:var(--ink);font-size:14px;letter-spacing:-.04em}.class-plan-card small{color:var(--muted);font-size:11px;font-weight:650}.task-summary-card{display:flex;align-items:center;justify-content:space-between;min-height:126px;margin-top:30px;padding:23px 27px;overflow:hidden;border-radius:var(--radius-card);background:linear-gradient(120deg,#245092,#315daa);color:#fff}.task-summary-card div{display:grid;gap:6px}.task-summary-card small{color:#d7e8ff;font-size:12px;font-weight:800}.task-summary-card strong{font-size:32px;letter-spacing:-.07em}.task-summary-card strong em{color:#cadcf8;font-size:18px;font-style:normal;font-weight:750}.task-summary-card>span{display:grid;width:65px;height:65px;place-items:center;border-radius:50%;background:rgba(255,255,255,.15);color:#d9f6ff}.task-filter-row{display:inline-flex;gap:5px;margin-top:25px;padding:4px;border-radius:11px;background:#edf4f7}.task-filter-row button{min-height:36px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.task-filter-row button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.task-list{display:grid;gap:10px;margin-top:14px}.task-card{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:stretch;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-group);transition:box-shadow .16s ease,opacity .16s ease}.task-card:focus-within{box-shadow:0 0 0 3px rgba(21,182,197,.18)}.task-card.color-0{border-color:#f4d7c9;background:#fff4ef}.task-card.color-1{border-color:#d5e7b5;background:#f7fbe6}.task-card.color-2{border-color:#dcd7fb;background:#f3f1ff}.task-main{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:84px;padding:14px 14px 14px 17px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.task-main:hover{background:rgba(255,255,255,.3)}.task-order{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(255,255,255,.78);color:var(--muted);font-size:11px;font-weight:850}.task-main>span:nth-child(2){display:grid;min-width:0;gap:5px}.task-main strong{font-size:14px;letter-spacing:-.04em}.task-main small,.task-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-main small{color:var(--muted);font-size:11px;font-weight:650}.task-check{display:grid;width:52px;min-height:84px;place-items:center;border:0;border-left:1px solid rgba(25,65,104,.1);background:rgba(255,255,255,.36);color:#a5b6c5;cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .16s ease}.task-check:hover{background:rgba(255,255,255,.75);color:var(--accent-deep)}.task-check:active{transform:scale(.96)}.task-card.is-done{opacity:.64}.task-card.is-done .task-main strong{text-decoration:line-through;text-decoration-color:#8ba2b3}.task-card.is-done .task-check{background:var(--accent);color:#fff}.notification-control{position:relative}.notification-panel{position:absolute;z-index:31;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 32px));padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-float);animation:menu-open .18s ease both}.notification-panel>div{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 10px}.notification-panel>div strong{font-size:14px;letter-spacing:-.04em}.notification-panel>div button{border:0;background:transparent;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:800}.notification-panel>button{display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:8px;column-gap:8px;width:100%;padding:11px 8px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.notification-panel>button:hover{background:#f2f9fb}.notification-panel>button>span{grid-row:span 2;display:grid;place-items:start center;padding-top:4px}.notification-panel i{display:block;width:7px;height:7px;border-radius:50%;background:var(--accent)}.notification-panel strong{font-size:12px;letter-spacing:-.035em}.notification-panel small,.notification-panel strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-panel small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:650}.notification-panel>button.is-read{color:var(--muted)}.notification-empty{margin:0;padding:18px 10px 20px;color:var(--muted);font-size:11px;text-align:center}.detail-layer{position:fixed;z-index:40;inset:0;display:grid;justify-items:end}.detail-backdrop{position:absolute;inset:0;border:0;background:rgba(7,28,57,.32);cursor:default;animation:detail-fade .18s ease both}.detail-drawer{position:relative;display:flex;flex-direction:column;width:min(430px,100%);min-height:100dvh;padding:27px 29px 34px;overflow-y:auto;background:#fff;box-shadow:-18px 0 52px rgba(9,42,82,.18);animation:drawer-enter .3s cubic-bezier(.22,1,.36,1) both}.detail-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-drawer-head>span{color:var(--muted);font-size:12px;font-weight:850}.detail-drawer-head button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);cursor:pointer;transition:background-color .16s ease,transform .16s ease}.detail-drawer-head button:hover{background:#f2f8fa;transform:rotate(3deg)}.detail-mark{display:grid;width:58px;height:58px;place-items:center;margin-top:45px;border-radius:17px}.detail-mark.is-task{background:#fff0e7;color:#c25c36}.detail-mark.is-class{background:#eeeaff;color:#5b4fbd}.detail-mark.is-schedule{background:#e3f5f8;color:#158397}.detail-mark.is-notice{background:#fff4c8;color:#9b7312}.detail-mark.is-item{background:var(--accent-soft);color:var(--accent-deep)}.detail-status{display:inline-flex;width:-moz-fit-content;width:fit-content;margin:22px 0 0;padding:6px 9px;border-radius:8px;background:#edf4f7;color:var(--accent-deep);font-size:11px;font-weight:850}.detail-drawer h2{margin:14px 0 0;color:var(--ink);font-size:27px;letter-spacing:-.07em;line-height:1.25}.detail-meta{margin:12px 0 0;color:var(--muted);font-size:14px;font-weight:650;line-height:1.6}.detail-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:29px;padding:15px;border-radius:var(--radius-group);background:#f4f9fb;color:#58718a;font-size:12px;font-weight:650;line-height:1.55}.detail-note svg{color:var(--accent-deep)}.detail-value{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:14px 15px;border:1px solid var(--line);border-radius:var(--radius-control)}.detail-value small{color:var(--muted);font-size:11px;font-weight:750}.detail-value strong{color:var(--ink);font-size:13px;letter-spacing:-.03em}.detail-attachment{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;margin-top:12px;padding:0 14px;border:1px solid #bfe3ef;border-radius:var(--radius-control);background:#eef9fc;color:var(--accent-deep);font-size:12px;font-weight:850;text-decoration:none}.detail-attachment:hover{border-color:var(--accent);background:#e5f7fa}.detail-recipient-lists{display:grid;gap:12px;margin-top:16px}.detail-recipient-group{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-group);background:#fbfdfe}.detail-recipient-group>header{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f4f8fb}.detail-recipient-group>header>span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:#e9f2f8;color:var(--navy)}.detail-recipient-group>header strong{color:var(--ink);font-size:13px;letter-spacing:-.03em}.detail-recipient-group>header em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.detail-recipient-group.is-completed>header{background:#effaf6;border-bottom-color:#d7efe8}.detail-recipient-group.is-completed>header>span{background:#e2f5ef;color:#17796d}.detail-recipient-group.is-completed>header em,.detail-recipient-group.is-completed>header strong{color:#17796d}.detail-recipient-group.is-incomplete>header{background:#fff8f1;border-bottom-color:#f0e0d0}.detail-recipient-group.is-incomplete>header>span{background:#fff0e4;color:#b6602b}.detail-recipient-group.is-incomplete>header em,.detail-recipient-group.is-incomplete>header strong{color:#b6602b}.detail-recipient-group>ul{display:grid;gap:0;margin:0;padding:4px 0;list-style:none}.detail-recipient-group>ul>li{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:-.02em;border-top:1px solid #eef3f7}.detail-recipient-group>ul>li:first-child{border-top:0}.detail-recipient-group>ul>li svg{flex:0 0 auto;color:#8aa0b4}.detail-recipient-empty{margin:0;padding:16px 14px;color:var(--muted);font-size:12px;font-weight:700}.detail-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;margin-top:auto;padding:0 15px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:13px;font-weight:850;transition:background-color .16s ease,transform .16s ease}.detail-primary:hover{background:var(--navy-deep);transform:translateY(-2px)}.detail-primary:active{transform:translateY(1px) scale(.99)}.detail-primary.is-complete{background:var(--accent-deep)}@keyframes detail-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-enter{0%{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}@media (max-width:760px){.student-learning-strip{grid-template-columns:1fr;gap:8px;margin-top:13px}.learning-card{min-height:76px;grid-template-columns:38px minmax(0,1fr) 18px;padding:11px 13px}.learning-card-copy{grid-template-columns:auto auto 1fr;align-items:center;-moz-column-gap:7px;column-gap:7px}.learning-card-copy small{grid-column:1/-1}.learning-card-copy strong{margin-top:0;font-size:20px}.learning-card-copy em{margin-top:1px}.student-notice-section{margin-top:37px}.notice-card-list{grid-template-columns:1fr;gap:8px}.notice-card-list button{min-height:79px}.class-focus-card{grid-template-columns:50px minmax(0,1fr);min-height:0;margin-top:25px;padding:18px}.focus-icon{width:50px;height:50px;border-radius:15px}.class-focus-card strong{font-size:16px}.class-focus-card button{grid-column:1/-1;width:100%;margin-top:7px}.class-list-section{margin-top:29px}.class-list-head{flex-wrap:wrap;gap:10px}.class-enroll-trigger span{display:none}.class-enroll-trigger{width:40px;min-height:40px;justify-content:center;padding:0}.student-class-grid{grid-template-columns:1fr;gap:9px}.student-class-card{min-height:0}.student-class-info-btn{min-height:44px}.class-enroll-panel{width:100%;padding:18px 16px 24px}.class-enroll-list li{grid-template-columns:minmax(0,1fr);gap:10px}.class-enroll-list button,.class-enroll-list em.is-enrolled{width:100%;justify-content:center}.class-plan-card{margin-top:14px;padding:17px}.class-plan-card small{line-height:1.45}.task-summary-card{min-height:112px;margin-top:25px;padding:20px}.task-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:20px}.task-filter-row button{padding:0 7px}.task-check,.task-main{min-height:78px}.notification-panel{position:fixed;top:75px;right:14px;left:14px;width:auto}.detail-drawer{width:min(100%,480px);padding:22px 21px 27px}.detail-mark,.detail-primary{margin-top:32px}.detail-layer.is-schedule{align-items:end;justify-items:stretch}.detail-drawer.is-schedule{width:100%;min-height:0;max-height:min(82dvh,680px);padding:21px 21px max(25px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;box-shadow:0 -18px 52px rgba(9,42,82,.18);animation:schedule-sheet-enter .28s cubic-bezier(.22,1,.36,1) both}.detail-drawer.is-schedule .detail-mark{width:48px;height:48px;margin-top:23px;border-radius:14px}.detail-drawer.is-schedule .detail-status{margin-top:17px}.detail-drawer.is-schedule h2{margin-top:11px;font-size:24px}.detail-drawer.is-schedule .detail-note{margin-top:20px}.detail-drawer.is-schedule .detail-primary{margin-top:24px}}.schedule-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.schedule-head-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.schedule-view-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:148px;padding:4px;border-radius:11px;background:#edf4f7}.schedule-view-toggle button{min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:850}.schedule-view-toggle button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.schedule-add-primary{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 16px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:13px;font-weight:850;white-space:nowrap;transition:background-color .16s ease,transform .16s ease}.schedule-add-primary:hover{background:var(--navy-deep);transform:translateY(-2px)}.schedule-add-primary:active{transform:translateY(1px) scale(.98)}.schedule-add-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.schedule-readonly{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#f7fafc;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.schedule-feedback-top{margin-top:18px}.week-timetable-shell{margin-top:28px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.week-timetable-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px 16px;border-bottom:1px solid var(--line);background:#f8fbfd}.week-timetable-nav{display:flex;min-width:0;align-items:center;gap:8px}.week-timetable-nav>button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer}.week-timetable-nav>button:hover{background:var(--accent-soft);color:var(--accent-deep)}.week-timetable-nav>div{display:grid;min-width:0;gap:2px}.week-timetable-nav strong{color:var(--ink);font-size:17px;letter-spacing:-.04em}.week-timetable-nav span{color:var(--muted);font-size:11px;font-weight:750}.week-timetable-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.week-timetable-add{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:var(--navy);color:#fff;cursor:pointer;font-size:11px;font-weight:850}.week-timetable-add:disabled{opacity:.45;cursor:not-allowed}.week-timetable-scroll{overflow-x:auto}.week-timetable{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;table-layout:fixed}.week-timetable td,.week-timetable th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}.week-timetable td:last-child,.week-timetable th:last-child{border-right:0}.week-timetable thead th{padding:0;background:#eef5f8;color:var(--muted);font-size:11px;font-weight:850;text-align:center}.week-timetable-time-head{width:92px;min-width:92px;padding:12px 8px!important;background:#e4eef3!important;color:#3f566c!important;letter-spacing:-.03em}.week-timetable thead th>button{display:grid;width:100%;min-height:56px;place-items:center;gap:2px;padding:8px 4px;border:0;background:transparent;color:inherit;cursor:pointer}.week-timetable thead th>button small{font-size:10px;font-weight:850;text-transform:uppercase}.week-timetable thead th>button strong{color:var(--ink);font-size:13px;letter-spacing:-.04em}.week-timetable thead th.is-sat>button,.week-timetable thead th.is-sat>button strong{color:#3477b0}.week-timetable thead th.is-sun>button,.week-timetable thead th.is-sun>button strong{color:#c05b57}.week-timetable thead th.is-today{background:#e4f6f8}.week-timetable thead th.is-today>button strong{color:var(--accent-deep)}.week-timetable thead th.is-selected{box-shadow:inset 0 -3px 0 var(--accent)}.week-timetable-time-cell{width:92px;min-width:92px;padding:12px 8px;background:#f4f8fb;color:#3f566c;font-size:12px;font-weight:850;letter-spacing:-.03em;text-align:center;white-space:nowrap}.week-timetable-time-cell span{display:block;line-height:1.35}.week-timetable-time-cell span:nth-child(2){color:#8a9aab;font-size:10px;font-weight:750}.week-timetable td{min-height:110px;padding:6px;background:#fff}.week-timetable td.is-today{background:#f7fcfd}.week-timetable td.is-empty{background:#fcfdfe}.week-timetable-stack{display:grid;gap:6px;min-height:100%}.week-class-card{position:relative;min-height:88px;overflow:hidden;border:1px solid #c9e3ea;border-radius:10px;background:#eef9fb;color:#18485a}.week-class-card.tone-0{border-color:#c9e3ea;background:#eef9fb;color:#18485a}.week-class-card.tone-1{border-color:#f1c9ba;background:#fff0e9;color:#8d3f25}.week-class-card.tone-2{border-color:#d3cef5;background:#f0efff;color:#50469f}.week-class-card.tone-3{border-color:#bfe2d3;background:#eaf8f2;color:#277258}.week-class-card.tone-4{border-color:#eadba8;background:#fff8df;color:#7c5c16}.week-class-card.is-cancelled{border-color:#d2d9df;background:repeating-linear-gradient(-45deg,#f3f5f6,#f3f5f6 6px,#e9edef 0,#e9edef 12px);color:#77838d}.week-class-card.is-cancelled .week-class-code,.week-class-card.is-cancelled .week-class-students{text-decoration:line-through;opacity:.78}.week-class-main{display:grid;width:100%;min-height:88px;align-content:start;gap:5px;padding:8px 28px 8px 8px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.week-class-code{display:inline-flex;max-width:100%;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:6px;background:rgba(255,255,255,.72);font-size:13px;font-weight:900;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}.week-class-status{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.55);font-size:9px;font-style:normal;font-weight:850}.week-class-students{display:grid;gap:1px;margin:0;padding:0;list-style:none}.week-class-students li{font-weight:750;line-height:1.35;white-space:nowrap}.week-class-meta,.week-class-students li{overflow:hidden;font-size:10px;text-overflow:ellipsis}.week-class-meta{display:block;font-weight:700;line-height:1.4;opacity:.82}.week-class-edit{position:absolute;top:6px;right:5px;display:grid;width:24px;height:24px;place-items:center;border:1px solid;border-radius:7px;background:rgba(255,255,255,.72);color:inherit;cursor:pointer;opacity:.78}.week-class-edit:hover{opacity:1}.week-timetable-empty-add{display:grid;width:100%;min-height:88px;place-items:center;border:1px dashed #d5e2e9;border-radius:10px;background:transparent;color:#9aabba;cursor:pointer;opacity:0;transition:opacity .14s ease,background-color .14s ease,color .14s ease}.week-timetable td:hover .week-timetable-empty-add,.week-timetable-empty-add:focus-visible{opacity:1;background:#f5fafc;color:var(--accent-deep)}.week-timetable-empty{margin:24px}.week-timetable-note{margin:0;padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:750}.schedule-student-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.schedule-student-chips>span{display:inline-flex;max-width:100%;align-items:center;min-height:22px;padding:0 7px;overflow:hidden;border-radius:999px;background:#eef6f9;color:#3d5d72;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.calendar-shell{margin-top:34px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.counseling-screen .calendar-shell{margin-top:20px}.counseling-month-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.counseling-month-summary>div{display:grid;gap:4px;min-height:72px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.counseling-month-summary small{color:var(--muted);font-size:11px;font-weight:750}.counseling-month-summary strong{color:var(--ink);font-size:20px;letter-spacing:-.05em}.counseling-event-chip.is-booked{background:rgba(21,182,197,.14);color:var(--accent-deep)}.counseling-event-chip.is-attention{background:#fff3e8;color:#b86a12}.counseling-event-chip.is-attention i{background:#e09a3a}.counseling-event-chip.is-done{background:#eef2f5;color:#5b6b7c}.counseling-event-chip.is-done i{background:#8a99a8}.calendar-grid>button.has-counseling .calendar-day-number{box-shadow:inset 0 0 0 1.5px rgba(21,182,197,.35)}.counseling-day-panel{margin-top:24px;padding:18px 18px 8px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.counseling-day-list{margin:0 -6px}.counseling-day-row{display:grid;grid-template-columns:72px 28px minmax(0,1fr) 24px;align-items:center;gap:8px;width:100%;min-height:86px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left;transition:background-color .16s ease}.counseling-day-row:last-child{border-bottom:0}.counseling-day-row:hover{background:#fbfeff}.counseling-day-row time{color:var(--muted);font-size:15px;font-weight:800;letter-spacing:-.03em}.counseling-day-row.is-booked time{color:var(--accent-deep)}.counseling-day-row.is-attention time{color:#b86a12}.counseling-day-row .timeline-copy em{margin-left:8px;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:10px;font-style:normal;font-weight:800}.counseling-day-row.is-attention .timeline-copy em{background:#fff3e8;color:#b86a12}.counseling-day-row.is-done .timeline-copy em{background:#eef2f5;color:#5b6b7c}.counseling-log-section{margin-top:28px}.counseling-log-section .section-head{margin-bottom:14px}@media (max-width:899px){.counseling-month-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.counseling-month-summary>div{min-height:64px;padding:12px 14px}.counseling-month-summary strong{font-size:17px}.counseling-day-row{grid-template-columns:58px 22px minmax(0,1fr) 18px;min-height:78px;padding:8px 6px}.counseling-day-row time{font-size:13px}}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:10px 16px;border-bottom:1px solid var(--line)}.calendar-toolbar>div{display:flex;align-items:center;gap:6px}.calendar-toolbar>div button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.calendar-toolbar>div button:hover{background:var(--accent-soft);color:var(--accent-deep);transform:translateY(-1px)}.calendar-toolbar strong{min-width:126px;color:var(--ink);font-size:18px;letter-spacing:-.05em;text-align:center}.calendar-today{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:850;transition:border-color .16s ease,background-color .16s ease}.calendar-today:hover{border-color:#b8dce2;background:#f7fcfd}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:38px;align-items:center;border-bottom:1px solid var(--line);background:#f6fafc;color:var(--muted);text-align:center}.calendar-weekdays span{font-size:11px;font-weight:850}.calendar-weekdays span:nth-child(6){color:#3477b0}.calendar-weekdays span:nth-child(7){color:#c05b57}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid>button{position:relative;display:flex;min-width:0;min-height:104px;flex-direction:column;gap:6px;padding:8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:background-color .16s ease,box-shadow .16s ease}.calendar-grid>button:nth-child(7n){border-right:0}.calendar-grid>button:nth-last-child(-n+7){border-bottom:0}.calendar-grid>button:hover{z-index:1;background:#f7fcfd}.calendar-grid>button.is-outside{background:#fafcfd;color:#aab4c0}.calendar-grid>button.is-selected{z-index:2;background:#eef9fb;box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;font-size:12px;font-weight:850}.calendar-grid>button.is-today .calendar-day-number{background:var(--navy);color:#fff}.calendar-grid>button.is-outside .calendar-event-stack{opacity:.58}.calendar-event-stack{display:grid;min-width:0;gap:3px}.calendar-event-stack>span{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;padding:4px 5px;border-radius:6px;background:var(--accent-soft);color:var(--accent-deep);font-size:9px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.calendar-event-stack i{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--accent)}.calendar-event-stack small{padding-left:5px;color:var(--muted);font-size:9px;font-weight:750}.calendar-mobile-count{display:none}.schedule-screen .schedule-panel{margin-top:31px}.schedule-screen .schedule-date{align-items:center;margin-bottom:14px}.schedule-screen .schedule-date>div{display:flex;align-items:baseline;gap:9px}.schedule-screen .schedule-date>div>span{color:var(--muted);font-size:12px;font-weight:750}.schedule-screen .schedule-date>button{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:850;transition:border-color .16s ease,background-color .16s ease}.schedule-screen .schedule-date>button:hover{border-color:#b8dce2;background:var(--accent-soft)}.schedule-feedback{display:flex;align-items:center;gap:7px;margin:0 0 12px;padding:11px 13px;border:1px solid #bfe5df;border-radius:var(--radius-control);background:#effbf8;color:#167a70;font-size:12px;font-weight:800;animation:list-enter .28s ease both}.teacher-class-empty{display:flex;align-items:center;gap:13px;margin-top:25px;padding:16px 18px;border:1px dashed #c8d9e2;border-radius:var(--radius-group);background:#fbfdfe}.teacher-class-empty>span{display:grid;flex:0 0 auto;width:45px;height:45px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.teacher-class-empty strong{font-size:14px}.teacher-class-empty p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.schedule-manage-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 54px;min-height:94px;border-bottom:1px solid var(--line);background:#fff}.schedule-manage-row:last-child{border-bottom:0}.schedule-manage-row.is-view-only{grid-template-columns:1fr}.schedule-row-main{display:grid;grid-template-columns:83px 28px minmax(0,1fr) 24px;align-items:center;gap:8px;width:100%;padding:10px 15px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left;transition:background-color .16s ease}.schedule-row-main:hover{background:#fbfeff}.schedule-manage-row.is-cancelled .schedule-row-main{background:#fafbfc}.schedule-manage-row.is-cancelled .schedule-row-main time,.schedule-manage-row.is-cancelled .timeline-copy strong{color:#8d99a6;text-decoration:line-through}.schedule-manage-row.is-cancelled .timeline-dot{background:#b8c1ca;box-shadow:none}.schedule-row-main time{color:var(--muted);font-size:16px;font-weight:800;letter-spacing:-.03em}.schedule-manage-row:first-child .schedule-row-main time,.schedule-row-main:hover .timeline-copy strong{color:var(--accent-deep)}.schedule-edit-button{display:grid;width:38px;height:38px;place-self:center;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--accent-deep);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.schedule-edit-button:hover{border-color:#b8dce2;background:var(--accent-soft);transform:translateY(-1px)}.schedule-edit-button:active{transform:translateY(1px) scale(.97)}.empty-add-button{display:inline-flex;align-items:center;gap:5px;min-height:40px;margin-top:7px;padding:0 13px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:11px;font-weight:850}.schedule-form-layer{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px}.schedule-form-backdrop{position:absolute;inset:0;border:0;background:rgba(7,28,57,.42);cursor:default;animation:detail-fade .18s ease both}.schedule-form-sheet{position:relative;width:min(520px,100%);max-height:calc(100dvh - 48px);padding:25px;overflow-y:auto;border-radius:var(--radius-card);background:#fff;box-shadow:0 26px 70px rgba(9,42,82,.22);animation:schedule-form-enter .28s cubic-bezier(.22,1,.36,1) both}.schedule-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.schedule-form-head>div{display:grid;gap:4px}.schedule-form-head span{color:var(--accent-deep);font-size:11px;font-weight:850}.schedule-form-head h2{margin:0;color:var(--ink);font-size:25px;letter-spacing:-.065em}.schedule-form-head>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);cursor:pointer}.schedule-form-head>button:hover{background:#f3f8fa}.schedule-form-sheet form{gap:16px 12px;margin-top:25px}.schedule-form-sheet form,.schedule-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-mode-toggle{gap:5px;padding:4px;border-radius:11px;background:#edf4f7}.schedule-mode-toggle button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850}.schedule-mode-toggle button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.schedule-field{display:grid;min-width:0;gap:7px}.schedule-field-wide{grid-column:1/-1}.schedule-field>span{color:#52677e;font-size:11px;font-weight:850}.schedule-field input,.schedule-field select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font-size:13px;transition:border-color .16s ease,box-shadow .16s ease}.schedule-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.schedule-field input:focus,.schedule-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.13)}.schedule-field select:disabled{background:#f3f7f9;color:var(--muted);cursor:not-allowed}.schedule-field input::-moz-placeholder{color:#9ba8b7}.schedule-field input::placeholder{color:#9ba8b7}.schedule-field input:disabled{background:#f3f7f9;color:var(--muted);cursor:not-allowed}.schedule-repeat-days{min-width:0;margin:0;padding:0;border:0}.schedule-repeat-days legend{margin-bottom:7px;color:#52677e;font-size:11px;font-weight:850}.schedule-repeat-days>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.schedule-repeat-days button{min-height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850}.schedule-repeat-days button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.schedule-form-error{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:-2px 0 0;padding:11px 13px;border:1px solid #f2c5c5;border-radius:var(--radius-control);background:#fff5f5;color:#a63636;font-size:12px;font-weight:750;line-height:1.45}.schedule-cancel-area{padding-top:2px}.schedule-cancel-area>button{display:inline-flex;min-height:39px;align-items:center;gap:6px;padding:0 11px;border:1px solid #efc9c5;border-radius:9px;background:#fffafa;color:#a0443d;cursor:pointer;font-size:10px;font-weight:850}.schedule-cancel-area>div{display:grid;gap:9px;padding:13px;border:1px solid #efc9c5;border-radius:var(--radius-control);background:#fffafa}.schedule-cancel-area label{display:grid;gap:6px}.schedule-cancel-area label span{color:#8f403b;font-size:10px;font-weight:850}.schedule-cancel-area p{margin:0;color:#9a625e;font-size:9px}.schedule-cancel-area>div>div{display:grid;grid-template-columns:.75fr 1.25fr;gap:7px}.schedule-cancel-area>div>div button{display:inline-flex;min-height:39px;align-items:center;justify-content:center;gap:5px;border-radius:8px;cursor:pointer;font-size:10px;font-weight:850}.schedule-cancel-area>div>div button:first-child{border:1px solid var(--line);background:#fff;color:var(--muted)}.schedule-cancel-area>div>div button:last-child{border:0;background:#a0443d;color:#fff}.schedule-cancel-area button:disabled{opacity:.55;cursor:not-allowed}.schedule-form-actions{grid-column:1/-1;display:grid;grid-template-columns:.75fr 1.25fr;gap:9px;margin-top:7px}.schedule-form-actions button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-control);cursor:pointer;font-size:12px;font-weight:850;transition:transform .16s ease,background-color .16s ease}.schedule-form-actions button:first-child{border:1px solid var(--line);background:#fff;color:var(--muted)}.schedule-form-actions button:last-child{border:0;background:var(--navy);color:#fff}.schedule-form-actions button:last-child:hover{background:var(--navy-deep);transform:translateY(-1px)}.schedule-form-actions button:active{transform:translateY(1px) scale(.99)}.schedule-form-actions button:disabled{opacity:.62;cursor:wait;transform:none}.schedule-loading{display:flex;min-height:190px;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px;font-weight:750}.schedule-loading>span{width:18px;height:18px;border:2px solid #d9e8ed;border-top:2px solid var(--accent-deep);border-radius:50%;animation:schedule-spin .7s linear infinite}.schedule-error-state .empty-add-button{margin-top:5px}.home-schedule-state{display:grid;min-height:160px;place-items:center;align-content:center;gap:6px;padding:20px;border:1px dashed #d2dfe6;border-radius:var(--radius-group);color:var(--muted);text-align:center}.home-schedule-state>strong{color:var(--ink);font-size:13px}.home-schedule-state>small{font-size:10px;line-height:1.45}.home-schedule-state.is-error{color:#a0443d}.timeline-row.is-cancelled{background:#fafbfc}.timeline-row.is-cancelled .timeline-copy strong,.timeline-row.is-cancelled time{color:#8d99a6;text-decoration:line-through}.timeline-row.is-cancelled .timeline-dot{background:#b8c1ca;box-shadow:none}@keyframes schedule-spin{to{transform:rotate(1turn)}}@keyframes schedule-form-enter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:760px){.schedule-page-head{flex-direction:column;align-items:flex-start;gap:14px}.schedule-page-head .screen-heading{width:100%}.schedule-page-head .screen-heading p{display:none}.schedule-head-actions{width:100%;justify-content:space-between}.schedule-view-toggle{min-width:0;flex:1 1 auto;max-width:180px}.schedule-add-primary{min-height:40px;padding:0 12px;font-size:12px}.schedule-readonly{min-height:36px;padding:0 9px;font-size:10px}.schedule-screen:not(.counseling-screen)>.teacher-class-empty{margin:14px 0}.week-timetable-shell{margin-top:16px;border-radius:var(--radius-group)}.week-timetable-toolbar{flex-wrap:wrap;min-height:0;gap:10px;padding:10px 12px}.week-timetable-nav{width:100%;justify-content:space-between}.week-timetable-nav strong{font-size:15px}.week-timetable-nav span{font-size:10px}.week-timetable-actions{width:100%;justify-content:flex-end}.week-timetable-add{min-height:34px;font-size:10px}.week-timetable{min-width:720px}.week-timetable-time-cell,.week-timetable-time-head{width:72px;min-width:72px;font-size:11px}.week-class-main{min-height:76px;padding:7px 26px 7px 7px}.week-class-code{min-height:22px;font-size:12px}.week-class-students li{font-size:9px}.week-timetable-empty-add{min-height:76px;opacity:.55}.calendar-shell{margin-top:18px;border-radius:var(--radius-group)}.calendar-toolbar{min-height:58px;padding:8px 10px}.calendar-toolbar>div{gap:2px}.calendar-toolbar>div button{width:34px;height:34px}.calendar-toolbar strong{min-width:112px;font-size:16px}.calendar-today{min-height:34px;padding:0 10px}.calendar-weekdays{min-height:33px}.calendar-weekdays span{font-size:10px}.calendar-grid>button{min-height:64px;justify-content:space-between;align-items:center;gap:2px;padding:5px 2px;text-align:center}.calendar-day-number{width:26px;height:26px;font-size:11px}.calendar-event-stack{display:none}.calendar-mobile-count{display:inline-flex;min-width:24px;align-items:center;justify-content:center;gap:3px;color:var(--accent-deep);font-size:9px;font-weight:850}.calendar-mobile-count i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.schedule-screen .schedule-panel{margin-top:20px}.schedule-screen .schedule-date{align-items:center}.schedule-screen .schedule-date>div{display:grid;gap:4px}.schedule-screen .schedule-date strong{font-size:18px}.schedule-screen .schedule-date>button{min-height:38px;padding:0 9px;font-size:10px}.schedule-manage-row{grid-template-columns:minmax(0,1fr) 48px;min-height:88px}.schedule-row-main{grid-template-columns:63px 28px minmax(0,1fr) 18px;min-height:88px;gap:7px;padding:10px 13px}.schedule-row-main time{font-size:14px}.schedule-edit-button{width:36px;height:36px}.schedule-form-layer{align-items:end;padding:0}.schedule-form-sheet{width:100%;max-height:min(86dvh,700px);padding:22px 19px max(24px,env(safe-area-inset-bottom));border-radius:19px 19px 0 0;animation-name:schedule-sheet-enter}.schedule-form-sheet form{margin-top:22px}}@media (max-width:374px){.schedule-page-head{align-items:flex-start}.schedule-view-toggle{max-width:none}.schedule-add-primary{padding:0 10px}.week-timetable-nav strong{font-size:14px}.calendar-toolbar{padding-right:8px;padding-left:8px}.calendar-toolbar strong{min-width:98px;font-size:15px}.calendar-grid>button{min-height:58px}.schedule-screen .schedule-date>button{width:40px;padding:0;font-size:0}.schedule-screen .schedule-date>button svg{width:17px;height:17px}.schedule-readonly{width:38px;padding:0;justify-content:center;font-size:0}.schedule-form-sheet form{gap:14px 9px}}@keyframes schedule-sheet-enter{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.management-screen{padding-bottom:20px}.management-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.management-heading-row .screen-heading{flex:1 1 auto}.management-heading-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;justify-content:flex-end}.management-primary{display:inline-flex;flex:0 0 auto;min-height:46px;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:12px;font-weight:850;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.management-primary:hover{background:var(--navy-deep);transform:translateY(-1px)}.management-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}.management-count-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.management-count-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-deep)}.management-count-card>small{color:var(--muted);font-size:11px;font-weight:800}.management-count-card>strong{font-size:26px;letter-spacing:-.06em}.management-count-card>strong em{margin-left:3px;color:var(--muted);font-size:10px;font-style:normal;font-weight:750}.account-action-section,.people-section{margin-top:34px}.account-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-action-grid>button{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;grid-template-rows:auto auto;align-items:center;gap:4px 12px;min-height:92px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.account-action-grid>button:hover{border-color:#b9dce2;box-shadow:0 10px 24px rgba(27,70,105,.08);transform:translateY(-2px)}.account-action-grid>button>span{display:grid;grid-row:1/3;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-deep)}.account-action-grid strong{align-self:end;font-size:14px;letter-spacing:-.04em}.account-action-grid small{align-self:start;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.account-action-grid>button>svg{grid-column:3;grid-row:1/3;color:var(--accent-deep)}.invite-result{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:17px;border:1px solid #bfe5df;border-radius:var(--radius-group);background:#effbf8;animation:list-enter .26s ease both}.invite-result>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#caeee7;color:#147d70}.invite-result>div{min-width:0}.invite-result strong{color:#146e65;font-size:13px}.invite-result p{margin:4px 0 7px;color:#5c7f7b;font-size:10px;line-height:1.45}.invite-result a{display:flex;max-width:100%;align-items:center;gap:4px;overflow:hidden;color:#167a70;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.invite-result a svg{flex:0 0 auto}.invite-result>button{display:inline-flex;min-height:37px;align-items:center;gap:5px;padding:0 10px;border:1px solid #a9dcd4;border-radius:9px;background:#fff;color:#167a70;cursor:pointer;font-size:10px;font-weight:850}.invite-result-guide{align-items:start}.credential-guide-text{margin:0;max-height:180px;overflow:auto;padding:10px 12px;border-radius:10px;background:#fff;color:#1d4a46;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55;white-space:pre-wrap}.super-admin-monitor-users{display:grid;gap:8px;margin:0;padding:0;list-style:none}.super-admin-monitor-users li{display:grid;gap:2px}.super-admin-monitor-users small{color:#6b7c79;font-size:11px}.management-feedback{margin:18px 0 0;padding:11px 13px;border:1px solid #bfe5df;border-radius:var(--radius-control);background:#effbf8;color:#167a70;font-size:11px;font-weight:780}.management-feedback.is-error{border-color:#f1c6c2;background:#fff5f4;color:#a0443d}.management-tabs{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;border-radius:11px;background:#edf4f7}.management-tabs button{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850}.management-tabs button em{display:inline-grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:#dbe6eb;color:#6f8192;font-size:9px;font-style:normal}.management-tabs button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.management-tabs button.is-selected em{background:var(--accent-soft);color:var(--accent-deep)}.student-management-list{display:grid;gap:11px}.student-management-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:16px 24px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.student-management-card.has-enrollment{grid-template-columns:minmax(0,1.1fr) minmax(160px,.7fr) minmax(180px,.85fr)}.student-enrollment-summary{min-width:0;padding-left:14px;border-left:1px solid var(--line);display:grid;align-content:start;gap:8px}.student-enrollment-summary>small{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:800}.student-enrollment-summary>p{margin:0;display:grid;gap:3px}.student-enrollment-summary>p strong{font-size:12px;letter-spacing:-.03em}.student-enrollment-summary>p em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.student-enrollment-summary>p.is-empty{color:#9aa7b6;font-size:11px}.student-enrollment-summary>button{display:inline-flex;min-height:36px;width:-moz-fit-content;width:fit-content;align-items:center;gap:5px;padding:0 11px;border:0;border-radius:9px;background:var(--navy);color:#fff;cursor:pointer;font-size:10px;font-weight:850}.enrollment-sheet{width:min(560px,100%)}.enrollment-banner{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:center;margin-top:18px;padding:12px 13px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.enrollment-banner strong{display:block;font-size:12px}.enrollment-banner p{margin:3px 0 0;font-size:10px;opacity:.9}.is-wide-block{grid-column:1/-1}.student-management-profile{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;min-width:0}.people-card-grid article>span,.student-management-profile>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--navy);color:#fff;font-size:17px;font-weight:850}.student-management-profile>div{display:grid;min-width:0;gap:3px}.student-management-profile strong{font-size:15px;letter-spacing:-.04em}.student-management-profile em,.student-management-profile small{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.guardian-summary{min-width:0;padding-left:17px;border-left:1px solid var(--line)}.guardian-summary>small{color:var(--muted);font-size:9px;font-weight:800}.guardian-summary>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.guardian-summary>div span{padding:5px 7px;border-radius:7px;background:var(--accent-soft);color:var(--accent-deep);font-size:9px;font-weight:800;display:inline-flex;align-items:center;gap:4px}.guardian-summary>div span button{display:grid;width:18px;height:18px;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.72);color:#875954;cursor:pointer}.guardian-summary p{margin:7px 0 0;color:#9aa7b6;font-size:10px}.inline-relation-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:14px;border-top:1px solid #edf2f5}.class-relation-actions select,.inline-relation-form select{min-width:0;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;outline:0;background:#fff;color:var(--ink);font-size:10px}.class-relation-actions select:focus,.inline-relation-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.class-relation-actions button,.inline-relation-form button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:0;border-radius:9px;background:var(--navy);color:#fff;cursor:pointer;font-size:10px;font-weight:850}.class-relation-actions button:disabled,.inline-relation-form button:disabled{cursor:default;opacity:.42}.people-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.people-card-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;min-height:88px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.people-card-grid article>div{display:grid;min-width:0;gap:4px}.people-card-grid article strong{font-size:14px}.people-card-grid article em,.people-card-grid article small{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.teacher-management-list{display:grid;gap:12px}.teacher-management-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.teacher-management-profile{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:13px;min-width:0}.teacher-management-profile>span,.teacher-photo-thumb{display:grid;width:56px;height:56px;place-items:center;overflow:hidden;border-radius:16px;background:var(--navy);color:#fff;font-size:18px;font-weight:850;-o-object-fit:cover;object-fit:cover}.teacher-management-profile>div{display:grid;min-width:0;gap:3px}.teacher-management-profile strong{font-size:16px;letter-spacing:-.04em}.teacher-management-profile em,.teacher-management-profile small{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.teacher-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.teacher-meta-grid>div{min-width:0;padding:10px 11px;border:1px solid #e7eef3;border-radius:10px;background:#fbfdfe}.teacher-meta-grid small{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:800}.teacher-meta-grid p{margin:5px 0 0;overflow:hidden;color:var(--ink);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.teacher-doc-chips{display:flex;flex-wrap:wrap;gap:6px}.teacher-doc-chips span{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 9px;border-radius:999px;background:#eef3f6;color:#6f8192;font-size:10px;font-weight:800}.teacher-doc-chips span.is-ready{background:var(--accent-soft);color:var(--accent-deep)}.teacher-manage-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--navy);color:#fff;cursor:pointer;font-size:11px;font-weight:850}.management-row-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding-top:10px;border-top:1px solid #edf2f5}.class-card-toolbar button,.management-row-actions button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:4px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:9px;font-weight:850}.class-card-toolbar button.is-danger,.management-form-actions button.is-danger,.management-row-actions button.is-danger{border-color:#efcbc6;background:#fff5f4;color:#a0443d}.people-card-grid .management-row-actions.is-card-actions{grid-column:1/-1}.teacher-manage-sheet{width:min(760px,100%)}.teacher-manage-sub{margin:4px 0 0;color:var(--muted);font-size:11px}.teacher-panel-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:18px;padding:4px;border-radius:11px;background:#edf4f7}.teacher-panel-tabs button{min-height:36px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850}.teacher-panel-tabs button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 3px 9px rgba(24,69,102,.09)}.teacher-panel-feedback{margin-top:14px}.teacher-panel-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:18px}.teacher-panel-form label{display:grid;min-width:0;gap:7px}.teacher-panel-form label.is-wide{grid-column:1/-1}.teacher-panel-form label>span{color:#52677e;font-size:10px;font-weight:850}.teacher-panel-form input,.teacher-panel-form select,.teacher-panel-form textarea{width:100%;min-height:47px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font:inherit;font-size:12px}.teacher-panel-form textarea{min-height:96px;padding:12px;resize:vertical;line-height:1.55}.teacher-panel-form input:focus,.teacher-panel-form select:focus,.teacher-panel-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.teacher-docs-panel{display:grid;gap:12px;margin-top:18px}.teacher-file-slot{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdfe}.teacher-file-slot>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.teacher-file-slot>header strong{font-size:14px}.teacher-file-slot>header p{margin:4px 0 0;color:var(--muted);font-size:10px}.teacher-file-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.teacher-photo-preview{width:56px;height:56px;border-radius:14px;-o-object-fit:cover;object-fit:cover;border:1px solid var(--line)}.teacher-file-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:10px;background:#fff;border:1px solid #e7eef3}.teacher-file-meta strong{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-file-meta small{color:var(--muted);font-size:10px}.teacher-file-meta button{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:850}.teacher-file-empty{margin:0;color:#9aa7b6;font-size:11px}.teacher-file-upload{position:relative;display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:10px;background:var(--navy);color:#fff;cursor:pointer;font-size:11px;font-weight:850}.teacher-file-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.teacher-interview-banner{grid-column:1/-1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:center;padding:12px 13px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.teacher-interview-banner strong{display:block;font-size:12px}.teacher-interview-banner p{margin:3px 0 0;font-size:10px;opacity:.9}.teacher-family-block{grid-column:1/-1;display:grid;gap:10px}.teacher-family-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-family-head strong{font-size:12px}.teacher-family-head button{display:inline-flex;min-height:34px;align-items:center;gap:4px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:850}.teacher-family-table{display:grid;gap:7px}.teacher-family-row{display:grid;grid-template-columns:1.1fr .7fr 1fr .8fr 36px;gap:6px;align-items:center}.teacher-family-row.is-head span{color:#52677e;font-size:10px;font-weight:850}.teacher-family-row input{min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11px}.teacher-family-row button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#8a6a6a;cursor:pointer}.management-empty{display:grid;min-height:250px;place-items:center;align-content:center;gap:8px;margin-top:22px;padding:28px;border:1px dashed #cbdbe4;border-radius:var(--radius-card);background:#fbfdfe;text-align:center}.management-empty.compact{grid-column:1/-1;min-height:170px;margin-top:0}.management-empty>span{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep)}.management-empty strong{font-size:16px}.management-empty p{margin:0;color:var(--muted);font-size:11px}.management-empty button{display:inline-flex;min-height:40px;align-items:center;gap:5px;margin-top:5px;padding:0 12px;border:0;border-radius:9px;background:var(--navy);color:#fff;cursor:pointer;font-size:10px;font-weight:850}.management-loading{display:flex;min-height:calc(100dvh - 250px);align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px;font-weight:750}.management-loading>span{width:19px;height:19px;border:2px solid #d9e8ed;border-top:2px solid var(--accent-deep);border-radius:50%;animation:schedule-spin .7s linear infinite}.management-error-screen{display:grid;place-items:center;align-content:center;color:var(--muted);text-align:center}.management-error-screen h1{margin:16px 0 0;color:var(--ink);font-size:25px;letter-spacing:-.06em}.management-error-screen p{margin:8px 0 18px;font-size:12px}.management-error-screen button{display:inline-flex;min-height:42px;align-items:center;gap:5px;padding:0 13px;border:0;border-radius:9px;background:var(--navy);color:#fff;cursor:pointer;font-size:11px;font-weight:850}.managed-class-list{display:grid;gap:13px;margin-top:28px}.managed-class-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.managed-class-card.is-completed{opacity:.78}.managed-class-card>header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:19px 20px}.managed-class-card>header>span{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;background:var(--accent-soft);color:var(--accent-deep)}.managed-class-card>header>div{min-width:0}.managed-class-card>header small{color:var(--accent-deep);font-size:9px;font-weight:850}.managed-class-card>header h2{margin:4px 0;overflow:hidden;font-size:18px;letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap}.managed-class-card>header p{margin:0;color:var(--muted);font-size:10px}.managed-class-card>header>em{padding:7px 9px;border-radius:8px;background:var(--navy);color:#fff;font-size:10px;font-style:normal;font-weight:850}.class-relation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfdfe}.class-relation-summary>div{min-width:0;padding:14px 20px}.class-relation-summary>div+div{border-left:1px solid var(--line)}.class-relation-summary small{color:var(--muted);font-size:9px;font-weight:800}.class-relation-summary p{margin:5px 0 0;overflow:hidden;color:var(--ink);font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.class-card-toolbar{display:flex;justify-content:flex-end;gap:6px;padding:0 20px 13px}.managed-class-sessions{border-top:1px solid var(--line);background:#f7fbfd}.managed-class-sessions>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px 8px}.managed-class-sessions>header span{display:inline-flex;align-items:center;gap:5px;color:var(--accent-deep);font-size:10px;font-weight:850}.managed-class-sessions>header em{color:var(--muted);font-size:9px;font-style:normal;font-weight:800}.managed-class-sessions>ul{display:grid;gap:0;margin:0;padding:0 20px 12px;list-style:none}.managed-class-sessions>ul>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 10px;border:1px solid #dfecef;background:#fff}.managed-class-sessions>ul>li:first-child{border-radius:9px 9px 0 0}.managed-class-sessions>ul>li:last-child{border-radius:0 0 9px 9px}.managed-class-sessions>ul>li:only-child{border-radius:9px}.managed-class-sessions>ul>li+li{border-top:0}.managed-class-sessions>ul>li>span{display:grid;min-width:0;gap:3px}.managed-class-sessions>ul>li>span:last-child{justify-items:end;text-align:right}.managed-class-sessions li strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.managed-class-sessions li small{color:var(--muted);font-size:9px;font-weight:700}.managed-class-sessions li em{padding:3px 6px;border-radius:5px;background:var(--accent-soft);color:var(--accent-deep);font-size:8px;font-style:normal;font-weight:850}.managed-class-sessions>p{margin:0;padding:2px 20px 13px;color:var(--muted);font-size:10px}.class-relation-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.class-relation-chips>span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;background:var(--accent-soft);color:var(--accent-deep);font-size:9px;font-weight:800}.class-relation-chips>span button{display:grid;width:18px;height:18px;place-items:center;padding:0;border:0;border-radius:50%;background:#fff;color:#795a55;cursor:pointer}.class-relation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 20px 18px}.class-relation-actions>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.management-form-layer{position:fixed;z-index:80;inset:0;display:grid;place-items:center;align-content:center;padding:24px}.management-form-backdrop{position:absolute;inset:0;border:0;background:rgba(7,28,57,.42);cursor:default;animation:detail-fade .18s ease both}.management-form-sheet{position:relative;width:min(540px,100%);max-height:calc(100dvh - 48px);padding:25px;overflow-y:auto;border-radius:var(--radius-card);background:#fff;box-shadow:0 26px 70px rgba(9,42,82,.22);animation:schedule-form-enter .28s cubic-bezier(.22,1,.36,1) both}.management-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.management-form-head>div{display:grid;gap:4px}.management-form-head span{color:var(--accent-deep);font-size:10px;font-weight:850}.management-form-head h2{margin:0;color:var(--ink);font-size:25px;letter-spacing:-.065em}.management-form-head>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);cursor:pointer}.management-form-sheet form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px;margin-top:24px}.management-form-sheet form label{display:grid;min-width:0;gap:7px}.management-form-sheet form .franchise-form-hint,.management-form-sheet form label.is-wide,.management-form-sheet form>.is-wide{grid-column:1/-1}.management-form-sheet form label>span{color:#52677e;font-size:10px;font-weight:850}.management-form-sheet form .franchise-form-hint{margin:0;padding:10px 12px;border-radius:9px;background:#f5f9fb}.franchise-campus-form{display:grid;gap:16px;margin-top:24px}.franchise-campus-list{display:grid;gap:10px}.franchise-campus-row{display:grid;grid-template-columns:minmax(0,1.4fr) 140px 42px;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.franchise-campus-row label{display:grid;gap:6px}.franchise-campus-row label>span{color:#52677e;font-size:10px;font-weight:850}.franchise-campus-row input,.franchise-campus-row select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);font:inherit;font-size:12px}.franchise-campus-remove{display:grid;width:42px;height:46px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#8a5b57;cursor:pointer}.franchise-campus-actions{display:flex;justify-content:flex-end;gap:8px}.reason-action-description{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.reason-action-sheet textarea{min-height:120px;padding:12px;resize:vertical}.audit-panel{width:min(920px,100%)}.audit-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:18px!important;padding:14px;border-radius:13px;background:#f7fafc}.audit-filter-form .management-primary{align-self:end;min-height:47px}.audit-target-filter{grid-column:1/-2;display:flex;min-width:0;align-items:center;gap:7px;margin:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.audit-target-filter button{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;font-size:9px}.audit-event-list{display:grid;gap:8px;margin-top:17px}.audit-event-list article{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.audit-event-list article header{display:flex;align-items:center;justify-content:space-between;gap:12px}.audit-event-list article strong{font-size:12px}.audit-event-list article time{color:var(--muted);font-size:9px}.audit-event-list article p{margin:6px 0 3px;color:#52677e;font-size:10px}.audit-event-list article small{display:block;overflow:hidden;color:#8b99a7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.audit-event-list article blockquote{margin:9px 0 0;padding:8px 10px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:var(--accent-soft);color:#31576c;font-size:10px}.audit-event-list details{margin-top:8px}.audit-event-list summary{color:var(--accent-deep);cursor:pointer;font-size:9px;font-weight:850}.audit-event-list pre{max-height:180px;margin:7px 0 0;padding:9px;overflow:auto;border-radius:8px;background:#f5f8fa;color:#52677e;font-size:9px;white-space:pre-wrap}.audit-more{display:flex;min-height:42px;width:100%;align-items:center;justify-content:center;margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:10px;font-weight:850}.management-form-sheet input,.management-form-sheet select,.management-form-sheet textarea{width:100%;min-height:47px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font:inherit;font-size:12px}.management-form-sheet textarea{padding:12px;resize:vertical}.management-form-sheet input:focus,.management-form-sheet select:focus,.management-form-sheet textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.management-form-error{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #f1c6c2;border-radius:9px;background:#fff5f4;color:#a0443d;font-size:10px;font-weight:750}.management-form-actions{grid-column:1/-1;display:grid;grid-template-columns:.75fr 1.25fr;gap:9px;margin-top:7px}.management-form-actions button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-control);cursor:pointer;font-size:11px;font-weight:850}.management-form-actions button:first-child{border:1px solid var(--line);background:#fff;color:var(--muted)}.management-form-actions button:last-child{border:0;background:var(--navy);color:#fff}.management-form-actions button:disabled{cursor:wait;opacity:.6}.franchise-heading-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.management-secondary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);cursor:pointer;font-size:12px;font-weight:850;transition:background-color .16s ease,border-color .16s ease}.management-secondary:hover{border-color:#b7c9d6;background:#f7fbfd}.franchise-secondary-summary{margin-top:12px}.franchise-filter-tabs{flex-wrap:wrap}.franchise-tree{display:grid;gap:14px}.franchise-card{border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;overflow:hidden}.franchise-card.is-independent{border-style:dashed;background:#fbfdfe}.franchise-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;padding:16px 18px}.franchise-expand{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.franchise-expand>span{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;background:var(--accent-soft);color:var(--accent-deep)}.franchise-expand>div{display:grid;min-width:0;gap:2px}.franchise-expand small{color:var(--accent-deep);font-size:10px;font-weight:850}.franchise-expand strong{overflow:hidden;font-size:16px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.franchise-expand em{color:var(--muted);font-size:10px;font-style:normal;font-weight:750}.franchise-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.branch-mini-list button,.franchise-admin-actions button,.franchise-card-actions button{display:inline-flex;min-height:34px;align-items:center;gap:4px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:800}.branch-mini-list button:hover,.franchise-admin-actions button:hover,.franchise-card-actions button:hover{background:#f5fafc}.franchise-admin-actions button:disabled,.franchise-card-actions button:disabled{cursor:wait;opacity:.55}.org-status-badge{display:inline-flex;min-height:26px;align-items:center;padding:0 9px;border-radius:999px;background:#edf3f7;color:#5d7388;font-size:10px;font-style:normal;font-weight:850;white-space:nowrap}.org-status-badge.is-active{background:#e7f7f2;color:#167a5f}.org-status-badge.is-preparing{background:#eef4ff;color:#3a5fad}.org-status-badge.is-suspended{background:#fff4e8;color:#b46a12}.org-status-badge.is-closed,.org-status-badge.is-inactive{background:#f2f2f4;color:#6d727a}.franchise-card-body{display:grid;gap:18px;padding:0 18px 18px;border-top:1px solid #eef3f6}.franchise-academy-panel,.franchise-admin-panel{padding-top:16px}.section-head.compact{margin-bottom:10px}.section-head.compact h3{margin:0;font-size:13px;letter-spacing:-.03em}.franchise-inline-empty{margin:0;color:var(--muted);font-size:11px;font-weight:700}.franchise-admin-list{display:grid;gap:8px}.franchise-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe}.franchise-admin-row strong{display:block;font-size:13px}.franchise-admin-row small{color:var(--muted);font-size:10px}.franchise-admin-actions{display:flex;flex-wrap:wrap;gap:6px}.academy-card-list{display:grid;gap:10px}.academy-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.academy-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 12px;margin-bottom:10px}.academy-card>header small{display:block;color:var(--muted);font-size:10px;font-weight:800}.academy-card>header strong{font-size:14px;letter-spacing:-.03em}.branch-mini-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.branch-mini-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#f5f9fb}.branch-mini-list strong{display:block;font-size:12px}.branch-mini-list small,.franchise-form-hint{color:var(--muted);font-size:10px}.franchise-form-hint{margin:0;font-weight:700;line-height:1.45}.franchise-management-screen .management-feedback{margin-top:16px}.franchise-list-logo{display:grid;width:46px;height:46px;place-items:center;overflow:hidden;border-radius:13px;background:var(--accent-soft);color:var(--accent-deep)}.franchise-list-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.franchise-detail-heading{align-items:flex-start}.franchise-back-button{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:5px;margin-bottom:10px;padding:0;border:0;background:transparent;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:850}.franchise-detail-logo-block{display:grid;gap:10px;justify-items:center}.franchise-logo-preview{display:grid;width:96px;height:96px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--accent-deep);box-shadow:0 10px 24px rgba(18,56,88,.08)}.franchise-logo-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.franchise-logo-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.franchise-logo-actions button,.franchise-logo-actions label{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:850}.franchise-logo-actions button:disabled,.franchise-logo-actions label.is-busy{opacity:.6;cursor:wait}.franchise-logo-actions input{display:none}.franchise-detail-summary{margin-top:14px}.franchise-stat-card{display:grid;gap:6px;min-height:86px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.franchise-stat-card small{color:var(--muted);font-size:11px;font-weight:800}.franchise-stat-card strong{font-size:22px;letter-spacing:-.05em}.franchise-stat-card strong em{margin-left:3px;color:var(--muted);font-size:11px;font-style:normal;font-weight:750}.franchise-stat-card.is-positive strong{color:#167a5f}.franchise-stat-card.is-warn strong{color:#b46a12}.franchise-detail-form{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.franchise-detail-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:14px}.franchise-detail-form-grid label{display:grid;gap:7px;min-width:0}.franchise-detail-form-grid label.is-wide{grid-column:1/-1}.franchise-detail-form-grid label>span{color:#52677e;font-size:10px;font-weight:850}.franchise-detail-form-grid input,.franchise-detail-form-grid select,.franchise-detail-form-grid textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font:inherit;font-size:12px}.franchise-detail-form-grid textarea{min-height:92px;resize:vertical}.franchise-detail-form-grid input:focus,.franchise-detail-form-grid select:focus,.franchise-detail-form-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.franchise-detail-form-actions{display:flex;justify-content:flex-end;margin-top:16px}.franchise-detail-form-actions button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 18px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:12px;font-weight:850}.franchise-detail-form-actions button:disabled{opacity:.6;cursor:wait}.franchise-detail-branch-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.4fr);gap:14px;margin-top:16px}.franchise-branch-picker{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.franchise-branch-picker>button{display:grid;gap:3px;padding:12px 13px;border:1px solid transparent;border-radius:11px;background:#f5f9fb;color:inherit;text-align:left;cursor:pointer}.franchise-branch-picker>button.is-selected{border-color:#bfe3ef;background:#eef9fc}.franchise-branch-picker>button strong{font-size:13px}.franchise-branch-picker>button em,.franchise-branch-picker>button small{color:var(--muted);font-size:10px;font-style:normal}.franchise-stats-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.franchise-stats-overview article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;min-height:84px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.franchise-stats-overview article>span{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-deep)}.franchise-stats-overview small{display:block;color:var(--muted);font-size:10px;font-weight:800}.franchise-stats-overview strong{font-size:16px;letter-spacing:-.04em}.franchise-branch-stats-table-wrap{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;overflow-x:auto}.franchise-branch-stats-table{width:100%;border-collapse:collapse;min-width:720px}.franchise-branch-stats-table td,.franchise-branch-stats-table th{padding:10px 8px;border-bottom:1px solid #eef3f6;text-align:left;font-size:11px}.franchise-branch-stats-table th{color:var(--muted);font-size:10px;font-weight:850}.franchise-branch-stats-table td strong{display:block;font-size:12px}.franchise-branch-stats-table td small{color:var(--muted);font-size:10px}.franchise-branch-stats-table tbody tr{cursor:pointer}.franchise-branch-stats-table tbody tr.is-selected,.franchise-branch-stats-table tbody tr:hover{background:#f5fbfd}.franchise-revenue-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:11px;background:#effbf8;color:#167a70;font-size:12px;font-weight:800}.franchise-revenue-history{margin-top:18px}.franchise-revenue-history ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.franchise-revenue-history li{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:10px;background:#f5f9fb;font-size:11px}.franchise-revenue-history em{color:var(--accent-deep);font-style:normal;font-weight:850}.franchise-detail-error-actions{display:flex;gap:8px;justify-content:center}.super-admin-stat-link{text-decoration:none;color:inherit;transition:border-color .16s ease,transform .16s ease}.super-admin-stat-link:hover{border-color:#b7c9d6;transform:translateY(-1px)}.super-admin-home-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.super-admin-panel{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.super-admin-home-panels .super-admin-panel{margin-top:0}.super-admin-money-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.super-admin-money-grid>div{display:grid;gap:4px;padding:12px;border-radius:11px;background:#f5f9fb}.super-admin-money-grid>div.is-net{background:#effbf8}.super-admin-money-grid small{color:var(--muted);font-size:10px;font-weight:800}.super-admin-money-grid strong{font-size:15px;letter-spacing:-.04em}.super-admin-role-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.super-admin-role-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#f5f9fb}.super-admin-role-icon-button,.super-admin-role-list span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep)}.super-admin-role-icon-button{border:0;padding:0;cursor:pointer;transition:background .14s ease,transform .14s ease,box-shadow .14s ease}.super-admin-role-icon-button:hover{background:#d7f1f5;box-shadow:0 0 0 3px rgba(21,182,197,.14)}.super-admin-role-icon-button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(21,182,197,.28)}.super-admin-role-icon-button:active{transform:scale(.96)}.super-admin-role-list em{color:var(--ink);font-style:normal;font-weight:850}.super-admin-role-hint{margin:10px 0 0;color:var(--muted);font-size:10px;font-weight:700;line-height:1.45}.super-admin-role-guide-sheet{width:min(520px,100%)}.super-admin-role-guide-body{display:grid;gap:16px;margin-top:20px}.super-admin-role-guide-hero{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f5f9fb}.super-admin-role-guide-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep)}.super-admin-role-guide-hero small{display:block;color:var(--muted);font-size:10px;font-weight:800}.super-admin-role-guide-hero strong{display:block;margin-top:3px;color:var(--ink);font-size:15px;letter-spacing:-.04em}.super-admin-role-guide-summary{margin:0;color:#3d5369;font-size:13px;font-weight:650;line-height:1.55;letter-spacing:-.02em}.super-admin-role-guide-section{display:grid;gap:8px}.super-admin-role-guide-section h3{margin:0;color:var(--ink);font-size:12px;font-weight:850;letter-spacing:-.03em}.super-admin-role-guide-section ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.super-admin-role-guide-section li{position:relative;padding:8px 10px 8px 28px;border-radius:9px;background:#f8fbfd;color:#3d5369;font-size:12px;font-weight:650;line-height:1.45}.super-admin-role-guide-section li:before{content:"";position:absolute;top:13px;left:11px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.super-admin-role-guide-note{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;padding:11px 12px;border:1px solid #d7ebf0;border-radius:10px;background:#f3fafb;color:var(--accent-deep)}.super-admin-role-guide-note p{margin:0;font-size:11px;font-weight:700;line-height:1.5}.super-admin-panel-link{display:inline-flex;align-items:center;gap:4px;margin-top:14px;color:var(--accent-deep);font-size:11px;font-weight:850;text-decoration:none}.super-admin-franchise-list,.super-admin-user-list,.super-admin-user-mini-list{display:grid;gap:8px;margin-top:12px}.super-admin-franchise-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}.super-admin-franchise-row strong{display:block;font-size:13px}.super-admin-franchise-row small{color:var(--muted);font-size:10px}.super-admin-user-card,.super-admin-user-mini-list article{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.super-admin-user-card strong,.super-admin-user-mini-list strong{font-size:13px}.super-admin-user-card small,.super-admin-user-mini-list small{color:var(--muted);font-size:10px}.super-admin-user-mini-list em{color:var(--accent-deep);font-size:10px;font-style:normal;font-weight:800}.super-admin-user-card{grid-template-columns:minmax(0,1fr) minmax(180px,.9fr) auto;gap:14px 18px;align-items:start}.super-admin-user-roles{display:flex;flex-wrap:wrap;gap:6px}.super-admin-user-roles>span{display:grid;gap:2px;padding:8px 10px;border-radius:9px;background:#f5f9fb;font-size:11px;font-weight:800}.super-admin-user-roles>span.is-super{background:#e7f7f4;color:#146e65}.super-admin-user-roles small{color:var(--muted);font-size:9px;font-weight:700}.super-admin-user-name{display:flex;min-width:0;align-items:center;gap:6px}.super-admin-user-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-management-profile .super-admin-self-badge,.super-admin-self-badge{display:inline-flex;flex:0 0 auto;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);overflow:visible;font-size:9px;font-style:normal;font-weight:850;white-space:nowrap}.super-admin-user-action{display:inline-flex;min-height:36px;align-items:center;gap:4px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:800}.super-admin-user-action:hover{border-color:#b7c9d6;background:#f7fbfd}.super-admin-role-sheet form{grid-template-columns:1fr}.super-admin-role-target{display:grid;gap:3px;padding:12px 13px;border-radius:11px;background:#f5f9fb}.super-admin-role-target strong{font-size:15px;letter-spacing:-.04em}.super-admin-role-target small{color:var(--muted);font-size:10px}.super-admin-role-sheet form>.is-wide>span{color:#52677e;font-size:10px;font-weight:850}.super-admin-role-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.super-admin-role-choice button{display:grid;gap:3px;min-height:74px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:inherit;text-align:left;cursor:pointer}.super-admin-role-choice button strong{font-size:13px}.super-admin-role-choice button small{color:var(--muted);font-size:10px;font-weight:700;line-height:1.4}.super-admin-role-choice button.is-selected{border-color:var(--accent);background:#f3fbfb;box-shadow:0 0 0 3px rgba(21,182,197,.12)}.super-admin-role-choice button:disabled{cursor:not-allowed;opacity:.55}.management-empty a{display:inline-flex;min-height:40px;align-items:center;gap:5px;margin-top:5px;padding:0 12px;border-radius:9px;background:var(--navy);color:#fff;font-size:10px;font-weight:850;text-decoration:none}@media (max-width:760px){.management-heading-row{align-items:flex-end}.franchise-management-screen>.management-heading-row{flex-direction:column;align-items:stretch;gap:16px}.franchise-management-screen>.management-heading-row .screen-heading{width:100%}.management-primary{min-height:43px;padding:0 12px;font-size:10px}.franchise-heading-actions{width:100%;justify-content:flex-end}.academy-card>header,.branch-mini-list li,.franchise-admin-row,.franchise-card-head{grid-template-columns:minmax(0,1fr)}.franchise-admin-actions,.franchise-card-actions{justify-content:flex-start}.franchise-detail-heading{flex-direction:column}.franchise-detail-form-grid{grid-template-columns:1fr}.franchise-detail-form-grid label.is-wide{grid-column:auto}.franchise-detail-branch-layout{grid-template-columns:1fr}.franchise-revenue-history li,.franchise-stats-overview{grid-template-columns:1fr 1fr}.super-admin-home-panels,.super-admin-user-card{grid-template-columns:1fr}.super-admin-user-action{width:-moz-fit-content;width:fit-content}.super-admin-franchise-row{grid-template-columns:42px minmax(0,1fr)}.super-admin-franchise-row .org-status-badge,.super-admin-franchise-row svg:last-child{display:none}.management-summary-grid{gap:8px;margin-top:25px}.management-count-card{grid-template-columns:36px minmax(0,1fr);gap:5px 9px;min-height:86px;padding:12px}.management-count-card>span{grid-row:1/3;width:36px;height:36px}.management-count-card>small{align-self:end;font-size:9px}.management-count-card>strong{align-self:start;font-size:20px}.account-action-grid{grid-template-columns:1fr}.account-action-grid>button{min-height:78px}.invite-result{grid-template-columns:38px minmax(0,1fr)}.invite-result>span{width:38px;height:38px}.invite-result>button{grid-column:2;width:-moz-fit-content;width:fit-content}.student-management-card,.student-management-card.has-enrollment{grid-template-columns:1fr;gap:14px}.student-enrollment-summary{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid #edf2f5}.guardian-summary{padding:12px 0 0;border-top:1px solid var(--line);border-left:0}.people-card-grid{grid-template-columns:1fr}.teacher-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-panel-form{grid-template-columns:1fr}.teacher-family-row{grid-template-columns:1fr 1fr 36px}.teacher-family-row.is-head{display:none}.teacher-family-row input:nth-child(3),.teacher-family-row input:nth-child(4){grid-column:span 1}.teacher-family-row button{grid-column:3;grid-row:1/span 2}.teacher-manage-sheet{width:100%}.class-relation-actions{grid-template-columns:1fr}.audit-filter-form{grid-template-columns:1fr 1fr!important}.management-form-layer{align-items:end;padding:0}.management-form-sheet{width:100%;max-height:min(88dvh,720px);padding:22px 19px max(24px,env(safe-area-inset-bottom));border-radius:19px 19px 0 0;animation-name:schedule-sheet-enter}}@media (max-width:520px){.management-heading-row{align-items:flex-start}.management-heading-row-people{flex-direction:column;gap:16px}.management-heading-row-people .management-heading-actions,.management-heading-row-people .screen-heading{width:100%}.management-heading-row .management-primary{width:43px;padding:0;font-size:0}.franchise-heading-actions{flex-direction:column;align-items:stretch}.franchise-heading-actions .management-primary,.franchise-heading-actions .management-secondary{width:100%;font-size:11px}.management-summary-grid{grid-template-columns:1fr}.management-count-card{grid-template-columns:38px minmax(0,1fr) auto;min-height:68px}.management-count-card>span{grid-row:auto;width:38px;height:38px}.management-count-card>small,.management-count-card>strong{align-self:center}.management-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.management-tabs button{justify-content:center;padding:0 8px}.inline-relation-form{grid-template-columns:1fr}.inline-relation-form button{width:100%}.class-relation-summary{grid-template-columns:1fr}.class-relation-summary>div+div{border-top:1px solid var(--line);border-left:0}.managed-class-sessions>ul>li{grid-template-columns:1fr;gap:7px}.managed-class-sessions>ul>li>span:last-child{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;gap:7px;text-align:left}.class-relation-actions>div{grid-template-columns:1fr}.audit-filter-form{grid-template-columns:1fr!important}.audit-target-filter{grid-column:1}.management-form-sheet form{grid-template-columns:1fr}.management-form-actions,.management-form-error,.management-form-sheet form .franchise-form-hint,.management-form-sheet form label.is-wide,.management-form-sheet form>.is-wide{grid-column:auto}.franchise-campus-row{grid-template-columns:minmax(0,1fr) 42px}.franchise-campus-row label:nth-child(2){grid-column:1}.franchise-campus-remove{grid-column:2;grid-row:1/span 2}}.assignment-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.assignment-publish-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:var(--radius-control);background:var(--navy);color:#fff;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap;transition:background-color .16s ease,transform .16s ease}.assignment-publish-button:hover{background:var(--navy-deep);transform:translateY(-1px)}.assignment-publish-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.assignment-feedback{display:flex;align-items:center;gap:7px;margin:22px 0 -8px;padding:11px 13px;border:1px solid #bfe5df;border-radius:var(--radius-control);background:#effbf8;color:#167a70;font-size:11px;font-weight:800}.assignment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:31px}.assignment-summary>div{display:grid;grid-template-columns:45px minmax(0,1fr) auto;grid-template-rows:repeat(2,auto);align-items:center;gap:2px 12px;min-height:91px;padding:16px 18px;border:1px solid #d8e5ed;border-radius:var(--radius-group);background:#f9fcfd}.assignment-summary>div>span{display:grid;grid-row:1/3;width:45px;height:45px;place-items:center;border-radius:12px;background:#e9f2f8;color:var(--navy)}.assignment-summary small{color:var(--muted);font-size:10px;font-weight:800}.assignment-summary strong{grid-column:3;grid-row:1/3;font-size:27px;letter-spacing:-.06em}.assignment-summary .is-completed>span{background:#e9f8f4;color:#16806f}.assignment-summary .is-completed strong{color:#16806f}.assignment-summary .is-incomplete>span{background:#fff2e7;color:#c36a31}.assignment-summary .is-incomplete strong{color:#bb5c27}.assignment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.assignment-toolbar .task-filter-row{margin-top:0}.assignment-scope-filters,.assignment-scope-filters label{display:flex;align-items:center;gap:8px}.assignment-scope-filters label{min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--accent-deep)}.assignment-scope-filters select{min-width:150px;border:0;outline:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:750}.assignment-list{display:grid;gap:11px;margin-top:17px}.assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;border:1px solid #dce5ef;border-radius:var(--radius-group);background:#fff;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.assignment-card:hover{border-color:#b9dce2;box-shadow:0 9px 25px rgba(27,70,105,.07)}.assignment-card.is-done{background:#f9fbfc;opacity:.72}.assignment-card-main{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:13px;min-width:0;min-height:122px;padding:17px 18px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.assignment-card-main:hover{background:rgba(239,249,250,.45)}.assignment-card-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;background:#fff0e8;color:#c9613b}.assignment-card.color-1 .assignment-card-icon{background:#f0f8e2;color:#678d2f}.assignment-card.color-2 .assignment-card-icon{background:#efedff;color:#675bc2}.assignment-card-copy{display:grid;min-width:0;gap:5px}.assignment-card-copy>em{color:var(--accent-deep);font-size:10px;font-style:normal;font-weight:850}.assignment-card-copy>strong{overflow:hidden;font-size:15px;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.assignment-card-copy>small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;font-weight:700}.assignment-card-copy>p{display:-webkit-box;margin:1px 0 0;overflow:hidden;color:#68798e;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-card.is-done .assignment-card-copy>strong{text-decoration:line-through;text-decoration-color:#9aabba}.assignment-progress-button{display:inline-flex;width:96px;min-height:100%;align-items:center;justify-content:center;gap:5px;padding:0 13px;border:0;border-left:1px solid var(--line);background:#fbfdfe;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:850}.assignment-progress-button[aria-pressed=true]{background:#e7f8f4;color:#17796d}.assignment-progress-button:disabled{cursor:wait;opacity:.62}.assignment-readonly-status{display:inline-flex;min-width:92px;min-height:100%;align-items:center;justify-content:center;gap:5px;padding:0 13px;border-left:1px solid var(--line);background:#fff8ef;color:#ad642e;font-size:11px;font-weight:850}.assignment-readonly-status.is-completed{background:#ecf9f5;color:#17796d}.assignment-list.is-teacher .assignment-card{grid-template-columns:1fr}.assignment-list.is-teacher .assignment-card-main{min-height:116px}.assignment-teacher-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:8px;padding:12px 15px;border-top:1px solid var(--line);background:#fbfdfe}.assignment-teacher-status>span{display:flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border-radius:9px;background:#edf3f7;color:var(--muted);font-size:10px;font-weight:800}.assignment-teacher-status>span strong{color:var(--ink);font-size:14px}.assignment-teacher-status>span.is-completed{background:#e9f8f4;color:#17796d}.assignment-teacher-status>span.is-completed strong{color:#17796d}.assignment-teacher-status>span.is-incomplete{background:#fff2e7;color:#b6602b}.assignment-teacher-status>span.is-incomplete strong{color:#b6602b}.assignment-teacher-status>button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid #b9dce2;border-radius:9px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:10px;font-weight:850}.assignment-form-sheet textarea{width:100%;padding:12px 13px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font-size:13px;line-height:1.55;transition:border-color .16s ease,box-shadow .16s ease}.assignment-form-sheet textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.13)}.assignment-form-sheet textarea::-moz-placeholder{color:#9ba8b7}.assignment-form-sheet textarea::placeholder{color:#9ba8b7}.assignment-form-note{display:flex;align-items:flex-start;gap:7px;margin:-2px 0 0;padding:11px 13px;border-radius:var(--radius-control);background:var(--accent-soft);color:#4c7c85;font-size:10px;font-weight:750;line-height:1.5}.assignment-form-note svg{flex:0 0 auto;margin-top:1px;color:var(--accent-deep)}.notice-screen .schedule-loading{margin-top:34px}.notice-list{display:grid;gap:10px;margin-top:31px}.notice-list-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto 19px;align-items:center;gap:13px;width:100%;min-height:120px;padding:17px 18px;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notice-list-card:hover{border-color:#bddbe3;box-shadow:0 12px 26px rgba(30,66,119,.08);transform:translateY(-2px)}.notice-list-card.is-unread{border-color:#b9dde2;background:#fbfeff}.notice-list-icon{position:relative;display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#fff4c8;color:#9b7312}.notice-list-icon i{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--accent)}.notice-list-copy{display:grid;min-width:0;gap:5px}.notice-list-copy em{color:var(--accent-deep);font-size:10px;font-style:normal;font-weight:850}.notice-list-copy strong{overflow:hidden;font-size:15px;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.notice-list-copy small{color:var(--muted);font-size:10px;font-weight:700}.notice-list-copy p{display:-webkit-box;margin:2px 0 0;overflow:hidden;color:#65798d;font-size:11px;font-weight:620;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notice-list-status{min-width:54px;padding:6px 8px;border-radius:8px;background:#edf4f7;color:var(--muted);font-size:10px;font-weight:850;text-align:center}.notice-list-card.is-unread .notice-list-status{background:var(--accent-soft);color:var(--accent-deep)}.notice-form-sheet textarea{width:100%;min-height:164px;padding:13px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.6;transition:border-color .16s ease,box-shadow .16s ease}.notice-form-sheet textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.13)}.notice-form-sheet textarea::-moz-placeholder{color:#9ba8b7}.notice-form-sheet textarea::placeholder{color:#9ba8b7}.notice-target-input{display:flex;align-items:center;gap:8px;min-height:48px;padding-left:13px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--accent-deep)}.notice-target-input select{min-height:46px;padding-left:0;border:0;box-shadow:none}.notice-target-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.13)}.notice-audience-note{display:flex;grid-column:1/-1;align-items:flex-start;gap:7px;margin:-2px 0 0;padding:11px 13px;border-radius:var(--radius-control);background:var(--accent-soft);color:#4c7c85;font-size:10px;font-weight:750;line-height:1.5}.notice-audience-note svg{flex:0 0 auto;margin-top:1px;color:var(--accent-deep)}@media (max-width:760px){.assignment-page-head{align-items:flex-start}.assignment-summary{gap:7px}.assignment-summary>div{grid-template-columns:38px minmax(0,1fr);min-height:84px;padding:13px}.assignment-summary>div>span{width:38px;height:38px}.assignment-summary strong{grid-column:2;grid-row:2;font-size:23px}.assignment-toolbar{display:grid}.assignment-scope-filters,.assignment-scope-filters label,.assignment-scope-filters select{width:100%}.assignment-toolbar .task-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}}@media (max-width:520px){.assignment-page-head .assignment-publish-button{width:43px;padding:0;font-size:0}.assignment-summary>div{grid-template-columns:1fr;justify-items:center;gap:4px;padding:11px 6px;text-align:center}.assignment-summary>div>span{grid-row:auto}.assignment-summary small{grid-column:1}.assignment-summary strong{grid-column:1;grid-row:auto}.assignment-card{grid-template-columns:1fr}.assignment-card-main{grid-template-columns:42px minmax(0,1fr) 18px;min-height:106px;padding:14px}.assignment-card-icon{width:42px;height:42px}.assignment-progress-button,.assignment-readonly-status{width:100%;min-height:44px;border-top:1px solid var(--line);border-left:0}.assignment-teacher-status{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-teacher-status>button{grid-column:1/-1}.assignment-form-sheet form{grid-template-columns:1fr}.assignment-form-sheet .schedule-field-wide,.assignment-form-sheet .schedule-form-actions,.assignment-form-sheet .schedule-form-error{grid-column:auto}.notice-list-card{grid-template-columns:43px minmax(0,1fr) 18px;min-height:112px;padding:14px}.notice-list-icon{width:43px;height:43px}.notice-list-status{position:absolute;top:12px;right:39px;min-width:0;padding:5px 7px}.notice-form-sheet form{grid-template-columns:1fr}.notice-audience-note,.notice-form-sheet .schedule-field-wide,.notice-form-sheet .schedule-form-actions,.notice-form-sheet .schedule-form-error{grid-column:auto}}.attendance-month-toolbar{display:grid;grid-template-columns:40px auto 40px;align-items:center;justify-content:center;gap:8px;margin-top:27px}.attendance-month-toolbar button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--muted);cursor:pointer}.attendance-month-toolbar strong{display:flex;min-width:170px;align-items:center;justify-content:center;gap:7px;color:var(--ink);font-size:15px}.attendance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:25px}.attendance-summary>div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 11px;min-height:86px;padding:15px 17px;border:1px solid var(--line);border-radius:var(--radius-group);background:#f9fcfd}.attendance-summary>div>span{display:grid;grid-row:1/3;width:44px;height:44px;place-items:center;border-radius:12px;background:#eaf3f8;color:var(--navy)}.attendance-summary small{color:var(--muted);font-size:10px;font-weight:800}.attendance-summary strong{grid-column:3;grid-row:1/3;font-size:26px;letter-spacing:-.06em}.attendance-summary .is-present>span{background:#e8f8f3;color:#16806f}.attendance-summary .is-present strong{color:#16806f}.attendance-summary .is-attention>span{background:#fff0e6;color:#be6230}.attendance-summary .is-attention strong{color:#b95b2a}.attendance-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.attendance-filters label{display:flex;min-height:43px;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--accent-deep)}.attendance-filters select{min-width:130px;border:0;outline:0;background:transparent;color:var(--ink);cursor:pointer;font-size:11px;font-weight:750}.attendance-readonly{display:inline-flex;min-height:35px;align-items:center;gap:5px;margin-left:auto;padding:0 10px;border-radius:9px;background:#edf6f7;color:var(--accent-deep);font-size:10px;font-weight:850}.attendance-screen>.schedule-loading{margin-top:31px}.attendance-session-list{display:grid;gap:11px;margin-top:17px}.attendance-session-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-group);background:#fff}.attendance-session-card.is-confirmed{border-color:#c9e5df}.attendance-session-card.is-draft{border-color:#efd3b9}.attendance-session-main{display:grid;grid-template-columns:52px minmax(0,1fr) auto 20px;align-items:center;gap:13px;width:100%;min-height:92px;padding:14px 16px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.attendance-session-main.is-parent{grid-template-columns:52px minmax(0,1fr) auto;cursor:default}.attendance-session-main:disabled{cursor:default}.attendance-session-main:not(.is-parent):not(:disabled):hover{background:#f9fcfd}.attendance-date{display:grid;width:52px;height:57px;place-items:center;align-content:center;gap:1px;border-radius:13px;background:#eef5f8;color:var(--navy)}.attendance-date strong{font-size:20px;line-height:1}.attendance-date small{color:var(--muted);font-size:9px;font-weight:800}.attendance-session-copy{display:grid;min-width:0;gap:4px}.attendance-session-copy em{color:var(--accent-deep);font-size:9px;font-style:normal;font-weight:850}.attendance-session-copy strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.attendance-session-copy small{color:var(--muted);font-size:10px;font-weight:680}.attendance-status{min-width:55px;padding:6px 8px;border-radius:8px;background:#edf3f6;color:var(--muted);font-size:9px;font-weight:850;text-align:center}.attendance-status.is-confirmed{background:#e8f8f3;color:#17796d}.attendance-status.is-draft{background:#fff1e6;color:#b6602b}.attendance-parent-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.attendance-record-status{display:inline-flex;min-width:76px;min-height:40px;align-items:center;justify-content:center;gap:5px;padding:0 10px 0 12px;border:0;border-radius:10px;background:#edf2f5;color:#64778a;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap}.attendance-record-status svg{transition:transform .16s ease}.attendance-record-status.is-expanded svg{transform:rotate(180deg)}.attendance-record-status:hover{filter:brightness(.98)}.attendance-record-status:focus-visible{outline:3px solid rgba(21,182,197,.2);outline-offset:2px}.attendance-record-status.is-present{background:#e8f8f3;color:#17796d}.attendance-record-status.is-late,.attendance-record-status.is-leftEarly{background:#fff2df;color:#a96920}.attendance-record-status.is-absent{background:#fff0ed;color:#ae4f46}.attendance-record-status.is-excused{background:#eeeffd;color:#665bac}.attendance-reason-panel{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px 18px 17px;border-top:1px solid var(--line);background:#fbfdfe;color:#64778a}.attendance-reason-panel[hidden]{display:none}.attendance-reason-panel>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#edf2f5}.attendance-reason-panel>div{display:grid;align-content:center;gap:3px;min-width:0}.attendance-reason-panel strong{color:var(--muted);font-size:10px}.attendance-reason-panel p{margin:0;color:var(--ink);font-size:14px;font-weight:750;line-height:1.55;overflow-wrap:anywhere}.attendance-reason-panel small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:700}.attendance-reason-panel.is-present>span{background:#e8f8f3;color:#17796d}.attendance-reason-panel.is-late>span,.attendance-reason-panel.is-leftEarly>span{background:#fff2df;color:#a96920}.attendance-reason-panel.is-absent>span{background:#fff0ed;color:#ae4f46}.attendance-reason-panel.is-excused>span{background:#eeeffd;color:#665bac}.attendance-record-chips{display:flex;flex-wrap:wrap;gap:7px;padding:11px 15px;border-top:1px solid var(--line);background:#fbfdfe}.attendance-record-chips>span{display:inline-flex;min-height:31px;align-items:center;gap:5px;padding:0 9px;border-radius:8px;background:#edf2f5;color:#64778a;font-size:9px}.attendance-record-chips strong{font-size:10px}.attendance-record-chips em{font-style:normal;font-weight:850}.attendance-record-chips small{max-width:160px;overflow:hidden;padding-left:5px;border-left:1px solid;text-overflow:ellipsis;white-space:nowrap;opacity:.76}.attendance-record-chips .is-present{background:#e8f8f3;color:#17796d}.attendance-record-chips .is-late,.attendance-record-chips .is-leftEarly{background:#fff2df;color:#a96920}.attendance-record-chips .is-absent{background:#fff0ed;color:#ae4f46}.attendance-record-chips .is-excused{background:#eeeffd;color:#665bac}.attendance-editor{position:relative;z-index:1;display:flex;width:min(760px,calc(100% - 28px));max-height:min(820px,calc(100dvh - 38px));flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 28px 75px rgba(7,28,57,.26)}.attendance-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.attendance-editor>header>div{display:grid;gap:4px}.attendance-editor>header span{color:var(--accent-deep);font-size:10px;font-weight:850}.attendance-editor>header h2{margin:0;color:var(--ink);font-size:21px;letter-spacing:-.055em}.attendance-editor>header p{margin:0;color:var(--muted);font-size:10px;font-weight:700}.attendance-editor>header button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer}.attendance-editor-list{display:grid;gap:9px;overflow:auto;padding:17px 24px}.attendance-editor-row{display:grid;grid-template-columns:40px minmax(90px,.6fr) 108px minmax(140px,1fr) 82px;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe}.attendance-student-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent-deep);font-size:13px;font-weight:900}.attendance-editor-row>strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.attendance-editor-row input,.attendance-editor-row select{min-width:0;min-height:41px;padding:0 10px;border:1px solid var(--line);border-radius:9px;outline:0;background:#fff;color:var(--ink);font-size:10px;font-weight:750}.attendance-editor-row input:focus,.attendance-editor-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.12)}.attendance-editor-row input:disabled{background:#f1f4f6;color:#9ba7b3}.attendance-editor-row>button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid #b9dce2;border-radius:9px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:9px;font-weight:850;white-space:nowrap}.attendance-editor-row>button.is-confirmed{border-color:#bfe3dc;background:#edf9f6;color:#17796d}.attendance-editor-row>button:disabled{cursor:wait;opacity:.5}.attendance-editor-feedback{margin:13px 24px 0;background:#edf9f6;color:#17796d;font-weight:800}.attendance-editor-feedback,.attendance-presence-note{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:9px;font-size:10px}.attendance-presence-note{margin:12px 24px 0;background:#f2f7fb;color:#50677d;font-weight:750}.attendance-presence-controls{grid-column:2/-1;display:grid;grid-template-columns:minmax(82px,1fr) 88px minmax(82px,1fr) 88px;align-items:center;gap:7px;padding-top:2px}.attendance-presence-controls>span{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:7px;padding:0 9px;border-radius:8px;background:#edf3f7;color:#526b80}.attendance-presence-controls>span strong{font-size:9px}.attendance-presence-controls>span small{color:var(--ink);font-size:10px;font-weight:850}.attendance-presence-controls>button{min-height:34px;padding:0 8px;border:1px solid #b9dce2;border-radius:8px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:9px;font-weight:850}.attendance-presence-controls>button.is-recorded{border-color:#bfe3dc;background:#edf9f6;color:#17796d}.attendance-presence-controls>button:disabled{cursor:default;opacity:.58}.attendance-presence-controls>em{grid-column:1/-1;color:#a96920;font-size:9px;font-style:normal;font-weight:750}.attendance-editor>.schedule-form-error{margin:0 24px 14px}.attendance-editor>footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 20px;border-top:1px solid var(--line)}.attendance-editor>footer>span{margin-right:auto;font-size:10px;font-weight:800}.attendance-editor>footer button,.attendance-editor>footer>span{display:inline-flex;min-height:45px;align-items:center;color:var(--muted)}.attendance-editor>footer button{justify-content:center;gap:6px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:11px;font-weight:850}.attendance-editor>footer button.is-primary{border-color:var(--navy);background:var(--navy);color:#fff}.attendance-editor>footer button:disabled{cursor:wait;opacity:.6}@media (max-width:700px){.attendance-summary{gap:7px}.attendance-summary>div{grid-template-columns:37px minmax(0,1fr);min-height:80px;padding:12px}.attendance-summary>div>span{width:37px;height:37px}.attendance-summary strong{grid-column:2;grid-row:2;font-size:22px}.attendance-filters label,.attendance-filters select{flex:1 1 130px}.attendance-readonly{margin-left:0}.attendance-editor-row{grid-template-columns:38px minmax(0,1fr) 105px 82px}.attendance-editor-row input{grid-column:2/-1}.attendance-editor-row>button{grid-column:4;grid-row:1}.attendance-presence-controls{grid-column:2/-1}}@media (max-width:520px){.attendance-summary>div{grid-template-columns:1fr;justify-items:center;gap:3px;padding:10px 5px;text-align:center}.attendance-summary>div>span{grid-row:auto}.attendance-summary small,.attendance-summary strong{grid-column:1;grid-row:auto}.attendance-filters{display:grid;grid-template-columns:1fr}.attendance-filters label,.attendance-filters select{width:100%}.attendance-session-main{grid-template-columns:46px minmax(0,1fr) 18px;gap:10px;padding:12px}.attendance-session-main.is-parent{grid-template-columns:46px minmax(0,1fr) auto}.attendance-date{width:46px;height:52px}.attendance-status{position:absolute;right:38px;margin-top:-45px}.attendance-record-status{min-width:69px;min-height:39px;padding:0 8px 0 10px;font-size:11px}.attendance-reason-panel{padding:14px}.attendance-reason-panel p{font-size:13px}.attendance-record-chips>span{width:100%}.attendance-editor{width:100%;max-height:100dvh;border-radius:0}.attendance-editor-list,.attendance-editor>footer,.attendance-editor>header{padding-right:16px;padding-left:16px}.attendance-editor-row{grid-template-columns:36px minmax(0,1fr) 78px}.attendance-editor-row input,.attendance-editor-row select{grid-column:1/-1}.attendance-editor-row>button{grid-column:3;grid-row:1}.attendance-presence-note{margin-right:16px;margin-left:16px}.attendance-presence-controls{grid-column:1/-1;grid-template-columns:minmax(74px,1fr) 78px}.attendance-presence-controls>em{grid-column:1/-1}.attendance-editor>footer{display:grid;grid-template-columns:1fr auto}}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:34px 18px;background:radial-gradient(circle at 15% 12%,#dff7f8 0,transparent 32%),linear-gradient(145deg,#f7fcfd,#e9f2f8)}.auth-shell.is-split{padding:0;place-items:stretch;justify-items:stretch}.auth-brand-panel{display:none;position:relative;isolation:isolate;overflow:hidden;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:42px 40px;background:#082e5a;color:#fff}.auth-brand-panel-photo{z-index:0;-o-object-fit:cover;object-fit:cover;-o-object-position:62% 48%;object-position:62% 48%}.auth-brand-panel:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,30,58,.78),rgba(8,30,58,.22) 28%,rgba(8,30,58,.12) 52%,rgba(8,30,58,.86)),linear-gradient(90deg,rgba(8,30,58,.18),transparent 42%)}.auth-brand-panel-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;flex:1;min-height:0}.auth-brand-panel strong{display:block;margin-top:18px;font-size:28px;letter-spacing:-.06em}.auth-brand-panel p{margin:12px 0 0;color:rgba(255,255,255,.78);font-size:14px;font-weight:620;line-height:1.65;max-width:360px}.auth-brand-points{display:flex;flex-wrap:wrap;gap:8px;max-width:420px;margin:20px 0 0;padding:0;list-style:none}.auth-brand-points li{padding:6px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800;letter-spacing:-.02em}.auth-brand-panel small{color:rgba(255,255,255,.62);font-size:12px;font-weight:700}.auth-brand-panel a{color:#d7f6f8;font-weight:800;text-decoration:none}.auth-brand-panel a:hover{text-decoration:underline}.auth-card{width:min(100%,470px);padding:36px;border:1px solid rgba(196,218,229,.82);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 28px 74px rgba(20,64,97,.13)}.auth-home-link{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-bottom:18px;color:var(--accent-deep);font-size:12px;font-weight:800;text-decoration:none}.auth-home-link:hover{text-decoration:underline}.auth-brand{display:flex;align-items:center;gap:12px}.auth-tenant-logo{width:auto;height:36px;-o-object-fit:contain;object-fit:contain}.login-domain-hint{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:700}.login-domain-hint.is-error{color:#a0443d}.auth-brand img{width:auto;height:32px;-o-object-fit:contain;object-fit:contain}.auth-brand>div{display:grid;gap:2px}.auth-brand strong{color:var(--ink);font-size:20px;letter-spacing:-.06em}.auth-brand small{color:var(--muted);font-size:11px;font-weight:750}.auth-heading{margin-top:34px}.auth-heading>span{color:var(--accent-deep);font-size:12px;font-weight:850}.auth-heading h1{margin:8px 0 0;color:var(--ink);font-size:35px;letter-spacing:-.075em;line-height:1.18}.auth-heading p{margin:12px 0 0;color:var(--muted);font-size:13px;font-weight:620;line-height:1.6}.demo-accounts{display:grid;gap:11px;margin-top:25px;padding:14px;border:1px solid #cbe8eb;border-radius:13px;background:var(--accent-soft)}.demo-accounts>div:first-child{display:grid;gap:3px}.demo-accounts strong{color:var(--accent-deep);font-size:12px}.demo-accounts small{color:#5f8590;font-size:10px;font-weight:650}.demo-accounts>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.demo-accounts button{min-height:34px;border:1px solid #b9dde2;border-radius:8px;background:#fff;color:var(--accent-deep);cursor:pointer;font-size:11px;font-weight:850}.demo-accounts button:hover{border-color:var(--accent);background:#faffff}.auth-form{display:grid;gap:17px;margin-top:26px}.auth-form label{display:grid;gap:8px}.auth-form label>span{color:#52677e;font-size:11px;font-weight:850}.auth-form label>div{display:flex;min-height:50px;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);transition:border-color .16s ease,box-shadow .16s ease}.auth-form label>div:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.13)}.auth-form input,.auth-form select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.auth-form input::-moz-placeholder{color:#9aa8b8}.auth-form input::placeholder{color:#9aa8b8}.auth-error{margin:-4px 0 0;padding:11px 12px;border:1px solid #f0c7c2;border-radius:9px;background:#fff4f2;color:#a0443d;font-size:11px;font-weight:750;line-height:1.5}.auth-primary{display:inline-flex;min-height:51px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;background:var(--navy);color:#fff;cursor:pointer;font-size:13px;font-weight:850;text-decoration:none;transition:background-color .16s ease,transform .16s ease,opacity .16s ease}.auth-primary:hover{background:var(--navy-deep);transform:translateY(-1px)}.auth-primary:disabled{cursor:wait;opacity:.65;transform:none}.auth-secondary-link{display:flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:4px;margin:19px auto 0;color:var(--accent-deep);font-size:11px;font-weight:800;text-decoration:none}.auth-secondary-link:hover{text-decoration:underline}.auth-help{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:650;line-height:1.5;text-align:center}.auth-success{display:grid;gap:8px;margin-top:28px;padding:18px;border:1px solid #bfe5df;border-radius:12px;background:#effbf8}.auth-success strong{color:#167a70;font-size:14px}.auth-success p{margin:0;color:#527d78;font-size:11px;line-height:1.55}.auth-message-card{text-align:center}.auth-message-card .auth-heading{margin-top:0}.auth-link-button{margin-top:28px}.role-trigger:disabled{cursor:default;opacity:.75}.role-trigger:disabled:hover{border-color:var(--line);background:#fff;color:var(--muted)}.settings-list button:disabled{cursor:wait;opacity:.62}.teacher-roster-card{display:flex;flex-direction:column;grid-template-columns:none;gap:0;min-height:0;padding:0;overflow:hidden;cursor:default}.teacher-roster-card:hover{transform:none}.teacher-roster-card .collection-card-main{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:12px;width:100%;min-height:88px;margin:0;padding:16px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.teacher-roster-card .collection-card-main:hover{background:#f8fbfc}.teacher-roster-card .collection-card-main .card-copy{min-width:0}.teacher-roster-card .collection-card-main .card-copy small,.teacher-roster-card .collection-card-main .card-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-roster-card .collection-card-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px;border-top:1px solid var(--line)}.teacher-roster-card .collection-card-links a,.teacher-roster-card .collection-card-links button{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent-deep);font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.teacher-roster-card .collection-card-links a:hover,.teacher-roster-card .collection-card-links button:hover{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:900px){.teacher-roster-card .collection-card-main{grid-template-columns:41px minmax(0,1fr) auto 17px;padding:14px}.teacher-roster-card .collection-card-links{padding:0 14px 12px}}.inline-feedback{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:11px 13px;border:1px solid #bfe5df;border-radius:var(--radius-control);background:#effbf8;color:#167a70;font-size:12px;font-weight:750}.inline-feedback button{margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer}.summary-banner .schedule-add-primary{flex:0 0 auto;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff}.summary-banner .schedule-add-primary:hover:not(:disabled){background:rgba(255,255,255,.2)}.summary-banner .schedule-add-primary:disabled{opacity:.45}@media (min-width:960px){.auth-shell.is-split{display:grid;grid-template-columns:minmax(280px,1fr) minmax(460px,560px);align-items:stretch;justify-content:stretch}.auth-shell.is-split .auth-brand-panel{display:flex}.auth-shell.is-split .auth-card{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none;display:grid;align-content:center}}@media (max-width:520px){.auth-shell{align-items:start;padding:0;background:#fff}.auth-card{min-height:100dvh;padding:30px 22px;border:0;border-radius:0;box-shadow:none}.auth-heading{margin-top:31px}.auth-heading h1{font-size:32px}}.penta-screen{gap:16px}.penta-records-section{margin-top:8px}.penta-records-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg,#f7fcfd,#fff 48%);box-shadow:0 10px 28px rgba(18,52,92,.05)}.penta-records-head{display:flex;align-items:center;gap:12px}.penta-records-head .card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep)}.penta-records-head strong{display:block;font-size:15px;font-weight:850}.penta-records-head small{color:var(--muted);font-size:12px;font-weight:650}.penta-records-empty{margin:0;padding:12px 14px;border-radius:12px;background:#f4f7fa;color:var(--muted);font-size:13px;font-weight:650;line-height:1.5}.penta-records-summary{display:grid;gap:12px}.penta-records-meta{margin:0;color:var(--muted);font-size:12px;font-weight:650}.penta-headline{margin:0;font-size:13.5px;font-weight:750;line-height:1.55;color:var(--ink)}.penta-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.penta-kpi-grid article,.penta-kpi-grid.compact article{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.penta-kpi-grid small{display:block;color:var(--muted);font-size:11px;font-weight:750}.penta-kpi-grid strong{display:block;margin-top:4px;font-size:15px;font-weight:900;line-height:1.25}.penta-kpi-grid em{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-style:normal;font-weight:650}.penta-summary-list{margin:0;padding-left:18px;color:#3a4d66;font-size:12.5px;font-weight:650;line-height:1.55}.penta-summary-list li+li{margin-top:6px}.penta-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.penta-actions.footer{justify-content:space-between;margin-top:8px;padding-bottom:20px}.penta-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.penta-btn.primary{background:var(--navy);color:#fff}.penta-btn.primary:disabled{opacity:.45;cursor:not-allowed}.penta-btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.penta-btn.is-muted{opacity:.9}.penta-report-card,.penta-setup-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.penta-report-card h3,.penta-setup-card h2{margin:0;font-size:16px;font-weight:900}.penta-field{display:grid;gap:8px}.penta-field>span{font-size:12px;font-weight:800;color:var(--muted)}.penta-field input,.penta-field select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.penta-agree{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#44586f;font-weight:650}.penta-agree input{margin-top:3px}.penta-axis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.penta-axis-grid article{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.penta-axis-grid strong{display:block;font-size:13px;font-weight:850}.penta-axis-grid small{color:var(--muted);font-size:11px;font-weight:700}.sticky-progress{position:sticky;top:0;z-index:5;margin:0 -4px;padding:10px 4px 12px;background:linear-gradient(180deg,var(--canvas) 70%,transparent)}.penta-progress-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:800}.penta-progress-meta span{color:var(--muted)}.penta-progress-bar{height:8px;margin-top:8px;border-radius:999px;background:#dce7f0;overflow:hidden}.penta-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--navy))}.penta-progress p{margin:8px 0 0;color:var(--muted);font-size:12.5px;font-weight:650}.penta-item-list{display:grid;gap:12px}.penta-item-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.penta-item-card.is-answered{border-color:rgba(21,182,197,.35)}.penta-item-head{display:flex;gap:10px}.penta-item-head em{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#eef3f8;color:var(--muted);font-size:11px;font-style:normal;font-weight:850}.penta-item-head p{margin:0;font-size:14.5px;font-weight:700;line-height:1.45}.penta-scale{display:grid;gap:6px;margin-top:12px}.penta-scale button{display:grid;gap:2px;min-height:54px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.penta-scale button strong{font-size:13px;font-weight:900}.penta-scale button small{color:var(--muted);font-size:10px;font-weight:700;line-height:1.2}.penta-scale button.is-selected{border-color:var(--navy);background:var(--navy);color:#fff}.penta-scale button.is-selected small{color:rgba(255,255,255,.82)}.penta-note{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff1f2;color:#9f1239;font-size:11.5px;font-weight:650;line-height:1.45}.penta-banner{padding:12px 14px;border-radius:12px;background:#eef6fb;color:#245;font-size:12.5px;font-weight:700;line-height:1.45}.penta-banner.success{background:#ecfdf5;color:#065f46}.penta-banner.warning{background:#fffbeb;color:#92400e}.penta-banner.danger{background:#fff1f2;color:#9f1239}.penta-banner ul{margin:8px 0 0;padding-left:18px}.penta-result-hero{display:flex;justify-content:space-between;gap:14px;padding:18px;border-radius:var(--radius-card);background:linear-gradient(135deg,#0d3769,#12507f);color:#fff}.penta-result-hero small{display:block;opacity:.75;font-size:11px;font-weight:800;letter-spacing:.04em}.penta-result-hero h2{margin:6px 0 0;font-size:20px;font-weight:900}.penta-result-hero p{margin:8px 0 0;opacity:.86;font-size:12.5px;font-weight:650;line-height:1.45}.penta-lpi-badge{display:grid;place-content:center;min-width:88px;height:88px;border-radius:18px;background:rgba(255,255,255,.12);text-align:center}.penta-lpi-badge span{font-size:11px;font-weight:800;opacity:.8}.penta-lpi-badge strong{font-size:28px;font-weight:900;line-height:1}.penta-lpi-badge em{font-size:11px;font-style:normal;font-weight:700;opacity:.85}.penta-score-panels{display:grid;gap:18px}.penta-score-panels h4{margin:0 0 10px;font-size:13px;font-weight:850}.penta-score-row{margin-bottom:10px}.penta-score-row-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12px;font-weight:750}.penta-score-row-meta span{color:var(--muted);font-weight:700}.penta-score-track{position:relative;height:8px;border-radius:999px;background:#e8eef4;overflow:hidden}.penta-score-track.is-signed{background:linear-gradient(90deg,#fee2e2,#e8eef4 50%,#dbeafe)}.penta-score-track i{position:absolute;top:0;left:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--navy))}.penta-panel-foot{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:700}.penta-numbered-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.penta-numbered-list li{display:flex;gap:10px;padding:12px;border-radius:12px;background:#f6f9fc}.penta-numbered-list em{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:var(--navy);color:#fff;font-size:11px;font-style:normal;font-weight:850}.penta-numbered-list span{font-size:12.5px;font-weight:650;line-height:1.5}.penta-fusion-list,.penta-risk-list,.penta-talk-list{display:grid;gap:10px}.penta-fusion-list article,.penta-risk-list article,.penta-talk-list article{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.penta-fusion-list article[data-priority="1"]{border-left:4px solid var(--accent-deep)}.penta-fusion-list article[data-priority="2"]{border-left:4px solid #64748b}.penta-fusion-list article[data-priority="3"]{border-left:4px solid #cbd5e1}.penta-fusion-list strong,.penta-risk-list strong,.penta-talk-list strong{display:block;font-size:13px;font-weight:850}.penta-fusion-list small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.penta-fusion-list p,.penta-risk-list p,.penta-talk-list p{margin:8px 0 0;font-size:12.5px;font-weight:650;line-height:1.5;color:#334}.penta-risk-list header{display:flex;justify-content:space-between;gap:8px;align-items:center}.penta-risk-list header span{color:#9f1239;font-size:12px;font-weight:800}.penta-safe{margin:0;padding:12px 14px;border-radius:12px;background:#ecfdf5;color:#065f46;font-size:12.5px;font-weight:700;line-height:1.5}@media (min-width:720px){.penta-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.penta-axis-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.penta-score-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.app-shell{width:100%;min-height:0;zoom:1}.app-topbar,.bottom-nav,.desktop-nav,.no-print,.shell-sidebar{display:none!important}.inner-screen,.penta-result-screen{background:#fff!important;box-shadow:none!important}.penta-report-card{-moz-column-break-inside:avoid;break-inside:avoid}}.penta-chart{width:100%;min-width:0}.penta-chart.h-190{height:190px}.penta-chart.h-210{height:210px}.penta-chart.h-220{height:220px}.penta-chart.h-250{height:250px}.penta-chart.h-280{height:280px}.penta-chart.h-300{height:300px}.penta-lpi-gauge{position:relative}.penta-lpi-center{pointer-events:none;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:16px;text-align:center}.penta-lpi-center strong{font-size:30px;font-weight:900;letter-spacing:-.03em;color:#0f172a;line-height:1}.penta-lpi-center span{margin-top:4px;font-size:11px;font-weight:800;color:#64748b}.penta-axis-summary{display:grid;gap:10px}.penta-axis-summary-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:11.5px;font-weight:700;color:#475569}.penta-axis-summary-meta strong{color:#0f172a;font-weight:900}.penta-axis-summary-track{height:10px;overflow:hidden;border-radius:999px;background:#f1f5f9}.penta-axis-summary-track i{display:block;height:100%;border-radius:inherit}.penta-pers-diverging{display:grid;gap:12px}.penta-pers-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:11px;font-weight:800;color:#94a3b8}.penta-pers-meta .is-active{color:#6d28d9}.penta-pers-meta em{font-style:normal;color:#94a3b8;font-weight:700}.penta-pers-track{position:relative;height:24px;overflow:hidden;border-radius:10px;background:#f1f5f9}.penta-pers-track .center-line{position:absolute;left:50%;top:0;width:1.5px;height:100%;background:#cbd5e1}.penta-pers-track .fill{position:absolute;top:0;height:100%;background:rgba(139,92,246,.8)}.penta-pers-track span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:800;color:#475569}.penta-heatmap-wrap{overflow-x:auto}.penta-heatmap{width:100%;min-width:420px;border-collapse:separate;border-spacing:4px;text-align:center}.penta-heatmap td,.penta-heatmap th{padding:8px 4px;font-size:10.5px;font-weight:800;border-radius:8px}.penta-heatmap th{color:#475569}.penta-heatmap .label{width:96px;text-align:left;color:#64748b;font-weight:700}.penta-heatmap-note{margin:8px 0 0;color:#94a3b8;font-size:10.5px;font-weight:650;line-height:1.45}.penta-result-screen{max-width:920px}.penta-report-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:4px}.penta-link{display:inline-flex;align-items:center;gap:4px;color:#64748b;font-size:12px;font-weight:800;text-decoration:none}.penta-card{display:grid;gap:12px;margin-top:14px;padding:18px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,52,92,.04)}.penta-card h2{margin:0;font-size:17px;font-weight:900;letter-spacing:-.02em;color:#0f172a}.penta-card h3,.penta-subhead{margin:0;font-size:13px;font-weight:850;color:#334155}.penta-card.is-warning{background:#fffbeb;border-color:#fde68a}.penta-card.is-footer{background:#f8fafc;color:#64748b;font-size:10.5px;font-weight:650;line-height:1.55}.penta-card.is-footer .foot-title{margin:0 0 6px;color:#334155;font-size:12px;font-weight:850}.penta-sec-desc{margin:-4px 0 0;color:#64748b;font-size:12px;font-weight:650;line-height:1.45}.penta-cover{margin-top:8px;padding:20px 18px;border-radius:18px;color:#fff}.penta-cover.is-student{background:linear-gradient(135deg,#213fe4,#1b2d92);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}.penta-cover.is-teacher{background:#0f172a}.penta-cover .eyebrow-en{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.75}.penta-cover h1{margin:8px 0 0;font-size:22px;font-weight:900;letter-spacing:-.03em}.penta-cover p{margin:8px 0 0;font-size:13px;font-weight:650;opacity:.9;line-height:1.45}.penta-cover-meta{text-align:right;font-size:11px;font-weight:700;line-height:1.55;opacity:.88}.penta-teacher-notice{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);font-size:11.5px;font-weight:650;line-height:1.45}.penta-grid-profile{display:grid;gap:18px}.penta-grid-2{display:grid;gap:16px}.penta-grid-3{display:grid;gap:12px}.penta-grid-ls{display:grid;gap:16px}.penta-note-box{margin-top:8px;padding:12px;border-radius:12px;background:#f8fafc;color:#475569;font-size:11px;font-weight:650;line-height:1.45}.penta-headline-box{margin-top:4px;padding:14px 16px;border-radius:14px;background:#eef4ff;border:1px solid #d9e5ff;color:#1c2c74;font-size:14px;font-weight:850;line-height:1.5}.penta-kv-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.penta-kv-list li{display:flex;gap:8px;color:#334155;font-size:13px;font-weight:650;line-height:1.55}.penta-kv-list i{flex:0 0 auto;width:6px;height:6px;margin-top:8px;border-radius:999px;background:#3560f7}.penta-kv-list.is-teal i{background:#0d9488}.penta-detail-stack{display:grid;gap:10px}.penta-soft-card{padding:14px;border-radius:14px;background:#f8fafc}.penta-soft-card p{margin:6px 0 0;color:#334155;font-size:13px;font-weight:650;line-height:1.5}.penta-body.muted,.penta-soft-card p.muted{color:#64748b;font-size:12px}.penta-body{margin:0;color:#334155;font-size:13px;font-weight:650;line-height:1.55}.penta-body-strong{font-size:13px;font-weight:850;color:#334155}.penta-inline-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.penta-inline-tags strong{font-size:14px;font-weight:900;color:#0f172a}.penta-inline-tags em{font-style:normal;font-size:13px;font-weight:850;color:#334155}.penta-inline-tags em.is-brand{color:#213fe4}.penta-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.penta-badge.band-emerald{background:#d1fae5;color:#065f46}.penta-badge.band-green{background:#dcfce7;color:#166534}.penta-badge.band-sky{background:#e0f2fe;color:#075985}.penta-badge.band-amber{background:#fef3c7;color:#92400e}.penta-badge.band-rose{background:#ffe4e6;color:#9f1239}.penta-badge.band-slate{background:#f1f5f9;color:#334155}.penta-badge.is-priority-1{background:#213fe4;color:#fff}.penta-badge.is-priority-2{background:#475569;color:#fff}.penta-badge.is-priority-3{background:#e2e8f0;color:#334155}.penta-bullet-list,.penta-check-list,.penta-dot-list,.penta-method-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}.penta-bullet-list li,.penta-check-list li,.penta-dot-list li,.penta-method-list li{font-size:12px;font-weight:650;line-height:1.45;color:#475569}.penta-method-list li{padding:8px 12px;border-radius:10px;background:#fffbeb;color:#92400e}.penta-type-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:14px;background:#f5f3ff;border:1px solid #ddd6fe}.penta-type-code{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:10px 14px;border-radius:12px;background:#7c3aed;color:#fff;font-size:20px;font-weight:900;letter-spacing:.12em}.penta-type-banner strong{display:block;font-size:14px;font-weight:900;color:#4c1d95}.penta-type-banner small{display:block;margin-top:2px;color:#6d28d9;font-size:12px;font-weight:700}.penta-box{padding:14px;border-radius:14px;border:1px solid transparent}.penta-box.is-emerald{background:#ecfdf5;border-color:#a7f3d0;color:#064e3b}.penta-box.is-amber{background:#fffbeb;border-color:#fde68a;color:#78350f}.penta-box.is-sky{background:#f0f9ff;border-color:#bae6fd;color:#0c4a6e}.penta-box-title{margin-bottom:8px;font-size:12px;font-weight:900}.penta-box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.penta-box li{font-size:11.5px;font-weight:650;line-height:1.45}.penta-mi-top{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#f0fdfa;border:1px solid #99f6e4}.penta-mi-top span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#0d9488;color:#fff;font-size:11px;font-weight:900}.penta-mi-top strong{flex:1;font-size:13px;font-weight:900;color:#134e4a}.penta-mi-top em{font-style:normal;font-size:13px;font-weight:850;color:#0f766e}.block-title{display:block;margin-bottom:6px;font-size:12px;font-weight:850;color:#334155}.penta-fusion-card{padding:14px;border-radius:14px;border:1px solid #e2e8f0;background:#fff}.penta-fusion-card.is-p1{background:#eef4ff;border-color:#bcd0ff}.penta-fusion-card.is-p2{background:#f8fafc}.penta-fusion-card strong{display:block;font-size:13px;font-weight:900;color:#0f172a}.penta-fusion-card small{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700}.penta-fusion-card p{margin:8px 0 0;color:#334155;font-size:13px;font-weight:650;line-height:1.5}.penta-plan-card{padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.penta-plan-card strong{display:block;color:#1b31b8;font-size:13px;font-weight:900}.penta-plan-card small{display:block;margin-top:2px;color:#64748b;font-size:11.5px;font-weight:700}.penta-plan-card ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.penta-plan-card li{display:flex;gap:8px;color:#334155;font-size:12.5px;font-weight:650;line-height:1.45}.penta-plan-card li i{flex:0 0 auto;width:14px;height:14px;margin-top:2px;border:1px solid #cbd5e1;border-radius:4px}.penta-footnote{margin:8px 0 0;color:#94a3b8;font-size:10.5px;font-weight:650;line-height:1.45}.risk-follow{margin-top:6px!important;color:#be123c!important;font-size:11.5px!important;font-weight:800!important}.penta-kpi-stack{display:grid;gap:8px}.penta-kpi-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid transparent;font-size:12px}.penta-kpi-row span{font-weight:700;opacity:.85}.penta-kpi-row strong{font-weight:900;text-align:right}.penta-kpi-row.is-brand{background:#eef4ff;border-color:#d9e5ff;color:#1c2c74}.penta-kpi-row.is-violet{background:#f5f3ff;border-color:#ddd6fe;color:#4c1d95}.penta-kpi-row.is-teal{background:#f0fdfa;border-color:#99f6e4;color:#134e4a}.penta-kpi-row.is-amber{background:#fffbeb;border-color:#fde68a;color:#78350f}.penta-kpi-row.is-rose{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.penta-kpi-row.is-slate{background:#f8fafc;border-color:#e2e8f0;color:#1e293b}.penta-score-table h4{margin:0 0 6px;font-size:12.5px;font-weight:900;color:#0f172a}.penta-score-table table{width:100%;border-collapse:collapse}.penta-score-table td{padding:7px 0;border-bottom:1px solid #f1f5f9;font-size:11.5px;font-weight:650;color:#475569}.penta-score-table td.score{width:56px;text-align:right;font-weight:900;color:#0f172a}.penta-score-table td.note{width:96px;text-align:right;font-size:10.5px;font-weight:700;color:#94a3b8}.penta-score-table .foot{margin:8px 0 0;color:#64748b;font-size:11px;font-weight:750}.penta-talk-card{padding:14px;border-radius:12px;background:#f8fafc}.penta-talk-card strong{display:block;font-size:11.5px;font-weight:900;color:#0f172a}.penta-talk-card p{margin:6px 0 0;color:#475569;font-size:12.5px;font-weight:650;line-height:1.5}.penta-raw-table-wrap{overflow-x:auto}.penta-raw-table{width:100%;min-width:640px;border-collapse:collapse;text-align:left;font-size:10.5px}.penta-raw-table th{padding:8px 6px;border-bottom:1px solid #cbd5e1;color:#64748b;font-weight:800}.penta-raw-table td{padding:6px;border-bottom:1px solid #f1f5f9;color:#475569;font-weight:650;vertical-align:top}.penta-raw-table td.score{text-align:center;font-weight:900;color:#0f172a}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mb-2{margin-bottom:8px}.ml-auto{margin-left:auto}@media (min-width:720px){.penta-grid-profile{grid-template-columns:220px 1fr;align-items:start}.penta-grid-2{grid-template-columns:1fr 1fr}.penta-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.penta-grid-ls{grid-template-columns:1fr 1.1fr}}@media print{.penta-result-screen{max-width:none}.penta-card{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}.page-break{-moz-column-break-before:page;break-before:page}.penta-chart{-moz-column-break-inside:avoid;break-inside:avoid}}.app-shell[data-section=penta-l-result] .page-content{width:min(100%,920px);padding-left:16px;padding-right:16px;padding-top:20px}.app-shell[data-section=penta-l-result] .page-content>#penta-l-report{max-width:100%}@media (max-width:900px){.app-shell[data-section=penta-l-result] .page-content{width:100%;padding-left:12px;padding-right:12px}}.parent-hub-grid{display:grid;gap:12px;margin-top:8px}.parent-hub-card{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:start;gap:14px;min-height:118px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;color:var(--ink);text-decoration:none;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.parent-hub-card.is-error{border-color:#f0c7c2;background:#fffafa;cursor:pointer}.parent-hub-card.is-error .card-arrow,.parent-hub-card.is-error .parent-hub-copy strong{color:#b5473c}.parent-hub-card:hover{border-color:#b9dce2;box-shadow:0 12px 28px rgba(27,70,105,.08);transform:translateY(-2px)}.parent-hub-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep)}.parent-hub-card.is-attendance .parent-hub-icon{background:#e8f7f1;color:#0f8a63}.parent-hub-card.is-grades .parent-hub-icon{background:#eaf0fb;color:#2f5fbf}.parent-hub-card.is-learning .parent-hub-icon{background:#fff4e8;color:#c56a12}.parent-hub-card.is-aptitude .parent-hub-icon,.parent-hub-icon.is-aptitude{background:#f3e9fb;color:#7a3db8}.parent-hub-copy{display:grid;gap:4px;min-width:0}.parent-hub-copy em{color:var(--accent-deep);font-size:11px;font-style:normal;font-weight:850}.parent-hub-copy strong{font-size:18px;font-weight:850;letter-spacing:-.03em}.parent-hub-copy small{color:var(--muted);font-size:12px;font-weight:700}.parent-hub-copy p{margin:4px 0 0;color:var(--muted);font-size:11.5px;font-weight:650;line-height:1.45}.parent-hub-links{display:grid;gap:8px;margin-top:18px}.parent-hub-link{display:grid;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;font-size:13px;font-weight:750}.parent-hub-link:hover{border-color:#b9dce2;background:#f8fcfd}.attendance-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attendance-breakdown span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#f3f7fb;color:var(--muted);font-size:11px;font-weight:780}.grade-result-card .grade-score-line{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.grade-result-card .grade-score-line span{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--navy-deep);font-size:11px;font-weight:800}.grade-result-card .grade-feedback-line{margin:6px 0 0;color:var(--muted);font-size:11.5px;font-weight:650;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.parent-learning-note{margin:4px 0 0;color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.text-link{display:inline-flex;align-items:center;gap:2px;color:var(--accent-deep);font-size:12px;font-weight:800;text-decoration:none}.parent-aptitude-hero{margin-top:8px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg,#fbf7ff,#fff 70%)}.parent-aptitude-hero-top{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start}.parent-aptitude-hero-top em{display:block;color:#7a3db8;font-size:11px;font-style:normal;font-weight:850}.parent-aptitude-hero-top strong{display:block;margin-top:4px;font-size:18px;font-weight:850;letter-spacing:-.03em}.parent-aptitude-hero-top small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:700}.parent-aptitude-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.parent-aptitude-kpis div{display:grid;gap:2px;padding:12px;border-radius:12px;background:#fff;border:1px solid #ece4f5}.parent-aptitude-kpis small{color:var(--muted);font-size:10.5px;font-weight:750}.parent-aptitude-kpis strong{font-size:15px;font-weight:850}.parent-aptitude-kpis em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.parent-aptitude-lines,.parent-aptitude-notes ul{margin:14px 0 0;padding-left:18px}.parent-aptitude-lines li,.parent-aptitude-notes li{margin:6px 0;color:var(--ink);font-size:12.5px;font-weight:650;line-height:1.45}.parent-aptitude-notes h3{margin:16px 0 0;font-size:13px;font-weight:850}.parent-aptitude-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parent-aptitude-manual-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.parent-aptitude-manual-grid article.is-wide{grid-column:1/-1}.parent-aptitude-manual-grid small{display:block;color:var(--muted);font-size:11px;font-weight:750}.parent-aptitude-manual-grid strong{display:block;margin-top:6px;font-size:14px;font-weight:800;line-height:1.4}.parent-aptitude-banner p{margin:6px 0 0;color:var(--muted);font-size:12px;font-weight:650}@media (min-width:900px){.parent-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-aptitude-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.work-diary-datebar{gap:10px;flex-wrap:wrap}.work-diary-datebar label input[type=date]{min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700}.work-diary-absence{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #f0d9b8;color:var(--navy-deep);font-size:13px;font-weight:750}.work-diary-layout{display:grid;gap:16px;margin-top:16px}.work-diary-student-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:2px}.work-diary-student-item{display:grid;gap:2px;width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.work-diary-student-item strong{font-size:14px;font-weight:850}.work-diary-student-item small{color:var(--muted);font-size:11px;font-weight:700}.work-diary-student-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.work-diary-student-item.is-saved:not(.is-active){border-color:#c9e5df}.work-diary-editor{border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;padding:16px}.work-diary-editor-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.work-diary-editor-head em{display:block;color:var(--accent-deep);font-size:11px;font-style:normal;font-weight:850}.work-diary-editor-head h2{margin:4px 0 0;font-size:22px;font-weight:850;letter-spacing:-.04em}.work-diary-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.work-diary-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-diary-form-grid label,.work-diary-score-row label{display:grid;gap:6px;font-size:12px;font-weight:750;color:var(--muted)}.work-diary-form-grid label.is-wide,.work-diary-score-row label.is-wide,.work-diary-section-title{grid-column:1/-1}.work-diary-form-grid input,.work-diary-form-grid textarea,.work-diary-score-row input{min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;color:var(--ink);font-weight:700}.work-diary-form-grid textarea{min-height:120px;resize:vertical;line-height:1.5}.work-diary-auto{margin-left:6px;color:var(--accent-deep);font-style:normal;font-size:10px;font-weight:850}.work-diary-section-title{margin-top:4px;padding-top:8px;border-top:1px dashed var(--line);color:var(--navy);font-size:13px;font-weight:850}.work-diary-score-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-radius:12px;background:#f7fafc;border:1px solid #e8eef4}.work-diary-preview{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.work-diary-preview h3{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:850}.work-diary-preview pre{margin:10px 0 0;padding:14px;border-radius:12px;background:#f4f9fb;border:1px solid var(--line);white-space:pre-wrap;word-break:keep-all;font-family:inherit;font-size:12.5px;font-weight:650;line-height:1.55;color:var(--ink)}@media (min-width:900px){.work-diary-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start}.work-diary-student-list{max-height:min(70vh,720px)}}@media (max-width:767px){.work-diary-form-grid,.work-diary-score-row{grid-template-columns:1fr}}.leave-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.leave-yearbar{margin:0}.leave-teacher-filter{display:grid;gap:4px;min-width:min(100%,220px);font-size:11px;font-weight:800;color:var(--muted)}.leave-teacher-filter select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:750}.leave-sheet{margin-top:16px;border:2px solid #d8c48a;border-radius:8px;overflow:hidden;background:#fff8dc;box-shadow:0 10px 28px rgba(120,90,20,.08)}.leave-sheet-title{padding:14px 12px 10px;text-align:center;font-size:20px;font-weight:900;letter-spacing:-.03em;color:#1a1a1a;border-bottom:2px solid #c9b26a;background:#fff3b0}.leave-table-wrap{overflow-x:auto}.leave-table{width:100%;border-collapse:collapse;min-width:560px;table-layout:fixed}.leave-table td,.leave-table th{border:1px solid #c9b26a;padding:10px 8px;text-align:center;vertical-align:middle;font-size:13px;font-weight:750;color:#222;background:#fff8dc}.leave-table th{background:#ffe566;font-weight:900;font-size:13px}.leave-table td:first-child,.leave-table th:first-child{width:16%}.leave-table td:nth-child(2),.leave-table th:nth-child(2){width:18%}.leave-table td:nth-child(3),.leave-table th:nth-child(3){width:16%}.leave-table td:nth-child(4),.leave-table th:nth-child(4){width:50%}.leave-table td{min-height:42px;height:42px}.leave-reason-cell{text-align:left!important;padding-left:12px!important;font-weight:700}.leave-meta{display:block;margin-top:4px;color:#7a6a3a;font-size:11px;font-weight:700}.leave-empty-note{margin:0;padding:12px 14px 16px;text-align:center;color:#7a6a3a;font-size:12px;font-weight:700}.leave-students-screen .schedule-form-sheet textarea{min-height:100px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:700}.teacher-leave-form-sheet{max-width:min(100%,720px);max-height:min(92vh,900px);overflow:auto}.schedule-form-sheet.teacher-leave-form-sheet form.teacher-leave-form{display:grid;grid-template-columns:1fr;gap:14px}.schedule-form-sheet.teacher-leave-form-sheet form.teacher-leave-form>*{grid-column:1/-1}.leave-form-table{border:1px solid #333;border-radius:4px;overflow:hidden;background:#fff}.leave-form-row{display:grid;grid-template-columns:92px minmax(0,1fr);border-bottom:1px solid #333}.leave-form-row:last-child{border-bottom:0}.leave-form-row-split{grid-template-columns:92px minmax(0,1fr) 72px minmax(0,1fr)}.leave-form-label{display:grid;place-items:center;padding:10px 6px;background:#f4f4f4;border-right:1px solid #333;text-align:center;font-size:12px;font-weight:850;color:#222;line-height:1.35}.leave-form-input,.leave-form-textarea,.leave-inline-input,.leave-makeup-fields input,.leave-period-fields input,.leave-review-actions input,.leave-sign-row input{width:100%;min-height:42px;border:0;padding:10px 12px;background:#fff;color:var(--ink);font-weight:700}.leave-form-textarea{min-height:72px;resize:vertical;line-height:1.45}.leave-form-checks{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;align-items:center}.leave-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;color:#222}.leave-check input{width:16px;height:16px}.leave-inline-input{min-width:120px;min-height:32px;border:1px solid #ccc!important;border-radius:6px;padding:4px 8px}.leave-makeup-fields,.leave-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px}.leave-makeup-fields label,.leave-period-fields label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.leave-makeup-fields label.is-wide{grid-column:1/-1}.leave-makeup-fields input,.leave-period-fields input{border:1px solid #ccc;border-radius:8px}.leave-process-block{display:grid;gap:4px}.leave-policy-box{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;font-size:12px;font-weight:650;line-height:1.5;color:var(--ink)}.leave-policy-box strong{display:block;margin-bottom:8px;font-size:13px;font-weight:850}.leave-policy-box ol{margin:0 0 10px;padding-left:18px}.leave-policy-box li{margin:6px 0}.leave-agree{display:flex;gap:8px;align-items:flex-start;font-weight:750}.leave-agree input{margin-top:3px;width:16px;height:16px;flex:0 0 auto}.leave-sign-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-sign-row label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.leave-sign-row input{border:1px solid var(--line);border-radius:10px}.leave-footer-note{margin:0;text-align:right;font-size:12px;font-weight:800;color:var(--muted)}.leave-status{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:850}.leave-status.is-submitted{background:#fff4e5;color:#b45309}.leave-status.is-approved{background:#e8f7f1;color:#0f8a63}.leave-status.is-rejected{background:#fdecec;color:#b42318}.leave-detail-sheet{border:1px solid #333;background:#fff;padding-bottom:12px}.leave-detail-title{padding:16px 12px 12px;text-align:center;font-size:18px;font-weight:900;border-bottom:1px solid #333}.leave-detail-table{width:100%;border-collapse:collapse}.leave-detail-table td,.leave-detail-table th{border:1px solid #333;padding:10px 12px;font-size:13px;font-weight:700;vertical-align:top}.leave-detail-table th{width:22%;background:#f4f4f4;text-align:center;font-weight:850}.leave-detail-sign{margin:18px 16px 8px;text-align:center;font-size:13px;font-weight:750;line-height:1.7}.leave-review-actions{display:grid;gap:10px;margin-top:12px}.leave-review-actions label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.leave-review-actions input{border:1px solid var(--line);border-radius:10px}.schedule-form-actions .is-approve{background:var(--navy);color:#fff}@media (max-width:767px){.leave-form-row,.leave-form-row-split{grid-template-columns:78px minmax(0,1fr)}.leave-form-row-split .leave-form-label:nth-of-type(2){border-top:1px solid #333}.leave-form-row-split .leave-form-input:nth-of-type(2){border-top:1px solid #eee}.leave-makeup-fields,.leave-period-fields,.leave-sign-row{grid-template-columns:1fr}}.checklist-status{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:850}.checklist-status.is-requested{background:#fff4e5;color:#b45309}.checklist-status.is-submitted{background:#e8f7f1;color:#0f8a63}.checklist-editor-sheet{max-width:min(100%,760px);max-height:min(94vh,960px);overflow:auto}.schedule-form-sheet.checklist-editor-sheet form.checklist-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.checklist-form>*{min-width:0}.checklist-form-header{display:grid;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.checklist-form-header strong{font-size:17px;font-weight:900;letter-spacing:-.03em}.checklist-form-header>small{color:var(--muted);font-size:12px;font-weight:750}.checklist-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checklist-meta-grid label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.checklist-meta-grid input{min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-weight:750}.checklist-request-note{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--navy-deep);font-size:12px;font-weight:750}.checklist-section-block{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.checklist-section-block h3{margin:0;font-size:14px;font-weight:900;color:var(--navy)}.checklist-question{display:grid;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}.checklist-question:first-of-type{border-top:0;padding-top:0}.checklist-prompt{margin:0;font-size:13px;font-weight:800;line-height:1.45}.checklist-detail{margin:0;color:var(--muted);font-size:11.5px;font-weight:700;line-height:1.4}.checklist-score-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.checklist-score-row label{display:grid;gap:2px;place-items:center;min-height:58px;padding:6px 4px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;text-align:center}.checklist-score-row label.is-selected{border-color:var(--accent);background:var(--accent-soft)}.checklist-score-row input{position:absolute;opacity:0;pointer-events:none}.checklist-score-row span{font-size:15px;font-weight:900;color:var(--navy)}.checklist-score-row small{font-size:9.5px;font-weight:750;color:var(--muted);line-height:1.2}.checklist-parent-note,.checklist-reason{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted)}.checklist-parent-note textarea,.checklist-reason input{min-height:40px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--ink)}.checklist-parent-note textarea{min-height:84px;resize:vertical;line-height:1.45}.checklist-timeline{margin:0;color:var(--muted);font-size:11.5px;font-weight:750}.home-checklist-banner{display:grid;gap:10px;margin:12px 0 4px;padding:14px 16px;border:1px solid #f0d9b8;border-radius:14px;background:linear-gradient(180deg,#fff8ee,#fff 80%)}.home-checklist-banner>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-checklist-banner>header strong{font-size:14px;font-weight:900}.home-checklist-banner>header span{color:#b45309;font-size:11px;font-weight:850}.home-checklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:52px;padding:10px 12px;border:1px solid #efd9b5;border-radius:12px;background:#fff;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}.home-checklist-item strong{display:block;font-size:13px;font-weight:850}.home-checklist-item small{color:var(--muted);font-size:11px;font-weight:700}@media (max-width:767px){.checklist-meta-grid{grid-template-columns:1fr}.checklist-score-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.card-news-status{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;font-style:normal}.card-news-status.is-ready{background:var(--accent-soft);color:var(--accent-deep)}.card-news-status.is-partial{background:#fdf1e2;color:#b96a12}.card-news-detail{margin-top:18px}.card-news-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.card-news-back{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease,transform .16s ease}.card-news-back:hover{border-color:#b7dce2;color:var(--accent-deep);transform:translateY(-1px)}.card-news-detail-copy{display:grid;gap:3px;min-width:0;flex:1}.card-news-detail-copy strong{font-size:16px;letter-spacing:-.04em}.card-news-detail-copy small{color:var(--muted);font-size:12px}.card-news-delete{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid #f3d3d3;border-radius:999px;background:#fff7f7;color:#c0392b;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .16s ease,transform .16s ease}.card-news-delete:hover:not(:disabled){background:#fdecec;transform:translateY(-1px)}.card-news-delete:disabled{opacity:.55;cursor:default}.card-news-partial-note{margin:14px 2px 0;padding:12px 15px;border:1px solid rgba(185,106,18,.28);border-radius:var(--radius-group);background:#fdf6ec;color:#b96a12;font-size:13px}.card-news-view-toggle{display:inline-flex;gap:4px;margin-top:14px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#f2f7fa}.card-news-view-toggle button{padding:8px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;transition:background-color .16s ease,color .16s ease}.card-news-view-toggle button.is-selected{background:var(--surface);color:var(--accent-deep);box-shadow:0 2px 8px rgba(26,63,95,.12)}.card-news-post{display:grid;justify-items:center;margin-top:16px}.card-news-post-frame{width:min(100%,440px);padding:22px 22px 26px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 10px 30px rgba(26,63,95,.08)}.card-news-post-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.card-news-post-head strong{font-size:14px;letter-spacing:-.03em}.card-news-post-head small{color:var(--muted);font-size:12px}.card-news-post-title{margin:14px 0 10px;color:var(--ink);font-size:18px;letter-spacing:-.05em;line-height:1.35}.card-news-post-body{margin:0;color:var(--ink);font-size:14px;line-height:1.85;white-space:pre-line}.card-news-post-inline{display:block;width:100%;margin:12px 0;border-radius:12px}.card-news-post-stack{display:grid;gap:8px;margin-top:16px}.card-news-post-stack img{display:block;width:100%;border-radius:12px}.card-news-post-note{margin:12px 0 0;color:var(--muted);font-size:12px}.card-news-body-panel{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.card-news-body-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafdfe}.card-news-body-head strong{display:inline-flex;align-items:center;gap:7px;font-size:14px;letter-spacing:-.03em}.card-news-body-head button{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease}.card-news-body-head button:hover{border-color:#b7dce2;color:var(--accent-deep)}.card-news-body-text{margin:0;padding:16px 18px 18px;color:var(--ink);font-size:14px;line-height:1.75;white-space:pre-line}.card-news-body-marker{display:inline-block;margin:2px 0;padding:3px 9px;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-style:normal;font-weight:700}.card-news-attach{display:flex;width:100%;align-items:center;gap:12px;padding:12px 14px;border:1.5px dashed #bfd7de;border-radius:var(--radius-control);background:#fafdfe;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.card-news-attach>svg{flex:0 0 auto;color:var(--accent-deep)}.card-news-attach-copy{display:grid;gap:2px;min-width:0}.card-news-attach-copy strong{font-size:13.5px;font-weight:750}.card-news-attach-copy small{color:var(--muted);font-size:11.5px;line-height:1.4}.card-news-attach:hover:not(:disabled){border-color:var(--accent);background:#f1fafc}.card-news-attach:disabled{opacity:.55;cursor:default}.card-news-asset-list{display:grid;gap:8px;margin:2px 0 0;padding:0;list-style:none}.card-news-asset{display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:11px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-group);background:var(--surface)}.card-news-asset img{width:46px;height:46px;border-radius:9px;-o-object-fit:cover;object-fit:cover}.card-news-asset-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep)}.card-news-asset-copy{display:grid;gap:3px;min-width:0}.card-news-asset-copy strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.card-news-asset-copy small{color:var(--muted);font-size:11.5px}.card-news-asset-warning{color:#b96a12;font-style:normal;font-weight:700}.card-news-asset-check{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.card-news-asset-check input{width:15px;height:15px;accent-color:var(--accent)}.card-news-asset>button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .16s ease,color .16s ease}.card-news-asset>button:hover{background:#fdecec;color:#c0392b}.card-news-item-copy em.is-asset{color:#a76e26}.card-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:16px}.card-news-item{display:grid;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.card-news-image{position:relative;width:100%;overflow:hidden;background:var(--accent-soft)}.card-news-image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card-news-image-failed{display:grid;place-content:center;justify-items:center;gap:6px;height:100%;padding:18px;color:var(--muted);text-align:center}.card-news-image-failed strong{color:var(--ink);font-size:14px}.card-news-image-failed p{margin:0;font-size:12px}.card-news-image-busy{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;background:rgba(253,254,254,.86);color:var(--accent-deep);font-size:13px;font-weight:700;backdrop-filter:blur(2px)}.card-news-image-busy svg{animation:card-news-spin 1.6s linear infinite}@keyframes card-news-spin{to{transform:rotate(1turn)}}.card-news-item-copy{display:grid;gap:5px;padding:13px 15px 11px}.card-news-item-copy em{color:var(--accent-deep);font-size:11px;font-style:normal;font-weight:800}.card-news-item-copy strong{font-size:15px;letter-spacing:-.04em}.card-news-item-copy p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5;white-space:pre-line}.card-news-item-actions{display:flex;gap:8px;padding:0 15px 14px}.card-news-item-actions button{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.card-news-item-actions button:hover:not(:disabled){border-color:#b7dce2;background:#faffff;color:var(--accent-deep)}.card-news-item-actions button:disabled{opacity:.5;cursor:default}.card-news-form-sheet{width:min(620px,100%);padding:0}@media (min-width:641px){.card-news-form-sheet{max-height:calc(100dvh - 96px)}}.card-news-form-sheet .schedule-form-head{position:sticky;top:0;z-index:6;padding:22px 24px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);backdrop-filter:blur(8px)}.card-news-form-sheet .card-news-form{display:grid;grid-template-columns:1fr;gap:0;margin-top:0;padding:0}.card-news-section{display:grid;gap:14px;padding:20px 24px 22px}.card-news-section+.card-news-section{border-top:1px solid var(--line)}.card-news-section-head{display:flex;align-items:flex-start;gap:11px}.card-news-step{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;margin-top:1px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-size:12.5px;font-weight:850}.card-news-section-head strong{display:flex;align-items:center;gap:7px;font-size:15px;letter-spacing:-.04em}.card-news-section-head strong em{padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:10.5px;font-style:normal;font-weight:800}.card-news-section-head p{margin:3px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}.card-news-field{display:grid;gap:8px;min-width:0}.card-news-field>span{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:800}.card-news-field>span em{padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:10.5px;font-style:normal;font-weight:800}.card-news-field>span em.is-optional{background:#f0f3f8;color:var(--muted)}.card-news-field input:not([type=checkbox]),.card-news-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.card-news-field textarea{resize:vertical;min-height:122px;line-height:1.6}.card-news-field input:not([type=checkbox]):focus,.card-news-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,182,197,.14);outline:none}.card-news-field>small{color:var(--muted);font-size:11.5px;line-height:1.45}.card-news-field-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:15px;color:var(--muted);font-size:11.5px}.card-news-counter{flex:0 0 auto;font-variant-numeric:tabular-nums}.card-news-style-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card-news-style-chip{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.card-news-style-chip:hover:not(:disabled){transform:translateY(-1px)}.card-news-style-swatch{display:inline-flex;flex:0 0 auto}.card-news-style-swatch i{width:16px;height:16px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(9,42,82,.1)}.card-news-style-swatch i+i{margin-left:-6px}.card-news-style-copy{display:grid;gap:1px;min-width:0}.card-news-style-copy strong{font-size:13px;font-weight:750;letter-spacing:-.02em}.card-news-style-copy small{color:var(--muted);font-size:11px}.card-news-style-chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.card-news-style-chip.is-clean.is-selected{border-color:#15b6c5;background:#e5f8fa;color:#079cac}.card-news-style-chip.is-vivid.is-selected{border-color:#f05e7e;background:#fdeef2;color:#d13a5d}.card-news-style-chip.is-premium.is-selected{border-color:#0d3769;background:#eaf0f8;color:#0d3769}.card-news-style-chip.is-warm.is-selected{border-color:#c98a3d;background:#faf3e9;color:#a76e26}.card-news-ratio-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.card-news-ratio-chip{display:grid;justify-items:center;gap:4px;padding:12px 8px 10px;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.card-news-ratio-chip:hover:not(:disabled){transform:translateY(-1px)}.card-news-ratio-shape{display:block;height:20px;margin-bottom:2px;border:1.7px solid #9db4be;border-radius:4px}.card-news-ratio-chip strong{font-size:13px;font-weight:750}.card-news-ratio-chip small{color:var(--muted);font-size:11px}.card-news-ratio-chip.is-selected{border-color:var(--accent);background:var(--accent-soft)}.card-news-ratio-chip.is-selected .card-news-ratio-shape{border-color:var(--accent-deep);background:rgba(21,182,197,.16)}.card-news-ratio-chip.is-selected strong{color:var(--accent-deep)}.card-news-segment{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;border:1px solid var(--line);border-radius:var(--radius-control);background:#f2f7f9}.card-news-segment button{padding:9px 0;border:0;border-radius:calc(var(--radius-control) - 4px);background:transparent;color:var(--muted);font-size:13.5px;font-weight:750;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.card-news-segment button.is-selected{background:#fff;color:var(--accent-deep);box-shadow:0 2px 8px rgba(9,42,82,.12)}.card-news-pill-row{display:flex;flex-wrap:wrap;gap:8px}.card-news-pill{padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.card-news-pill:hover:not(:disabled){transform:translateY(-1px)}.card-news-pill.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.card-news-attach:focus-visible,.card-news-pill:focus-visible,.card-news-ratio-chip:focus-visible,.card-news-segment button:focus-visible,.card-news-style-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-news-form-footer{position:sticky;bottom:0;z-index:6;display:grid;gap:10px;padding:14px 24px 18px;border-top:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}.card-news-form-footer .schedule-form-error{margin:0}.card-news-progress{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(21,182,197,.28);border-radius:var(--radius-group);background:rgba(21,182,197,.08);color:var(--accent-deep)}.card-news-progress svg{flex:0 0 auto;margin-top:2px;animation:card-news-spin 2.2s linear infinite}.card-news-progress strong{display:block;font-size:13.5px}.card-news-progress p{margin:4px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}.card-news-submit{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:7px;padding:14px 16px;border:0;border-radius:var(--radius-control);background:var(--accent);color:#f6ffff;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(21,182,197,.24);transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}.card-news-submit:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.card-news-submit:disabled{opacity:.45;box-shadow:none;cursor:default}@media (max-width:640px){.card-news-detail-head{padding:12px 13px}.card-news-detail-copy{flex-basis:100%;order:3}.card-news-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.card-news-form-sheet .schedule-form-head{padding:24px 18px 13px}.card-news-form-sheet .schedule-form-head:before{content:"";position:absolute;top:8px;left:50%;width:44px;height:4px;transform:translateX(-50%);border-radius:999px;background:#d5e1e7}.card-news-section{padding:16px 18px 20px}.card-news-form-footer{padding:12px 18px calc(14px + env(safe-area-inset-bottom))}.card-news-field input:not([type=checkbox]),.card-news-field textarea{font-size:16px}.card-news-segment button{padding:11px 0}.card-news-pill{padding:11px 15px}.card-news-ratio-chip{padding:12px 6px 10px}.card-news-style-picker{gap:8px}.card-news-style-chip{gap:9px;padding:11px}.card-news-style-copy strong{font-size:12.5px}.card-news-style-copy small{font-size:10.5px}}.attendance-kiosk-link{margin:10px 0 0}.attendance-kiosk-link a{font-weight:750;color:var(--accent-deep)}.sms-settings-form{display:grid;gap:18px}.sms-field{display:grid;gap:6px;font-weight:700}.sms-field input,.sms-field select,.sms-field textarea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}.sms-events label,.sms-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:750}.sms-events,.sms-logs,.sms-templates{display:grid;gap:10px}.sms-events{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.sms-events h2,.sms-logs h2,.sms-templates h2{grid-column:1/-1;margin:0}.sms-actions,.sms-test{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sms-logs ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sms-logs li{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.sms-logs em,.sms-logs small{color:var(--muted);font-style:normal}