:root[data-theme=dark] .bl-hero-main{background:radial-gradient(120% 120% at 100% 0%,rgba(30,39,72,.55) 0%,transparent 55%),linear-gradient(135deg,#3d5ff0,#2a43c9 60%,#23379f)}:root[data-theme=dark] .bl-hero-main:after{background:#1619200f}:root[data-theme=dark] .bl-hero-ring{background:radial-gradient(closest-side,#2f4bd6 77%,transparent 78%),conic-gradient(var(--jj-surface) var(--bl-fill, 0%),rgba(22,25,32,.22) 0)}:root[data-theme=dark] .bl-hero-bar{background:#1619202e}:root[data-theme=dark] .bl-hero-bar .is-paid{background:#264c3d}:root[data-theme=dark] .bl-hero-bar .is-partial{background:#49381e}:root[data-theme=dark] .bl-hero-bar .is-unpaid{background:#441c1f}:root[data-theme=dark] .bl-hero-legend .is-paid:before{background:#264c3d}:root[data-theme=dark] .bl-hero-legend .is-partial:before{background:#49381e}:root[data-theme=dark] .bl-hero-legend .is-unpaid:before{background:#441c1f}:root[data-theme=dark] .bl-hero-legend .is-excluded:before{background:#16192080}:root[data-theme=dark] .bl-kpi small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .bl-kpi-icon{background:#12182b}:root[data-theme=dark] .bl-kpi.is-today .bl-kpi-icon{background:#1a2922}:root[data-theme=dark] .bl-kpi.is-unpaid .bl-kpi-icon{background:#2a1113}:root[data-theme=dark] .bl-kpi.is-overdue .bl-kpi-icon{background:#2f2413;color:#ffd59d}:root[data-theme=dark] .billing .bl-row:hover{background:#101728}:root[data-theme=dark] .bl-avatar{background:#2a1113}:root[data-theme=dark] .bl-avatar.is-paid{background:#1a2922}:root[data-theme=dark] .bl-avatar.is-partial{background:#2f2413;color:#ffd59d}:root[data-theme=dark] .bl-avatar.is-refunded,:root[data-theme=dark] .bl-avatar.is-excluded{background:var(--jj-surface-subtle);color:var(--jj-text-tertiary)}:root[data-theme=dark] .bl-mini{background:#1b1e25}:root[data-theme=dark] .bl-dday{background:#12182b}:root[data-theme=dark] .bl-dday.is-late{background:#2a1113}:root[data-theme=dark] .billing .bl-actions .primary{background:linear-gradient(135deg,#26305c,#2f4de0)}:root[data-theme=dark][data-theme=dark] .bl-hero-ring{background:radial-gradient(closest-side,#2a43c9 77%,transparent 78%),conic-gradient(var(--jj-surface) var(--bl-fill, 0%),rgba(22,25,32,.22) 0)}:root[data-theme=dark] .bl-hero-ring:before{background:conic-gradient(var(--jj-surface) var(--bl-fill, 0%),rgba(22,25,32,.2) 0)}:root[data-theme=dark] .bla-intro{background:linear-gradient(90deg,#11172a,#101627)}:root[data-theme=dark] .bla-search svg{color:var(--jj-text-tertiary)}:root[data-theme=dark] .bla-avatar{background:var(--jj-surface-subtle);color:var(--jj-text-tertiary)}:root[data-theme=dark] .bla-avatar.is-on{background:#12182b}:root[data-theme=dark] .bla-who small,:root[data-theme=dark] .bla-meta small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .bla-meta em{background:var(--jj-surface-subtle);color:var(--jj-text-tertiary)}:root[data-theme=dark] .bla-meta em.is-on{background:#1a2922}:root[data-theme=dark] .bla-sum div{background:#171b23}:root[data-theme=dark] .bla-table th{background:#171b23}:root[data-theme=dark] .bla-table td{border-top:1px solid #31353d}:root[data-theme=dark] .bla-status{background:#12182b}:root[data-theme=dark] .bla-status.is-paid{background:#1a2922}:root[data-theme=dark] .bla-status.is-unpaid{background:#2a1113}:root[data-theme=dark] .bla-status.is-muted{background:var(--jj-surface-subtle);color:var(--jj-text-tertiary)}:root[data-theme=dark] .bl-ledger thead th{background:#181b24}:root[data-theme=dark] .bl-ledger tbody th{background:#141824}:root[data-theme=dark] .bl-ledger tbody td{border-top:1px solid #31353d}:root[data-theme=dark] .bl-more>div{background:var(--jj-surface)}:root[data-theme=dark] .bl-history li:before{background:var(--jj-surface)}@container billing (max-width: 960px){:root[data-theme=dark] .bl-row{background:var(--jj-surface)}}:root[data-theme=dark] .cr-row.is-overdue{border-color:#4d3135;background:#101828}:root[data-theme=dark] .class-pencil{background:var(--jj-surface)}:root[data-theme=dark] .care-tag{color:#c6b0e1;background:#1e1829}:root[data-theme=dark] .has-presentation .student-chips button.chosen{background:var(--jj-surface)}:root[data-theme=dark] .quick-name-form.is-inline input{background:var(--jj-surface)}:root[data-theme=dark] .quick-name-form.is-inline .property-error{background:var(--jj-surface)}:root[data-theme=dark] .class-add-student{background:var(--jj-surface)}:root[data-theme=dark] .quick-add-student{background:var(--jj-surface)}:root[data-theme=dark] .master-table td.has-tint .class-card{background:#161920db}:root[data-theme=dark] .master-table td.has-tint .class-card:hover{background:var(--jj-surface)}:root[data-theme=dark] .jj-demo-badge{border:1px solid #5f5336}:root[data-theme=dark] .family-workspace{background:var(--jj-surface)}:root[data-theme=dark] .family-workspace button{background:var(--jj-surface)}:root[data-theme=dark] .family-workspace input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] .family-workspace textarea,:root[data-theme=dark] .family-workspace select{background:var(--jj-surface)}:root[data-theme=dark] .family-workspace .fm-search{background:var(--jj-surface)}:root[data-theme=dark] .fm-footer{background:var(--jj-surface)}:root[data-theme=dark] [data-delivery-state=failed],:root[data-theme=dark] [data-delivery-state=check_required]{color:#f0c0a8}:root[data-theme=dark] .fm-message-bubble{background:var(--jj-surface)}:root[data-theme=dark] .fm-missing{border:1px solid #524634}:root[data-theme=dark] .fm-aux{background:var(--jj-surface)}:root[data-theme=dark] .family-welcome:after{background:#16192014}:root[data-theme=dark] .family-welcome-meta i{background:#1619202e}:root[data-theme=dark] .family-avatar{background:var(--jj-surface)}:root[data-theme=dark] .family-tabs button:hover{background:#1619208c}:root[data-theme=dark] .free-time .student-picker-search{background:var(--jj-surface)}:root[data-theme=dark] .free-time-days span{background:var(--jj-surface)}:root[data-theme=dark] .free-time-slot.partial{border-color:#514832}:root[data-theme=dark] .hw-input-row input,:root[data-theme=dark] .hw-check-row input,:root[data-theme=dark] .hw-check-row select{background:var(--jj-surface)}:root[data-theme=dark] .hw-input-row textarea[data-hw-title]{background:var(--jj-surface)}:root[data-theme=dark] .hw-status-buttons [data-hw-set-status=done][aria-pressed=true]{border-color:#41534b}:root[data-theme=dark] .hw-status-buttons [data-hw-set-status=notdone][aria-pressed=true]{border-color:#533a34}:root[data-theme=dark] .hw-status-buttons [data-hw-set-status=partial][aria-pressed=true]{border-color:#584f3a}:root[data-theme=dark] .hw-video select{background:var(--jj-surface)}:root[data-theme=dark] [data-hw-video-state=done]{border-color:#3c4e45}:root[data-theme=dark] .hw-video-parts span{background:var(--jj-surface)}:root[data-theme=dark] .hw-video-parts span[data-done=true]{border-color:#3c4e45}:root[data-theme=dark] .homework-check{background:var(--jj-surface)}:root[data-theme=dark] .arrival-record{background:var(--jj-surface)}:root[data-theme=dark] .arrival-student-results{background:var(--jj-surface)}:root[data-theme=dark] .arrival-send-row{background:#161920ee}:root[data-theme=dark] .jjbot-launch{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-panel{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-panel button{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-message p{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-action{background:var(--jj-surface)}:root[data-theme=dark] .daily-activity-board{background:var(--jj-surface)}:root[data-theme=dark] .jj-feedback-launch{background:var(--jj-surface)}:root[data-theme=dark] #jj-utility-dock{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-channels button[aria-pressed=true]{background:var(--jj-surface)}:root[data-theme=dark] .jjbot-panel[data-channel=shared] .jjbot-channels button[aria-pressed=true]{border-color:#3e524c}:root[data-theme=dark] .jjbot-member-list{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-channels{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-commandbar{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-menu{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-menu button,:root[data-theme=dark] #jjbot-panel .jjbot-menu a{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-search{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-compose{background:var(--jj-surface)}:root[data-theme=dark] .jj-family-templates{background:var(--jj-surface)}@container (min-width:760px){:root[data-theme=dark] #jjbot-panel[data-split=true] .jjbot-sidebar{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body:has(.planbar) .timetable-cloud-status:is(:hover,:focus):after{background:var(--jj-surface)}}:root[data-theme=dark] #jjbot-panel .jjbot-message.person:not(.mine)>p{background:var(--jj-surface)}:root[data-theme=dark] .jj-notice-card{background:#161920f5}:root[data-theme=dark] #jjbot-panel .jjbot-message .jjbot-bubble{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-avatar.is-bot,:root[data-theme=dark] .jjbot-notification .jjbot-avatar.is-bot{background:#182531}:root[data-theme=dark] .jjbot-logo{background:linear-gradient(145deg,#293359,var(--jj-primary-hover))}:root[data-theme=dark] .jj-tray-bell{background:var(--jj-surface)}:root[data-theme=dark] .jj-tray-pop{background:var(--jj-surface)}:root[data-theme=dark] .jj-tray-pop li .jj-notice-icon{background:var(--jj-gray-300, #2a2c32)}:root[data-theme=dark] #jjbot-panel .jjbot-privacy.is-private{background:#2d2513;color:#ffe7ba}:root[data-theme=dark] #jjbot-panel .jjbot-privacy-toggle{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-privacy-toggle i:after{background:var(--jj-surface)}:root[data-theme=dark] #jjbot-panel .jjbot-lock{color:#ffde9b}:root[data-theme=dark] .jjp-fav-dot{color:#ffde84}:root[data-theme=dark] #jjbot-panel .jjp-hint svg{color:#ffde84}:root[data-theme=dark] #jjbot-panel .jjp-tool.is-star.is-on{color:#ffde84}:root[data-theme=dark] .jjp-card-actions button[aria-pressed=true]{color:#ffe093}:root[data-theme=dark] .rl-c-red{color:#ef8084}:root[data-theme=dark] .rl-c-orange{color:#fac18a}:root[data-theme=dark] .rl-c-green{color:#aef4cf}:root[data-theme=dark] .rl-c-blue{color:#8097f2}:root[data-theme=dark][data-theme=dark] .rl-c-green{color:#8be4b4}:root[data-theme=dark] .rl-bg-purple{background:#33255b}:root[data-theme=dark] .records-toolbar select{background:var(--jj-surface)}:root[data-theme=dark] .records-workarea{background:var(--jj-surface)}:root[data-theme=dark] .lesson-workspace .lesson-list-row{background:var(--jj-surface)}:root[data-theme=dark] .lesson-workspace .editor-save{background:var(--jj-surface)}:root[data-theme=dark] .lesson-day-tabs button.active{background:var(--jj-surface)}:root[data-theme=dark] .management-board button{background:var(--jj-surface)}:root[data-theme=dark] .management-board input:not([type=radio]):not([type=checkbox]),:root[data-theme=dark] .management-board select,:root[data-theme=dark] .management-board textarea{background:var(--jj-surface)}:root[data-theme=dark] .mg-scroll{background:var(--jj-surface)}:root[data-theme=dark] .mg-row .mg-student{background:var(--jj-surface)}:root[data-theme=dark] .mg-check.is-notdone{background:#2b1911;border-color:#4e3931}:root[data-theme=dark] .mg-check.is-partial{border-color:#554c36}:root[data-theme=dark] .mg-check.is-done{border-color:#374b43}:root[data-theme=dark] .mg-next .mg-time.waiting{color:#eebdad}:root[data-theme=dark] .mg-panel-slot{background:var(--jj-surface)}:root[data-theme=dark] .mg-panel>nav button{background:var(--jj-surface)}:root[data-theme=dark] .mg-missing{color:#eeb7aa}:root[data-theme=dark] .management-board .mg-campus-tabs button[aria-pressed=true]{background:var(--jj-surface)}:root[data-theme=dark] .management-board .mg-row .mg-next button{background:var(--jj-surface)}:root[data-theme=dark] .management-board .mg-next .mg-time.waiting{border-color:#4e3931}:root[data-theme=dark] .staff-permissions input[type=checkbox]:after{background:var(--jj-surface)}:root[data-theme=dark] .member-remove-dialog h3 svg{color:#ef8084}:root[data-theme=dark] .member-remove-facts p.is-warn{color:#e79a9d}:root[data-theme=dark] .member-remove-facts p.is-warn svg{color:#ef8084}:root[data-theme=dark] .member-account-page>.button{background:var(--jj-surface)}@media(max-width:700px){html[data-theme=dark].mobile-editing body .mobile-input-bar:not([hidden]){background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .mobile-view-switch [aria-pressed=true]{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .schedule-page[data-mobile-filters=true] .schedule-filterline{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .mobile-agenda .class-card{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .directory-filter-fields{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .mobile-lesson-workspace .server-lesson-actions{background:var(--jj-surface)}}:root[data-theme=dark] .ms-sheet{background:var(--jj-surface)}:root[data-theme=dark] .ms-sheet>header{background:var(--jj-surface)}@media(max-width:700px){:root[data-theme=dark] body .ms-teachers .ms-pinned{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .ms-schedule{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .ms-days{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .ms-roster-tools .roster-toggle{background:var(--jj-surface)}}@media(max-width:700px){:root[data-theme=dark] body .ms-roster-tools .roster-toggle[aria-pressed=true]{background:var(--jj-primary-50, #12182b)}}:root[data-theme=dark] .typography-motion-toggle i:after{background:var(--jj-surface)}@media(max-height:480px)and (min-width:601px){:root[data-theme=dark] .jj-native #jjbot-panel>header{background:var(--jj-surface)}}:root[data-theme=dark] .nt-primary{background:linear-gradient(135deg,#26305c,#2f4de0)}:root[data-theme=dark] .nt-primary:disabled{background:#252832}:root[data-theme=dark] .nt-filters button,:root[data-theme=dark] .nt-kinds button{background:var(--jj-surface)}:root[data-theme=dark] .nt-card{background:var(--jj-surface)}:root[data-theme=dark] .nt-badge.is-important{color:#ffd59d}:root[data-theme=dark] .nt-badge.is-muted{background:var(--jj-surface-subtle);color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-bar{background:#1b1e25}:root[data-theme=dark] .nt-bar i{background:linear-gradient(90deg,#242e57,#3155e7)}:root[data-theme=dark] .nt-empty-list,:root[data-theme=dark] .nt-placeholder{background:var(--jj-surface)}:root[data-theme=dark] .nt-article{background:var(--jj-surface)}:root[data-theme=dark] .nt-meta{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-body{color:#d5daec}:root[data-theme=dark] .nt-confirmed{background:#1a2821}:root[data-theme=dark] .nt-article-tools{border-top:1px solid #31353d}:root[data-theme=dark] .nt-article-tools button{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-article-tools button:hover{background:#2a1113}:root[data-theme=dark] .nt-receipts{background:var(--jj-surface)}:root[data-theme=dark] .nt-stats{border-bottom:1px solid #31353d}:root[data-theme=dark] .nt-ring{background:radial-gradient(closest-side,var(--jj-surface) 76%,transparent 77%),conic-gradient(var(--nt-blue) var(--nt-fill, 0%),#1b1e28 0)}:root[data-theme=dark] .nt-stat-actions small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-tabs{background:#1b1d24}:root[data-theme=dark] .nt-tabs button[aria-selected=true]{background:var(--jj-surface)}:root[data-theme=dark] .nt-search{background:var(--jj-surface)}:root[data-theme=dark] .nt-people small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-people em{background:#2a1113}:root[data-theme=dark] .nt-avatar.is-guardian{background:#2f2313;color:#ffd59d}:root[data-theme=dark] .nt-avatar.is-staff{background:#1a2922}:root[data-theme=dark] .nt-compose{background:var(--jj-surface)}:root[data-theme=dark] .nt-field input:not([type=radio]):focus,:root[data-theme=dark] .nt-field input:not([type=radio]):focus-visible{background:var(--jj-surface)}:root[data-theme=dark] .nt-aud-card>span{background:var(--jj-surface)}:root[data-theme=dark] .nt-aud-card small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-toggle small,:root[data-theme=dark] .nt-remind small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-switch{background:#24272d}:root[data-theme=dark] .nt-switch:after{background:var(--jj-surface)}:root[data-theme=dark] .nt-seg{background:var(--jj-surface-subtle)}:root[data-theme=dark] .nt-seg input:checked+span{background:var(--jj-surface)}:root[data-theme=dark] .nt-preview{background:radial-gradient(120% 120% at 100% 0%,#131a30 0%,transparent 55%),linear-gradient(160deg,#1f2a4d,#121a33)}:root[data-theme=dark] .nt-push{background:#161920e0}:root[data-theme=dark] .nt-push img{background:var(--jj-surface)}:root[data-theme=dark] .nt-push b{color:#dee2f3}:root[data-theme=dark] .nt-push span{color:#c9cfe5}:root[data-theme=dark] .nt-push time{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-compose-foot{border-top:1px solid #31353d}:root[data-theme=dark] .nt-compose-foot>button:not(.nt-primary){background:#1b1d24}:root[data-theme=dark] .nt-popup-card{background:var(--jj-surface)}:root[data-theme=dark] .nt-popup-head small{color:var(--jj-text-tertiary)}:root[data-theme=dark] .nt-popup-body{color:#d5daec}:root[data-theme=dark] .nt-popup [data-later]{background:#1b1d24}:root[data-theme=dark] .nt-family-link{background:var(--jj-surface)}:root[data-theme=dark] .nt-family-bar{background:#161920eb}:root[data-theme=dark][data-theme=dark] .nt-filters button[aria-pressed=true],:root[data-theme=dark][data-theme=dark] .nt-kinds button[aria-pressed=true]{background:#1a1d28;color:#e9edf6}:root[data-theme=dark] .nt-bar{background:linear-gradient(90deg,#242e57,#3155e7 var(--nt-fill, 0%),#1b1e25 0)}:root[data-theme=dark][data-theme=dark] .nt-bar{background:linear-gradient(90deg,#242e57,#3155e7 var(--nt-fill, 0%),#252d40 0)}:root[data-theme=dark] .nt-preview{background:radial-gradient(90% 140% at 100% 0%,rgba(36,46,87,.35) 0%,transparent 60%),linear-gradient(160deg,#1f2a4d,#121a33)}:root[data-theme=dark] .auth-page{background:var(--jj-surface)}:root[data-theme=dark] .auth-provider.auth-google{background:var(--jj-surface)}:root[data-theme=dark] .auth-page input,:root[data-theme=dark] .auth-page textarea{background:var(--jj-surface)}:root[data-theme=dark] .auth-page .auth-local{background:var(--jj-surface)}@media(max-width:680px){:root[data-theme=dark] .auth-brand{background:var(--jj-surface)}}:root[data-theme=dark] .auth-recent-badge{background:var(--jj-surface)}:root[data-theme=dark] .staff-invite-card{background:var(--jj-surface)}:root[data-theme=dark] .access-guardian p{color:#f9cfb5}:root[data-theme=dark] .auth-page .auth-demo-choice{background:var(--jj-surface)}:root[data-theme=dark] .workspace-button{background:var(--jj-surface)}:root[data-theme=dark] .attendance-card{background:var(--jj-surface)}:root[data-theme=dark] .kiosk-setup-card{background:var(--jj-surface)}:root[data-theme=dark] .ops-record-grid .ops-row{background:var(--jj-surface)}:root[data-theme=dark] .family-match-card{background:var(--jj-surface)}:root[data-theme=dark] .ops-feed-rows{background:var(--jj-surface)}:root[data-theme=dark] .ops-feed-icon.is-violet{color:#a289e8;background:#19122c}:root[data-theme=dark] .ops-feed-chip.is-violet{color:#a289e8;background:#19122c}:root[data-theme=dark] .pad-settings-main,:root[data-theme=dark] .pad-settings-side{background:var(--jj-surface)}:root[data-theme=dark] .pad-confirm span{color:#f7c3b1}:root[data-theme=dark] .student-picker-search{background:var(--jj-surface)}:root[data-theme=dark] .guardian-consent strong{color:#f9cfb5}:root[data-theme=dark] .ops-header{background:var(--jj-surface)}:root[data-theme=dark] .ops-list,:root[data-theme=dark] .ops-editor,:root[data-theme=dark] .ops-card{background:var(--jj-surface)}:root[data-theme=dark] .ops-editor input,:root[data-theme=dark] .ops-editor textarea,:root[data-theme=dark] .ops-editor select{background:var(--jj-surface)}:root[data-theme=dark] .ops-account-menu>div{background:var(--jj-surface)}:root[data-theme=dark] .server-lesson-row{background:var(--jj-surface)}:root[data-theme=dark] .server-lesson-actions{background:var(--jj-surface)}:root[data-theme=dark] .access-request-row{background:var(--jj-surface)}:root[data-theme=dark] .server-lesson-editor .server-lesson-actions{background:var(--jj-surface)}:root[data-theme=dark] .lesson-roster-summary .lesson-students span{background:var(--jj-surface)}:root[data-theme=dark] .presence-toolbar input,:root[data-theme=dark] .presence-toolbar select{background:var(--jj-surface)}:root[data-theme=dark] .presence-help[open]{background:var(--jj-surface)}:root[data-theme=dark] .visit-row{background:var(--jj-surface)}:root[data-theme=dark] .visit-row input,:root[data-theme=dark] .visit-row select,:root[data-theme=dark] .presence-day-detail input,:root[data-theme=dark] .presence-day-detail select{background:var(--jj-surface)}:root[data-theme=dark] .presence-metrics>div{background:var(--jj-surface)}:root[data-theme=dark] .presence-trend{background:var(--jj-surface)}:root[data-theme=dark] .presence-cal-day{background:var(--jj-surface)}:root[data-theme=dark] .presence-day-detail{background:var(--jj-surface)}:root[data-theme=dark] .ops-kiosk #kiosk-error:not(:empty){background:#2c1812}:root[data-theme=dark] .member-directory-tools .member-search{background:var(--jj-surface)}:root[data-theme=dark] .member-account-list{background:var(--jj-surface)}:root[data-theme=dark] .member-account-list .member-account-row{background:var(--jj-surface)}:root[data-theme=dark] .student-registration-tools .member-search{background:var(--jj-surface)}:root[data-theme=dark] .student-registration-list{background:var(--jj-surface)}:root[data-theme=dark] .student-registration-list .student-registration-row{background:var(--jj-surface)}:root[data-theme=dark] .student-registration-editor{background:var(--jj-surface)}:root[data-theme=dark] .student-registration-editor .profile-save{background:var(--jj-surface)}:root[data-theme=dark] .rt-swatch.rl-bg-purple{background:#33255b!important}:root[data-theme=dark] .plan-tabs .regular-plan-tab{background:linear-gradient(transparent 55%,#403a1a 55%,#403a1a 86%,transparent 86%)}:root[data-theme=dark] .plan-tabs .regular-plan-tab.active{background:linear-gradient(var(--jj-surface) 55%,#403a1a 55%,#403a1a 86%,var(--jj-surface) 86%)}:root[data-theme=dark] .sheet-context-menu{background:var(--jj-surface)}:root[data-theme=dark] .sheet-name-input{background:var(--jj-surface)}:root[data-theme=dark] .teacher-batch{background:var(--jj-surface)}:root[data-theme=dark] .history-diff article{background:var(--jj-surface)}:root[data-theme=dark] body .history-filter-fields input,:root[data-theme=dark] body .history-filter-fields select{background:var(--jj-surface)}:root[data-theme=dark] body .history-item{background:var(--jj-surface)}:root[data-theme=dark] .sheet-context-menu button.danger{color:#fab89d}:root[data-theme=dark] .sheet-context-menu button.danger svg{color:#fab089}:root[data-theme=dark] .sheet-context-menu button.danger:hover:not(:disabled){background:#2b1c12;color:#fab89d}:root[data-theme=dark] .sheet-context-menu .menu-swatches button{border:2px solid var(--jj-border)}:root[data-theme=dark] .view-help-item em{background:var(--jj-surface)}:root[data-theme=dark] .view-hint{background:var(--jj-surface)}:root[data-theme=dark] .week-table .class-card,:root[data-theme=dark] .campus-lane .class-card{background:var(--jj-surface)}:root[data-theme=dark] .schedule-teacher-locations{background:var(--jj-surface)}:root[data-theme=dark] .week-table tbody tr>td{background:var(--jj-surface)}:root[data-theme=dark] .week-table tbody tr:nth-child(2n) .class-card{background:var(--jj-surface)}:root[data-theme=dark] .campus-board{background:var(--jj-surface)}:root[data-theme=dark] .campus-lane h3 small{background:var(--jj-surface)}:root[data-theme=dark] .campus-lane .schedule-teacher-place{background:var(--jj-surface)}:root[data-theme=dark] th.day-head.is-holiday,:root[data-theme=dark] .day-switch .is-holiday{background:#2b1715}:root[data-theme=dark] .lane-holiday{color:#f2a8a4}:root[data-theme=dark] .master-table thead th,:root[data-theme=dark] .week-table thead th{background:var(--tt-head-bg, #171c2a)}:root[data-theme=dark] .master-table .time-col,:root[data-theme=dark] .master-table tbody th.time-col{background:var(--tt-time-bg, #1c1f24)}:root[data-theme=dark] body .ms-grid-head,:root[data-theme=dark] body .ms-days.ms-grid-head button{background:var(--tt-head-bg, #171c2a)}:root[data-theme=dark] body .ms-time-group>h3 button{background:var(--tt-time-bg, #1c1f24)}:root[data-theme=dark] .bcp-corner,:root[data-theme=dark] .bcp-head{background:var(--tt-head-bg, #171c2a)}:root[data-theme=dark] .bcp-time{background:var(--tt-time-bg, #1c1f24)}:root[data-theme=dark] .pick-dot.is-all{background:conic-gradient(#242e57 0 33%,#2bc4a8 0 66%,#f2a33a 0)}:root[data-theme=dark] .ss button,:root[data-theme=dark] .ss .button,:root[data-theme=dark] .ss-dialog button{background:var(--jj-surface)}:root[data-theme=dark] .ss input,:root[data-theme=dark] .ss select,:root[data-theme=dark] .ss textarea,:root[data-theme=dark] .ss-dialog input,:root[data-theme=dark] .ss-dialog select{background:var(--jj-surface)}:root[data-theme=dark] .ss-exam{background:var(--jj-surface)}:root[data-theme=dark] .ss .ss-seg button[aria-pressed=true]{background:var(--jj-surface)}:root[data-theme=dark] .ss-info code{background:var(--jj-surface)}:root[data-theme=dark] .ss-stats div{background:var(--jj-surface)}:root[data-theme=dark] .ss-perfect{background:linear-gradient(135deg,var(--jj-gray-50),var(--jj-surface) 70%)}:root[data-theme=dark] .ss-perfect li b{background:var(--jj-surface)}:root[data-theme=dark] .ss-card{background:var(--jj-surface)}:root[data-theme=dark] .ss-list{background:var(--jj-surface)}:root[data-theme=dark] .ss-preview{background:var(--jj-surface)}:root[data-theme=dark] .ss-savebar{background:#161920f5}:root[data-theme=dark] .ss .ss-grid{background:var(--jj-surface)}:root[data-theme=dark] .ss-dot{fill:var(--jj-surface)}:root[data-theme=dark] .ss-family .ss-chart-scroll{background:var(--jj-surface)}:root[data-theme=dark] .family-workspace .sr-scope button[aria-selected=true]{background:var(--jj-surface)}:root[data-theme=dark] .sr-card{background:var(--jj-surface)}:root[data-theme=dark] .ss-grid>div{background:var(--jj-surface)}:root[data-theme=dark] .ss-check.is-error{background:#2b1d15;color:#f5cbb6}:root[data-theme=dark] .ss-step{background:var(--jj-surface)}:root[data-theme=dark] .sw-list{background:var(--jj-surface)}:root[data-theme=dark] .staff-work .sw-item{background:var(--jj-surface)}:root[data-theme=dark] .sw-form textarea,:root[data-theme=dark] .sw-form select,:root[data-theme=dark] .sw-picker select{background:var(--jj-surface)}:root[data-theme=dark] .sw-targets span{background:var(--jj-surface)}:root[data-theme=dark] .sw-message{background:var(--jj-surface)}:root[data-theme=dark] .sw-state.is-done{color:#c2fbf4}:root[data-theme=dark] .jjbot-notification{background:var(--jj-surface)}:root[data-theme=dark] .mg-reminder{border:1px solid #534634!important}:root[data-theme=dark] .sm-search,:root[data-theme=dark] .sm-name input{background:var(--jj-var(--jj-surface), var(--jj-surface))}:root[data-theme=dark] .sm-person input{background:var(--jj-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='var(--jj-surface)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0 no-repeat}:root[data-theme=dark] dialog.sm-new .sm-person input:checked{background:var(--jj-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='var(--jj-surface)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat}:root[data-theme=dark] .kind-consultation .srec-kind{background:#2b1923;color:#e9abcd}:root[data-theme=dark] .kind-exam .srec-kind,:root[data-theme=dark] .kind-schoolExam .srec-kind{background:#151a2b;color:#9dacec}:root[data-theme=dark] .srec-next{color:#e9abcd}:root[data-theme=dark] .srec-consult{border:1px solid #4e3845;background:#25151e}:root[data-theme=dark] .srec-consult h4{color:#e9abcd}:root[data-theme=dark] .homeroom-chip.is-assistant{border-color:#372f4b;color:#b5a4e4}:root[data-theme=dark] .homeroom-role.is-assistant{color:#b5a4e4}:root[data-theme=dark] .homeroom-names button.is-assistant{color:#b5a4e4}:root[data-theme=dark] .student-inline-profile{background:var(--jj-surface)}:root[data-theme=dark] .skip:focus{background:var(--jj-surface)}:root[data-theme=dark] .app-header{background:var(--jj-surface)}:root[data-theme=dark] .search-dropdown{background:var(--jj-surface)}:root[data-theme=dark] .view-switch button.active{background:var(--jj-surface)}:root[data-theme=dark] .board-scroll{background:var(--jj-surface)}:root[data-theme=dark] .master-table .teacher-col{background:var(--jj-surface)}:root[data-theme=dark] .master-table td{background:var(--jj-surface)}:root[data-theme=dark] .student-chips button{background:var(--jj-surface)}:root[data-theme=dark] .plan-tabs button.active{background:var(--jj-surface)}:root[data-theme=dark] .side-panel{background:var(--jj-surface)}:root[data-theme=dark] .move-confirm{background:var(--jj-surface)}:root[data-theme=dark] .day-switch{background:var(--jj-surface)}:root[data-theme=dark] .inline-editor{background:var(--jj-surface)}:root[data-theme=dark] .lesson-list{background:var(--jj-surface)}:root[data-theme=dark] .lesson-form{background:var(--jj-surface)}:root[data-theme=dark] .lesson-context section{background:var(--jj-surface)}@media(max-width:600px){:root[data-theme=dark] .planbar{background:var(--jj-surface)}}@media print{:root[data-theme=dark] body{background:var(--jj-surface)!important}}:root[data-theme=dark] .work-window .roster-row button{background:#161920b3}:root[data-theme=dark] .swatch{border:3px solid var(--jj-border)}:root[data-theme=dark] .help-disclosure>summary{background:var(--jj-surface)}:root[data-theme=dark] .help-disclosure>div{background:var(--jj-surface)}:root[data-theme=dark] .exam-students{background:var(--jj-surface)}:root[data-theme=dark] .exam-student-option{background:var(--jj-surface)}:root[data-theme=dark] .exam-metrics>div{background:var(--jj-surface)}:root[data-theme=dark] .exam-trend,:root[data-theme=dark] .exam-entry,:root[data-theme=dark] .exam-history{background:var(--jj-surface)}:root[data-theme=dark] .inline-editor .panel-head{background:var(--jj-surface)}:root[data-theme=dark] .board-zoom-controls{background:var(--jj-surface)}:root[data-theme=dark] .class-window{background:var(--jj-surface)}:root[data-theme=dark] .class-window>header{background:var(--jj-surface)}:root[data-theme=dark] .class-window-nav [data-popup-view][aria-pressed=true]{background:var(--jj-surface)}:root[data-theme=dark] .student-inline-profile .profile-save{background:var(--jj-surface)}:root[data-theme=dark] .timetable-cloud-status{background:var(--surface, var(--jj-surface))}:root[data-theme=dark] .timetable-cloud-status[data-error=true]{border:1px solid #5f503b}:root[data-theme=dark] .timetable-cloud-status button{background:var(--jj-surface)}:root[data-theme=dark] .jj-action-link{background:var(--jj-surface)}:root[data-theme=dark] .jj-help-panel{background:var(--jj-surface)}:root[data-theme=dark] #toast button{border:1px solid rgba(51,51,51,.35)}:root[data-theme=dark] #toast button:hover{background:#1619201f}:root[data-theme=dark] .class-window .server-lesson-editor .server-lesson-actions{background:#161920ee}:root[data-theme=dark] .leave-action{background:var(--jj-surface)}:root[data-theme=dark] .schedule-tools .schedule-search .global-search>svg{color:var(--jj-text-tertiary)}:root[data-theme=dark] .schedule-tools .schedule-search .global-search kbd{background:#1b1d24;color:var(--jj-text-tertiary)}:root[data-theme=dark] .schedule-tools .schedule-filters .board-controls>button:hover,:root[data-theme=dark] .schedule-tools .schedule-filters .view-picker>.tool-pop-trigger:hover{background:#171b23}:root[data-theme=dark] .video-search{background:var(--jj-surface)}:root[data-theme=dark] .video-card{background:var(--jj-surface)}:root[data-theme=dark] .video-card-open{background:var(--jj-surface)}:root[data-theme=dark] .video-empty{background:var(--jj-surface)}:root[data-theme=dark] .video-editor{background:var(--jj-surface)}:root[data-theme=dark] .video-watch-stats{background:var(--jj-surface)}:root[data-theme=dark] .video-progress-list article{background:var(--jj-surface)}:root[data-theme=dark] .video-family-header{background:var(--jj-surface)}:root[data-theme=dark] .video-card-art img[src="/public/jinjin-video-learning.webp"]{background:var(--jj-surface)}:root[data-theme=dark] .video-card-art span{background:#161920eb}:root[data-theme=dark] .video-pagination a{background:var(--jj-surface)}:root[data-theme=dark] .video-report-students{background:var(--jj-surface)}:root[data-theme=dark] .video-report-summary{background:var(--jj-surface)}@media(max-width:759px){:root[data-theme=dark] .video-categories a{background:var(--jj-surface)}}:root[data-theme=dark] .video-study-metrics>div{background:var(--jj-surface)}:root[data-theme=dark] .video-checkpoint-icon{background:var(--jj-surface)}:root[data-theme=dark] .video-watch-tools button,:root[data-theme=dark] .video-watch-tools a{background:var(--jj-surface)}:root[data-theme=dark] .video-save-note{background:var(--jj-surface)}:root[data-theme=dark] .video-checkpoint[data-expired=true]{border-color:#3f4c46}:root[data-theme=dark] .video-playlist{background:var(--jj-surface)}:root[data-theme=dark] button.video-playlist-item{background:var(--jj-surface)}:root[data-theme=dark] .video-mine{background:var(--surface, var(--jj-surface))}:root[data-theme=dark] #video-root .video-mine li button{background:var(--surface, var(--jj-surface))}:root[data-theme=dark] .vis-tag.is-family{background:#2f2113;color:#ffd2a4}:root[data-theme=dark] .vis-tag.is-family{background:#352616;color:#ffd4ae}:root[data-theme=dark] label:has(>.vis-tag.is-family)>textarea,:root[data-theme=dark] label:has(>.vis-tag.is-family)>input,:root[data-theme=dark] label:has(>.vis-tag.is-family)>.rt-box{background:#2a1f11}:root[data-theme=dark][data-theme=dark] .vis-tag.is-family{background:#5740292e}:root[data-theme=dark][data-theme=dark] label:has(>.vis-tag.is-family)>textarea,:root[data-theme=dark][data-theme=dark] label:has(>.vis-tag.is-family)>input,:root[data-theme=dark][data-theme=dark] label:has(>.vis-tag.is-family)>.rt-box{background:#57402912}html[data-theme=dark] body .workspace-header.app-header{background:#161920f0}:root[data-theme=dark] .workspace-account-popover{background:var(--jj-surface)}@media(max-width:700px){html[data-theme=dark]:not(.jj-native) .workspace-header.mobile-search-open .global-search{background:var(--jj-surface)}}@media(max-width:700px){html[data-theme=dark]:not(.jj-native) .mobile-workspace-nav{background:var(--jj-surface)}}:root[data-theme=dark] .workspace-quick-item .workspace-nav-icon{background:var(--jj-surface)}:root[data-theme=dark] .workspace-header .workspace-quick .workspace-quick-item:hover{background:var(--jj-surface)}:root[data-theme=dark] .workspace-quick-item[aria-current=page] .workspace-nav-icon{background:#1619202e}:root[data-theme=dark] .workspace-quick-popover{background:var(--jj-surface)}:root[data-theme=dark] .workspace-quick-popover>.workspace-quick-note{color:var(--jj-danger, #ee8888)}:root[data-theme=dark] .workspace-quick-popover .workspace-quick-options label{background:var(--jj-surface)}@media(max-width:700px){:root[data-theme=dark] .mobile-fav h3 svg{stroke:#ffde84}}@media(max-width:700px){:root[data-theme=dark] .mobile-fav-star[aria-pressed=true]{color:#ffde84}}:root[data-theme=dark]{color-scheme:dark;--jj-gray-950: #f7f8fa;--jj-gray-900: #eef1f6;--jj-gray-800: #d6dce5;--jj-gray-700: #b6bfcc;--jj-gray-600: #9aa4b3;--jj-gray-500: #7f8998;--jj-gray-400: #606a79;--jj-gray-300: #4d5768;--jj-gray-200: #3a4352;--jj-gray-150: #313a48;--jj-gray-100: #2a3240;--jj-gray-50: #232a36;--jj-primary: #5677ff;--jj-primary-hover: #8aa1ff;--jj-primary-pressed: #5a78f0;--jj-primary-strong: #a9baff;--jj-primary-300: #4d62ad;--jj-primary-200: #3a4a85;--jj-primary-100: #28335f;--jj-primary-50: #1d2546;--jj-success: #34c98a;--jj-success-fg: #62e0a8;--jj-success-bg: #13291f;--jj-warning: #f0a020;--jj-warning-fg: #ffc366;--jj-warning-bg: #2e2311;--jj-danger: #ff5d73;--jj-danger-fg: #ff8a9a;--jj-danger-bg: #33171c;--jj-bg: #161b24;--jj-surface: #1e2430;--jj-surface-subtle: #242b38;--jj-surface-hover: #2b3341;--jj-text: #eef1f6;--jj-text-secondary: #c3cad5;--jj-text-tertiary: #a3adbb;--jj-text-disabled: #5d6674;--jj-border: #364052;--jj-border-strong: #465063;--jj-divider: #2d3543;--jj-shadow-1: 0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 30%);--jj-shadow-2: 0 14px 36px rgb(0 0 0 / 55%), 0 2px 8px rgb(0 0 0 / 35%);--jj-focus-ring: 0 0 0 3px rgb(111 140 255 / 35%);--jj-cat-handoff: #9fb2f5;--jj-cat-handoff-bg: #28335f;--jj-cat-notice: #c4b0f5;--jj-cat-notice-bg: #2f2750;--jj-cat-request: #f1b45c;--jj-cat-request-bg: #3d2d12;--jj-cat-student: #6fd3a1;--jj-cat-student-bg: #14362a;--jj-cat-memo: #e3c15a;--jj-cat-memo-bg: #3a3113;--jj-cat-chat: #7cc4ec;--jj-cat-chat-bg: #15303f;--jj-cat-system: #9aa4b3;--jj-cat-system-bg: #2a3240;--jj-shadow-pop: 0 18px 50px rgb(0 0 0 / 50%), inset 0 0 0 1px rgb(255 255 255 / 4%);--jj-shadow-coach: 0 24px 60px rgb(0 0 0 / 55%);--jj-shadow-sheet: 0 -18px 50px rgb(0 0 0 / 50%);--jj-glass: rgb(30 36 48 / 94%)}:root[data-theme=dark]{--jj-memo-ink: #f2eee4;--jj-memo-ink-soft: #b9b3a5;--jj-memo-shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 30px rgb(0 0 0 / .5);--jj-memo-shadow-front: 0 2px 4px rgb(0 0 0 / .45), 0 20px 48px rgb(0 0 0 / .6);--jj-memo-shadow-drag: 0 6px 6px rgb(0 0 0 / .5), 0 28px 56px rgb(0 0 0 / .65);--jj-memo-tape: rgb(122 156 255 / .55);--jj-memo-tape-edge: rgb(255 255 255 / .18);--jj-memo-check: #6f8cff;--jj-memo-check-ink: #10152a;--jj-memo-check-box: #15181f;--jj-memo-tape-shine: rgb(255 255 255 / .1);--jj-memo-grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/></filter><rect width='100%25' height='100%25' filter='url(/src/%23g)'/></svg>");--jj-memo-grain-blend: screen;--jj-memo-c-red: #ff7b86;--jj-memo-c-orange: #ffa24d;--jj-memo-c-green: #5fd48a;--jj-memo-c-blue: #86aaff;--jj-memo-c-purple: #c7a2ff;--jj-memo-c-gray: #a7a195;--jj-memo-h-yellow: rgb(255 215 64 / .28);--jj-memo-h-green: rgb(140 230 120 / .3);--jj-memo-h-pink: rgb(255 140 190 / .35);--jj-memo-h-blue: rgb(110 180 255 / .32);--jj-memo-h-yellow-same: rgb(255 200 40 / .34);--jj-memo-h-green-same: rgb(120 220 100 / .36);--jj-memo-h-pink-same: rgb(255 120 180 / .41);--jj-memo-h-blue-same: rgb(100 170 255 / .38);--jj-memo-hit: rgb(255 214 0 / .38);--jj-memo-yellow-curl: #433b20;--jj-memo-mint-curl: #213b29;--jj-memo-pink-curl: #452638;--jj-memo-lavender-curl: #322a4d;--jj-memo-sky-curl: #22354c;--jj-memo-gray-curl: #31353d;--jj-memo-yellow-bg: #38321d;--jj-memo-yellow-bar: #4a4123;--jj-memo-yellow-accent: #f0c640;--jj-memo-yellow-line: #4f4628;--jj-memo-mint-bg: #1d3124;--jj-memo-mint-bar: #25412e;--jj-memo-mint-accent: #5ed27f;--jj-memo-mint-line: #2c4a35;--jj-memo-pink-bg: #3a2130;--jj-memo-pink-bar: #4d2a3e;--jj-memo-pink-accent: #f27aaa;--jj-memo-pink-line: #553146;--jj-memo-lavender-bg: #2b2540;--jj-memo-lavender-bar: #382f55;--jj-memo-lavender-accent: #ac8cf4;--jj-memo-lavender-line: #41375e;--jj-memo-sky-bg: #1d2d3f;--jj-memo-sky-bar: #263b54;--jj-memo-sky-accent: #66abf2;--jj-memo-sky-line: #2e455f;--jj-memo-gray-bg: #2a2e35;--jj-memo-gray-bar: #363b44;--jj-memo-gray-accent: #a2a9b3;--jj-memo-gray-line: #3d434d;--jj-memo-danger: #ff6b7d;--jj-memo-warn: #ffa53d;--jj-memo-info: #7a9cff;--jj-memo-ok: #8d93a0;--jj-memo-launch-a: #f5d45c;--jj-memo-launch-b: #e9b737;--jj-memo-toast-bg: #eef1f6;--jj-memo-toast-ink: #161b24;--jj-memo-toast-action: #2f5bd8;--jj-memo-toast-hover: rgb(0 0 0 / .08);--jj-memo-badge-ink: #161b24;--jj-memo-tint: rgb(255 255 255 / .07);--jj-memo-tint-strong: rgb(255 255 255 / .13)}:root[data-theme=dark] img:not([src$=".svg"]){filter:brightness(.94)}:root[data-theme=dark] ::selection{background:#34427a}.workspace-theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--jj-gray-600);cursor:pointer}.workspace-theme-toggle:hover{background:var(--jj-surface-hover);color:var(--jj-text)}.workspace-theme-toggle svg{width:19px;height:19px}.workspace-theme{display:grid;gap:6px;margin:4px 0;color:var(--jj-text-secondary);font-size:13px;font-weight:600}.workspace-theme>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border-radius:10px;background:var(--jj-surface-subtle)}.workspace-theme button{min-height:32px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:var(--jj-text-secondary);font-size:12.5px;font-weight:600}.workspace-theme button[aria-checked=true]{background:var(--jj-surface);color:var(--jj-primary);box-shadow:var(--jj-shadow-1)}:root[data-theme=dark] .workspace-brand img,:root[data-theme=dark] .brand img[src$="JINJIN-EDU-logo.svg"]{filter:brightness(1.55) saturate(1.1)}:root[data-theme=dark] .master-table td.has-tint,:root[data-theme=dark] .master-table tr.has-tint>th.teacher-col{background:color-mix(in srgb,var(--row-color, #5677ff) 13%,#1b212c)}:root[data-theme=dark] .master-table td.has-tint .class-card,:root[data-theme=dark] .master-table .class-card{background:color-mix(in srgb,var(--teacher, #5677ff) 16%,#252d3b);border-color:color-mix(in srgb,var(--teacher, #5677ff) 38%,#3a4352);box-shadow:0 1px 2px #00000059}:root[data-theme=dark] .master-table td.has-tint .class-card:hover,:root[data-theme=dark] .master-table .class-card:hover{background:color-mix(in srgb,var(--teacher, #5677ff) 24%,#2b3443)}:root[data-theme=dark] .master-table th,:root[data-theme=dark] .master-table td{border-color:#343d4c}:root[data-theme=dark] .master-table thead th{background:#222936}:root[data-theme=dark] .master-table .time-col{background:#1c222d;color:var(--jj-text)}:root[data-theme=dark] .master-table .empty-slot{color:#566072}:root[data-theme=dark] body .ms-class{background:color-mix(in srgb,var(--teacher, #5677ff) 16%,#252d3b);border-color:color-mix(in srgb,var(--teacher, #5677ff) 36%,#3a4352)}:root[data-theme=dark] body .ms-teacher-row:nth-child(2n) .ms-grid-cell{background:#1b212b}:root[data-theme=dark] .auth-provider.auth-apple{background:#fff;border-color:#fff;color:#000}.auth-brand-story h2 .motion-line{display:block}.workspace-account-popover .typography-motion-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:12px;border:0;border-radius:var(--jj-radius-card);background:var(--jj-gray-50);color:var(--jj-gray-800);text-align:left}.typography-motion-toggle svg{width:20px;height:20px;flex-shrink:0;color:var(--jj-primary)}.typography-motion-toggle>span{flex:1}.typography-motion-toggle strong{display:block;font-size:13px;font-weight:600}.typography-motion-toggle small{display:block;margin-top:3px;font-size:11px;color:var(--jj-gray-600)}.typography-motion-toggle em{font-size:11px;font-style:normal;color:var(--jj-gray-600)}.typography-motion-toggle i{width:30px;height:18px;border-radius:var(--jj-radius-control);background:var(--jj-gray-300);padding:3px;flex-shrink:0}.typography-motion-toggle i:after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .16s}.typography-motion-toggle[aria-pressed=true] i{background:var(--jj-primary)}.typography-motion-toggle[aria-pressed=true] i:after{transform:translate(12px)}.typography-motion-toggle:focus-visible{outline:2px solid var(--jj-primary);outline-offset:3px}@media(prefers-reduced-motion:reduce){.typography-motion-toggle i:after{transition:none}}.staff-work{max-width:760px;margin:0 auto;padding:16px;display:grid;gap:16px;color:var(--ink, var(--jj-gray-900))}.staff-work h3,.staff-work h4,.staff-work p{margin:0}.staff-work h3{font-size:18px}.staff-work h4{display:flex;align-items:center;gap:8px;font-size:14px}.staff-work svg{width:20px;height:20px;flex-shrink:0}.staff-work button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.sw-heading{display:flex;align-items:center;gap:12px}.sw-heading>div{flex:1;min-width:0}.sw-heading p{font-size:12px;color:var(--jj-gray-600);margin-top:4px;text-wrap:balance}.sw-symbol{display:grid;place-items:center;width:42px;height:42px;background:var(--jj-primary-50);color:var(--jj-primary);border-radius:var(--jj-radius-card)}.sw-list{display:grid;gap:0;background:#fff;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);overflow:hidden}.staff-work .sw-item{width:100%;display:flex;text-align:left;justify-content:initial;gap:12px;border:0;border-radius:0;border-bottom:1px solid var(--jj-gray-150);background:#fff;padding:12px}.sw-item:last-child{border-bottom:0}.sw-item>span:not(.sw-avatar):not(.sw-item-icon){flex:1;min-width:0;display:grid;gap:4px}.sw-item span span{font-size:13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sw-item strong{font-size:14px}.sw-item small,.sw-receipt small,.sw-timeline small{font-size:12px;color:var(--jj-gray-600)}.sw-item b{display:grid;text-align:center;color:var(--jj-primary);white-space:nowrap}.sw-item-icon{color:var(--jj-gray-600)}.sw-avatar{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;background:var(--jj-gray-100);border-radius:var(--jj-radius-card);color:var(--jj-primary-hover);font-weight:700}.sw-form label,.sw-picker{display:grid;gap:7px;font-size:13px;font-weight:600}.sw-form textarea,.sw-form select,.sw-picker select{width:100%;box-sizing:border-box;font:inherit;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-card);padding:12px;background:#fff;color:var(--jj-gray-900);min-height:44px}.sw-form textarea{resize:vertical;min-height:120px}.sw-targets{display:grid;gap:10px;padding:12px;background:var(--jj-gray-100);border-radius:var(--jj-radius-card);font-size:13px}.sw-targets strong{display:flex;align-items:center;gap:7px}.sw-targets>div{display:flex;flex-wrap:wrap;gap:5px}.sw-targets span{padding:3px 7px;background:#fff;border-radius:var(--jj-radius-xs)}.sw-targets button{justify-self:start;background:transparent;border:0;padding:0;min-height:32px;font-size:12px}.sw-info{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--jj-gray-600);padding:12px;background:var(--jj-gray-100);border-radius:var(--jj-radius-control)}.sw-error{color:var(--jj-danger)}.sw-message{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);background:#fff;font-size:15px;line-height:1.7}.sw-totals{display:flex;gap:8px;padding:12px;border-block:1px solid var(--jj-gray-200)}.sw-totals>span{flex:1;display:grid;gap:3px;text-align:center;font-size:12px;color:var(--jj-gray-600)}.sw-totals b{font-size:20px;color:var(--jj-gray-800)}.sw-receipt{display:flex;gap:10px;align-items:center;padding:12px;border-bottom:1px solid var(--jj-gray-150)}.sw-receipt strong{flex:1;font-size:14px}.sw-state{font-size:12px;text-align:right;display:grid;grid-template-columns:18px auto;gap:3px;align-items:center}.sw-state small{grid-column:1/-1}.sw-state svg{width:16px;height:16px}.sw-state.is-done{color:#08796b}.sw-person{display:flex;gap:12px;align-items:center}.sw-campus-form{display:grid;gap:10px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);padding:12px;font-size:13px}.sw-campus-form>div{display:flex;flex-wrap:wrap;gap:12px}.sw-campus-form label{display:flex;align-items:center;gap:6px;min-height:32px}.sw-campus-form input{width:18px;height:18px}.sw-campus-form button{justify-self:end}.sw-timeline{display:grid;gap:0}.sw-timeline article{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--jj-gray-200)}.sw-timeline article>div{min-width:0}.sw-timeline strong{font-size:14px}.sw-timeline p{font-size:13px;line-height:1.5;margin:4px 0;white-space:pre-wrap}.sw-empty{display:grid;justify-items:center;gap:12px;text-align:center;padding:36px 16px;font-size:13px;color:var(--jj-gray-600)}.sw-empty strong{font-size:15px;color:var(--jj-gray-800)}.jjbot-notification{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));right:20px;z-index:12000;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:14px;background:#fff;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);box-shadow:0 12px 40px #25375426;display:grid;grid-template-columns:40px 1fr 28px;gap:10px;animation:staff-notice-in .22s ease-out}.jjbot-notification[hidden]{display:none}.jjbot-notification img{width:40px;height:40px;border-radius:var(--jj-radius-card)}.jjbot-notification>button{background:none;border:0;padding:0;color:var(--jj-gray-800);text-align:left;min-width:0}.jjbot-notification strong{font-size:14px;display:block}.jjbot-notification p{font-size:13px;margin:5px 0 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.jjbot-notification small{color:var(--jj-primary);font-size:12px;display:block;margin-top:8px}.jjbot-notification svg{width:20px;height:20px}.jjbot-panel[data-view=important] .jjbot-compose,.jjbot-panel[data-view=handoff] .jjbot-compose,.jjbot-panel[data-view=handoffs] .jjbot-compose,.jjbot-panel[data-view=staff] .jjbot-compose{display:none}@keyframes staff-notice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jjbot-notification{animation:none}}.jjbot-message{position:relative;max-width:88%;margin-bottom:20px}.jjbot-message.mine{margin-left:auto}.jjbot-message.mine>p{background:var(--jj-primary-50);border-color:var(--jj-primary-200);border-radius:18px 5px 18px 18px}.jjbot-message.bot>p{border-radius:5px 18px 18px}.jjbot-message>small{padding-right:36px;display:block}.jjbot-message .jjbot-message-menu{position:absolute;right:0;top:-10px;width:36px;height:36px;min-height:36px;padding:6px;background:transparent;border:0;color:var(--jj-gray-600)}.jjbot-message-menu svg{width:20px;height:20px}.jjbot-message.deleted>p{background:transparent;color:var(--jj-gray-500);font-style:italic;font-size:12px;border-style:dashed}.jjbot-important-card{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--jj-gray-200);background:var(--jj-primary-50);color:var(--jj-primary-hover);padding:12px;border-radius:var(--jj-radius-card);margin-top:8px;font-weight:600}.jjbot-important-card svg{width:18px;height:18px}.jj-delete-dialog{--jj-dialog-w: 460px;--jj-dialog-pad-x: 20px;--jj-dialog-pad-b: 20px;width:min(460px,calc(100vw - 28px));box-sizing:border-box;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);padding:20px;color:var(--jj-gray-900)}.jj-delete-dialog.jj-dialog{padding:20px}.jj-delete-dialog::backdrop{background:#1b2e504a}.jj-delete-dialog form{display:grid;gap:14px}.jj-delete-dialog h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.jj-delete-dialog svg{width:22px;height:22px}.jj-delete-dialog p{margin:0;font-size:13px;line-height:1.6}.jj-delete-dialog label{display:flex;align-items:center;gap:10px;border:1px solid var(--jj-gray-200);padding:12px;border-radius:var(--jj-radius-card);font-size:13px}.jj-delete-dialog label input{width:20px;height:20px;flex-shrink:0}.jj-delete-dialog label small{display:block;color:var(--jj-gray-600);margin-top:6px}.jj-delete-dialog footer{display:flex;justify-content:flex-end;gap:8px}.jj-delete-dialog button{min-height:44px}.jj-delete-dialog [role=alert]{color:var(--jj-danger)}.mg-reminder{font-size:11px!important;color:var(--jj-warning-fg)!important;background:var(--jj-warning-bg)!important;border:1px solid #efd5b0!important;display:flex;align-items:center;gap:4px;min-height:30px!important}.mg-reminder svg{width:14px;height:14px}.mg-note button{display:flex;align-items:center;gap:6px;margin-top:8px;min-height:40px}#jinjinbot-root .jjbot-notification>[data-notice-open]{display:block;text-align:left;min-height:44px}#jinjinbot-root .jjbot-notification{grid-template-columns:40px minmax(0,1fr) 36px;align-items:start}#jinjinbot-root .jjbot-notification>[data-notice-open]{min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere}#jinjinbot-root .jjbot-notification strong{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}#jinjinbot-root .jjbot-notification>[data-notice-close]{min-width:36px;min-height:44px;display:grid;place-items:center}#jjbot-panel .jjbot-thread.sm-room{gap:12px;padding:12px 10px}#jjbot-panel .jjbot-thread .sm-main{flex:1;min-width:0}#jjbot-panel .jjbot-thread.sm-room strong{display:flex;align-items:center;gap:6px;min-width:0;font-weight:650}#jjbot-panel .jjbot-thread .sm-title{min-width:0;overflow:hidden;text-overflow:ellipsis}#jjbot-panel .jjbot-thread .sm-count{flex:none;color:var(--jj-gray-500);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-thread .sm-muted{display:inline-flex;flex:none;color:var(--jj-gray-400, var(--jj-gray-500))}#jjbot-panel .jjbot-thread .sm-muted svg{width:13px;height:13px}#jjbot-panel .jjbot-thread.has-unread small{color:var(--jj-gray-800)}#jjbot-panel .jjbot-thread .sm-side{flex:none;display:grid;justify-items:end;align-content:start;gap:6px;min-width:44px}#jjbot-panel .jjbot-thread .sm-side time{margin:0;font-size:11px;font-variant-numeric:tabular-nums}.sm-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;background:var(--jj-danger);color:#fff;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-channels .sm-badge{margin-left:2px}#jjbot-panel .jjbot-bubble-row .sm-unread{flex:none;align-self:flex-end;padding-bottom:2px;color:var(--jj-primary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-bubble-row .sm-state{flex:none;align-self:flex-end;display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;color:var(--jj-gray-500);font-size:11px;white-space:nowrap}#jjbot-panel .jjbot-bubble-row .sm-state.is-failed{color:var(--jj-danger-fg)}#jjbot-panel .jjbot-bubble-row .sm-state button{min-height:28px;padding:0 4px;border:0;background:transparent;color:var(--jj-primary);font-size:11px;font-weight:650;text-decoration:underline;text-underline-offset:2px}#jjbot-panel .jjbot-bubble-row .sm-state.is-failed button:last-child{color:var(--jj-gray-600)}#jjbot-panel .jjbot-message:has(.sm-state:not(.is-failed)) .jjbot-bubble{opacity:.62}#jjbot-panel .jjbot-message:has(.sm-state.is-failed) .jjbot-bubble{border-color:var(--jj-danger);background:var(--jj-danger-bg)}dialog.sm-new.jj-dialog{--jj-dialog-w: 440px;--jj-dialog-pad-x: 20px;--jj-dialog-pad-b: 20px;padding:20px;border-radius:var(--jj-radius-sheet);box-shadow:0 24px 64px #1b2e5033}dialog.sm-new::backdrop{background:#1b2e504a}.sm-new-form{display:grid;gap:12px}.sm-new-form header{display:flex;align-items:center;justify-content:space-between}.sm-new-form h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.sm-new-form svg{width:20px;height:20px}.sm-new-form .sm-x{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--jj-gray-600)}.sm-hint{margin:0;color:var(--jj-gray-600);font-size:13px;text-wrap:balance}.sm-search,.sm-name input{width:100%;min-height:44px;box-sizing:border-box;padding:0 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);font:inherit;background:var(--jj-white, #fff)}.sm-search:focus,.sm-name input:focus{outline:2px solid var(--jj-primary-200);border-color:var(--jj-primary)}.sm-chips{display:flex;flex-wrap:wrap;gap:6px}.sm-chips:empty{display:none}.sm-chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 8px 0 12px;border:0;border-radius:16px;background:var(--jj-primary-50);color:var(--jj-primary-strong);font-size:13px;font-weight:600}.sm-chip svg{width:14px;height:14px}.sm-people{max-height:min(340px,45dvh);overflow-y:auto;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card)}.sm-person{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;box-sizing:border-box;border-bottom:1px solid var(--jj-gray-150);cursor:pointer}.sm-person[hidden]{display:none}.sm-person:last-of-type{border-bottom:0}.sm-person:hover{background:var(--jj-gray-50)}.sm-person:has(input:checked){background:var(--jj-primary-50)}.sm-person>span{flex:1;min-width:0;display:grid}.sm-person small{color:var(--jj-gray-600);font-size:12px}.sm-person input{width:22px;height:22px;accent-color:var(--jj-primary)}.sm-empty{margin:0;padding:24px 12px;text-align:center;color:var(--jj-gray-600);font-size:13px}.sm-name{display:grid;gap:6px;font-size:13px;font-weight:600}.sm-name small{color:var(--jj-gray-500);font-weight:400}.sm-name[hidden]{display:none}.sm-error{margin:0;color:var(--jj-danger-fg);font-size:13px}.sm-error:empty{display:none}@media(max-width:520px){dialog.sm-new.jj-dialog{margin:auto auto 0;width:100vw;max-width:100vw;border-radius:var(--jj-radius-sheet) var(--jj-radius-sheet) 0 0}}#jjbot-panel .jjbot-thread.sm-room{padding-right:38px}#jjbot-panel .jjbot-thread.sm-room small{padding-right:0}#jjbot-panel .jjbot-thread-item:has(.sm-room) .jjbot-thread-more{top:12px;bottom:auto;right:4px}dialog.sm-new .sm-person{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left}dialog.sm-new .sm-person>span{display:grid;gap:2px;justify-items:start}dialog.sm-new .sm-person .jjbot-member-avatar{flex:0 0 36px;width:36px;height:36px;font-size:13px}dialog.sm-new .sm-person input{flex:none;margin:0}dialog.sm-new .sm-name{display:grid}dialog.sm-new .sm-name[hidden]{display:none}#jjbot-panel .jjbot-thread-item:has(.sm-room) .jjbot-thread-more{top:50%;transform:translateY(-50%)}dialog.sm-new.jj-dialog{background:var(--jj-surface);border-radius:24px}.sm-new-form .sm-search{border-radius:999px;padding-left:16px;background:var(--jj-surface-subtle, var(--jj-gray-50))}.sm-people{border:0;border-radius:16px;background:var(--jj-surface-subtle, var(--jj-gray-50));padding:6px}label.sm-person{flex-direction:row;align-items:center;gap:12px;min-height:60px;padding:8px 10px;border:0;border-radius:14px;font-weight:400}label.sm-person+label.sm-person{margin-top:2px}label.sm-person:hover{background:var(--jj-surface)}label.sm-person:has(input:checked){background:var(--jj-primary-50);box-shadow:inset 0 0 0 1.5px var(--jj-primary-200)}.sm-person .jj-face.jjbot-member-avatar{flex:none;width:44px;height:44px;border-radius:16px;font-size:15px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.sm-person>span{display:flex;flex-direction:column;gap:2px}.sm-person strong{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-person small:empty{display:none}.sm-person input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border-radius:999px;box-shadow:inset 0 0 0 2px var(--jj-border-strong);background:var(--jj-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0 no-repeat;transition:background .15s ease}.sm-person input:checked{background-color:var(--jj-primary);background-size:16px;box-shadow:none}.sm-new-form footer button{min-height:46px;border-radius:14px;font-weight:800}dialog.sm-new .sm-person input:checked{background:var(--jj-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;opacity:1}.family-workspace.sms-setup{width:min(760px,calc(100vw - 48px))}.sms-setup .fm-main{display:grid;align-content:start;gap:22px}.sms-setup a{color:var(--fm-accent)}.ss-status{border:1px solid var(--fm-line);border-radius:var(--jj-radius-sheet);padding:18px;display:grid;gap:14px;background:var(--fm-soft)}.ss-status-head{display:flex;align-items:flex-start;gap:12px}.ss-status-head h3{font-size:15px}.ss-status-head p{font-size:13px;color:var(--fm-muted);line-height:1.6;margin-top:3px!important}.ss-badge{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:6px 10px;border-radius:var(--jj-radius-pill);background:var(--jj-gray-150);color:var(--jj-gray-700)}.family-workspace .ss-badge svg{width:15px;height:15px}.ss-status.is-ready .ss-badge{background:var(--jj-success-bg);color:var(--jj-success-fg)}.ss-status.is-pending .ss-badge{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.ss-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--fm-line);border:1px solid var(--fm-line);border-radius:var(--jj-radius-card);overflow:hidden}.ss-grid>div{background:#fff;padding:10px 12px;min-width:0}.ss-grid dt{font-size:11px;color:var(--fm-muted)}.ss-grid dd{margin:3px 0 0;font-size:13px;font-weight:600;overflow-wrap:anywhere}.ss-check{display:flex;gap:8px;font-size:13px;line-height:1.6;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-success-bg);color:var(--jj-success-fg)}.ss-check.is-error{background:#fdf1ea;color:#8f3f17}.ss-check small{display:block;font-size:11px;opacity:.8}.ss-actions{display:flex;flex-wrap:wrap;gap:8px}.ss-test{display:grid;gap:8px;padding-top:4px}.ss-test .fm-aux-actions,.ss-form .fm-aux-actions{margin-top:4px}.ss-guide>h3{font-size:16px}.ss-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.ss-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--fm-line);border-radius:var(--jj-radius-card);background:#fff}.ss-step-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--jj-primary-50);color:var(--fm-accent)}.ss-step.is-done .ss-step-number{background:var(--jj-success-bg);color:var(--jj-success-fg)}.family-workspace .ss-step-number svg{width:16px;height:16px}.ss-step-body{min-width:0;font-size:13px;line-height:1.75;display:grid;gap:8px}.ss-step-body h4{font-size:15px;line-height:32px;display:flex;align-items:center;gap:8px}.ss-done{font-size:11px;color:var(--jj-success-fg);font-weight:600}.ss-step-body ul{margin:0;padding-left:18px}.ss-step-body li+li{margin-top:4px}.ss-docs{margin-top:4px!important}.family-workspace .ss-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:var(--jj-radius-control);background:var(--fm-accent);color:#fff;font-weight:600;text-decoration:none}.family-workspace .ss-link:hover{background:var(--jj-primary-hover)}.family-workspace .ss-link svg{width:16px;height:16px}.ss-support .ss-link{background:transparent!important;color:var(--fm-accent)!important;padding:0 4px;min-height:0}.ss-prepare,.ss-callout{display:flex;gap:8px;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--fm-soft);color:var(--fm-muted);font-size:12px}.ss-copy{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ss-copy code{font-size:16px;font-weight:700;letter-spacing:.02em;padding:8px 12px;border-radius:var(--jj-radius-control);background:var(--fm-soft);border:1px dashed var(--jj-gray-300);user-select:all}.ss-form{display:grid;gap:14px;padding:14px;border-radius:var(--jj-radius-card);background:var(--fm-soft)}.ss-form .fm-field small{font-weight:500;color:var(--fm-muted)}.family-workspace .ss-toggle{flex-direction:row;display:flex;gap:10px;align-items:flex-start;font-size:13px}.ss-toggle input{margin-top:3px!important}.ss-toggle small{display:block;color:var(--fm-muted);font-size:12px;line-height:1.6}.ss-support{display:flex;gap:8px;align-items:flex-start;margin-top:16px!important;font-size:12px;color:var(--fm-muted);line-height:1.7}.ss-step .jj-price{margin:10px 0 0}.ss-step-body .jj-price li+li{margin-top:0}.ss-step-body .jj-price h4{display:block;font-size:14px;line-height:1.5}.fm-navigation [data-sms-settings]{margin-left:auto;font-size:12px}.fm-navigation [data-sms-settings]+[data-cost]{margin-left:0}@media(max-width:759px){.family-workspace.sms-setup{width:100%}.sms-setup .fm-main{padding:16px!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}.ss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-step{grid-template-columns:minmax(0,1fr);padding:14px}.ss-step-number{display:none}.ss-step.is-done .ss-step-body h4:before{content:"\2713";color:var(--jj-success-fg)}.ss-actions button{flex:1}.fm-navigation [data-sms-settings] span{display:none}}.sms-setup [data-ss-close]{margin-left:auto}.sms-requests{display:grid;gap:14px;max-width:980px;margin:0 auto;word-break:keep-all;overflow-wrap:anywhere;font-size:14px}.sms-requests h3{font-size:18px;font-weight:700;line-height:1.35}.sms-requests h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.sms-requests h4 svg{width:17px;height:17px;color:var(--jj-gray-600)}.sr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sr-head p,.sr-detail-head p{margin-top:4px;font-size:13px;line-height:1.5;color:var(--jj-text-tertiary)}.sr-head button{flex:none}.sr-scope{display:inline-flex;justify-self:start;gap:4px;padding:4px;border-radius:var(--jj-radius-control);background:var(--jj-gray-100)}.family-workspace .sr-scope button{border:0;min-height:34px;background:transparent;color:var(--jj-gray-700)}.family-workspace .sr-scope button[aria-selected=true]{background:#fff;color:var(--jj-gray-900);box-shadow:var(--jj-shadow-1)}.sr-scope b,.fm-nav-badge{min-width:20px;padding:1px 6px;border-radius:var(--jj-radius-pill);background:var(--jj-danger);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.sr-filters{display:flex;flex-wrap:wrap;gap:6px}.family-workspace .sr-filters button{min-height:34px;padding:4px 12px;border-radius:var(--jj-radius-pill);color:var(--jj-gray-700)}.family-workspace .sr-filters button[aria-pressed=true]{border-color:var(--jj-primary);background:var(--jj-primary-50);color:var(--jj-primary-strong)}.sr-filters b{font-weight:600;color:var(--jj-gray-500)}.sr-filters button[aria-pressed=true] b{color:inherit}.sr-feedback{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-success-bg);color:var(--jj-success-fg);font-size:13px;font-weight:600}.sr-feedback:empty{display:none}.sr-feedback.is-error{background:var(--jj-danger-bg);color:var(--jj-danger-fg)}.sr-feedback svg{width:17px;height:17px}.sr-banner{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:var(--jj-radius-control);font-size:13px;line-height:1.55}.sr-banner>span{flex:1;min-width:0}.sr-banner svg{width:18px;height:18px;margin-top:1px}.sr-banner button{flex:none}.sr-banner.is-warning{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.sr-banner.is-info{background:var(--jj-info-bg);color:var(--jj-primary-strong)}.sr-list{display:grid;gap:10px}.sr-card{display:grid;gap:8px;padding:16px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:#fff}.sr-card.is-requested{border-color:var(--jj-primary-200);box-shadow:inset 3px 0 0 var(--jj-primary)}.sr-card.is-cancelled,.sr-card.is-rejected{background:var(--jj-gray-50)}.sr-card-head,.sr-detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.sr-card h4,.sr-detail-head h3{display:block;font-weight:600}.sr-card h4{font-size:15px}.sr-card h4 b,.sr-detail-head h3 b{font-weight:700;color:var(--jj-primary-strong)}.sr-by{font-size:12px;color:var(--jj-text-tertiary);text-align:right}.sr-status{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 10px;border-radius:var(--jj-radius-pill);background:var(--jj-gray-100);color:var(--jj-gray-700);font-size:12px;font-weight:700}.family-workspace .sr-status svg{width:13px;height:13px;stroke-width:2.4}.sr-status.is-requested{background:var(--jj-primary-100);color:var(--jj-primary-strong)}.sr-status.is-confirmed{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.sr-status.is-sent{background:var(--jj-success-bg);color:var(--jj-success-fg)}.sr-status.is-rejected{background:var(--jj-danger-bg);color:var(--jj-danger-fg)}.sr-when{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--jj-text-secondary)}.sr-when.is-reserved{color:var(--jj-warning-fg);font-weight:600}.family-workspace .sr-when svg{width:16px;height:16px}.sr-snippet{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-50);color:var(--jj-text-secondary);font-size:13px;line-height:1.55;max-height:calc(3.1em + 20px)}.sr-outcome{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:1.5}.family-workspace .sr-outcome svg{width:16px;height:16px;margin-top:2px}.sr-outcome.is-sent{color:var(--jj-success-fg)}.sr-outcome.is-rejected{color:var(--jj-danger-fg)}.sr-card-actions,.sr-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sr-actions-hint{text-align:right}.sr-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}.sr-message,.sr-side{display:grid;gap:10px;min-width:0}.sr-message .fm-message-bubble p{white-space:pre-wrap}.sr-meter{font-size:12px;line-height:1.6;color:var(--jj-text-secondary)}.sr-meter small{color:var(--jj-text-tertiary)}.sr-meter.is-error{color:var(--jj-danger-fg);font-weight:600}.sr-meter-warning{display:block;color:var(--jj-warning-fg)}.sr-memo{padding:10px 12px;border-left:3px solid var(--jj-gray-300);background:var(--jj-gray-50);font-size:13px;line-height:1.55;white-space:pre-wrap}.sr-memo b{display:block;font-size:12px;color:var(--jj-text-tertiary)}.sr-facts{display:grid;gap:0;margin:0;border:1px solid var(--jj-border);border-radius:var(--jj-radius-control)}.sr-facts>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;padding:10px 12px;font-size:13px}.sr-facts>div+div{border-top:1px solid var(--jj-divider)}.sr-facts dt{color:var(--jj-text-tertiary)}.sr-facts dd{margin:0;font-weight:600}.sr-recipients{border:1px solid var(--jj-border);border-radius:var(--jj-radius-control)}.sr-recipients>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.sr-recipients>summary::-webkit-details-marker{display:none}.sr-recipients>summary>span{flex:1;min-width:0}.sr-recipients>summary small{margin-left:6px;font-weight:500;color:var(--jj-text-tertiary)}.sr-recipients>summary em,.sr-people em{margin-left:8px;padding:2px 8px;border-radius:var(--jj-radius-pill);background:var(--jj-warning-bg);color:var(--jj-warning-fg);font-size:11px;font-style:normal;font-weight:700;white-space:nowrap}.sr-recipients[open]>summary svg:last-child{transform:rotate(180deg)}.sr-recipients>.fm-hint{padding:0 12px 12px}.sr-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 12px;max-height:260px;margin:0;padding:0 12px 8px;overflow:auto;list-style:none;border-top:1px solid var(--jj-divider)}.sr-people li{display:flex;align-items:center;gap:6px;min-height:40px;border-bottom:1px solid var(--jj-divider)}.sr-people li>span{flex:1;min-width:0}.sr-people strong{font-size:13px;font-weight:600}.sr-people small{margin-left:6px;font-size:12px;color:var(--jj-text-tertiary)}.family-workspace .sr-people .fm-icon-button{width:30px;min-width:30px;min-height:30px;padding:5px;border:0;color:var(--jj-gray-500)}.sr-trail-title{margin-top:4px}.sr-trail{display:grid;gap:8px;margin:0;padding:0;list-style:none}.sr-trail li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.5}.sr-trail b{font-weight:700;color:var(--jj-gray-700)}.sr-trail li.is-complete b{color:var(--jj-success-fg)}.sr-trail li.is-reject b,.sr-trail li.is-cancel b{color:var(--jj-danger-fg)}.sr-trail span{color:var(--jj-text-secondary)}.sr-trail small{display:block;color:var(--jj-text-tertiary)}.sr-delivery{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-50);font-size:13px}.sr-panel{display:grid;gap:10px;padding:14px;border:1px solid var(--jj-primary-200);border-radius:var(--jj-radius-card);background:var(--jj-primary-50)}.sms-requests .fm-field small{font-weight:500;color:var(--jj-text-tertiary)}.sr-form{display:grid;gap:16px}.sr-targets{display:grid;gap:10px;min-width:0}.sr-chips{display:flex;flex-wrap:wrap;gap:6px}.sr-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border-radius:var(--jj-radius-pill);background:var(--jj-primary-100);color:var(--jj-primary-strong);font-size:13px;font-weight:600}.sr-chip b{font-weight:700}.family-workspace .sr-chip button{width:26px;min-height:26px;padding:4px;border:0;border-radius:50%;background:transparent;color:inherit}.family-workspace .sr-chip button svg{width:14px;height:14px}.sr-chip-empty{font-size:13px;color:var(--jj-text-tertiary)}.sr-picker{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-50)}.sr-picker .sr-wide{grid-column:2 / 4}.sr-picker .sr-results{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.family-workspace .sr-results button{justify-content:flex-start;text-align:left}.sr-results button small{flex:1;font-weight:500;color:var(--jj-text-tertiary)}.sr-picker .fm-search{position:relative;display:block}.sr-picker .fm-search svg{position:absolute;top:11px;left:12px;color:var(--jj-gray-500)}.family-workspace .sr-picker .fm-search input{padding-left:38px}.sr-excluded{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;font-size:12px;color:var(--jj-text-tertiary)}.sr-excluded b{margin-right:4px}.sr-when-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.sr-when-choice label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;min-height:42px;font-size:14px}.family-workspace .sr-when-choice input[type=datetime-local]{width:auto;flex:0 1 230px}.fm-request-link{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-info-bg);color:var(--jj-primary-strong);font-size:13px;line-height:1.5}.fm-request-link>span{flex:1;min-width:0}.fm-request-link b{margin-right:8px}.fm-main[data-view=review]>.fm-request-link{margin-bottom:14px}.fm-request-done{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--jj-success-fg);font-size:13px;font-weight:600}.fm-navigation .fm-nav-badge{margin-left:2px}.sms-request-window{width:min(880px,calc(100vw - 48px))}.sms-request-window .fm-header>button:first-of-type{margin-left:auto}@media(max-width:759px){.family-workspace .fm-navigation{gap:14px;overflow-x:auto;scrollbar-width:none}.family-workspace .fm-navigation [data-sms-settings] span{display:none}.sr-head{flex-wrap:wrap}.sr-detail-grid{grid-template-columns:minmax(0,1fr)}.sr-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sr-picker>:first-child,.sr-picker .sr-wide,.sr-picker>button{grid-column:1 / -1}.sr-people{grid-template-columns:minmax(0,1fr)}.sr-actions>button,.sr-card-actions>button{flex:1 1 auto}.sr-actions-hint{text-align:left}.sr-by{font-size:11px}.fm-request-link{flex-wrap:wrap}.sms-request-window .srw-settings span{display:none}}@media(max-width:480px){.family-workspace .fm-navigation [data-view] svg{display:none}}@media(max-width:340px){.family-workspace .fm-navigation{gap:10px;padding:0 12px}}.jj-price{display:grid;gap:20px;font-size:13px;line-height:1.5;color:var(--jj-text);word-break:keep-all;min-width:0}.jj-price h3,.jj-price h4,.jj-price p{margin:0}.jj-price.is-compact{gap:14px}.jj-price-head{display:flex;align-items:center;gap:12px}.jj-price-head img{width:48px;height:48px;flex:none;object-fit:contain}.jj-price-head h3{font-size:16px;line-height:1.4;font-weight:700}.jj-price-head p{margin-top:2px;font-size:12px;color:var(--jj-text-tertiary)}.jj-price-ladder{list-style:none;margin:0;padding:0;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);overflow:hidden;background:var(--jj-surface)}.jj-price-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"icon name amount" "bar bar bar";column-gap:12px;align-items:center;margin:0;padding:12px 14px 0;border-top:1px solid var(--jj-divider)}.jj-price-row:first-child{border-top:0}.jj-price-row.is-best{background:var(--jj-success-bg)}.jj-price-icon{grid-area:icon;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--jj-gray-100);color:var(--jj-gray-700)}.jj-price-icon svg{width:20px;height:20px}.is-best .jj-price-icon{background:var(--jj-surface);color:var(--jj-success-fg)}.jj-price-name{grid-area:name;min-width:0}.jj-price-name strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;font-weight:700;line-height:20px}.jj-price-name strong code{font:600 10.5px/14px var(--jj-font);color:var(--jj-text-tertiary);background:var(--jj-gray-100);border-radius:4px;padding:0 4px;letter-spacing:.02em}.jj-price-name small{display:block;margin-top:2px;font-size:12px;color:var(--jj-text-tertiary)}.jj-price-amount{grid-area:amount;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.jj-price-amount strong{display:block;font-size:19px;font-weight:800;line-height:24px;letter-spacing:-.01em}.jj-price-amount strong em{font-style:normal;font-size:13px;font-weight:600;margin-left:1px}.jj-price-amount small{display:block;font-size:11px;color:var(--jj-text-tertiary)}.jj-price-approx{font-size:12px;font-weight:600;margin-right:3px}.is-best .jj-price-amount strong{color:var(--jj-success-fg)}.is-preparing .jj-price-amount strong{color:var(--jj-text-tertiary)}.jj-price-bar{grid-area:bar;display:block;height:3px;margin:10px 0 0;background:var(--jj-divider);position:relative;border-radius:2px}.jj-price-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:max(4px,var(--w));border-radius:2px;background:var(--jj-primary)}.is-best .jj-price-bar{background:transparent}.is-best .jj-price-bar:before{background:var(--jj-success);width:4px}.is-preparing .jj-price-bar:before{background:var(--jj-primary-300);background-image:repeating-linear-gradient(90deg,transparent 0 3px,var(--jj-surface) 3px 5px)}.jj-price .jj-badge{height:20px;padding:0 7px;font-size:11px;font-weight:700}.jj-price .is-best .jj-badge.is-success{background:var(--jj-success-fg);color:var(--jj-success-bg)}.jj-price-example{border-radius:var(--jj-radius-card);background:var(--jj-primary-50);padding:14px 16px 12px}.jj-price-example-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.jj-price-example-head h4{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.jj-price-chips{display:flex;gap:4px}.jj-price .jj-price-chips button{height:28px;min-height:28px;padding:0 10px;border-radius:var(--jj-radius-pill);border:1px solid transparent;background:transparent;color:var(--jj-text-secondary);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.jj-price .jj-price-chips button:not([aria-pressed=true]):hover{background:var(--jj-primary-100)}.jj-price-example .jj-price-chips button[aria-pressed=true]{background:var(--jj-surface);border-color:var(--jj-primary-200);color:var(--jj-primary);box-shadow:0 1px 2px #0f141b0f}.jj-price .jj-price-chips button:focus-visible{outline:2px solid var(--jj-primary);outline-offset:1px}.jj-price-example dl{margin:10px 0 0;display:grid;gap:0}.jj-price-example dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--jj-primary-100);font-variant-numeric:tabular-nums}.jj-price-example dl>div:first-child{border-top:0}.jj-price-example dt{font-size:13px;color:var(--jj-text-secondary);display:flex;align-items:center;gap:6px}.jj-price-example dd{margin:0;font-size:14px;font-weight:700;white-space:nowrap}.jj-price-example dd em{font-style:normal;font-size:12px;font-weight:500;color:var(--jj-text-tertiary);margin-left:2px}.jj-price-example .is-best dd{color:var(--jj-success-fg)}.jj-price-example .is-preparing dd,.jj-price-example .is-preparing dt{color:var(--jj-text-tertiary)}.jj-price-example .is-preparing dd{font-weight:500}.jj-price-example>p{margin-top:10px;font-size:12px;color:var(--jj-text-tertiary)}.jj-price-tip{border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);padding:14px 16px}.jj-price-tip h4{font-size:14px;font-weight:700;margin-bottom:10px}.jj-price-steps{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:6px}.jj-price-steps li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:0;padding:10px 6px;border-radius:var(--jj-radius-control);background:var(--jj-surface-subtle);position:relative}.jj-price-steps li+li:before{content:"";position:absolute;left:-6px;top:50%;width:6px;height:1px;background:var(--jj-border-strong)}.jj-price-steps b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--jj-gray-800);color:var(--jj-surface);font-size:11px;font-weight:700}.jj-price-steps li:first-child b{background:var(--jj-success-fg)}.jj-price-steps strong{font-size:13px;font-weight:700}.jj-price-steps small{font-size:11.5px;color:var(--jj-text-tertiary);font-variant-numeric:tabular-nums}.jj-price-tip>p{margin-top:10px;font-size:12.5px;color:var(--jj-text-secondary)}.jj-price-notes{margin:0;padding-left:16px;font-size:12px;line-height:1.7;color:var(--jj-text-secondary);display:grid;gap:4px}.jj-price-notes li{margin:0}.jj-price-notes b{color:var(--jj-text);font-weight:700}.jj-price-source{font-size:11.5px;color:var(--jj-text-tertiary)}.jj-price-source a{color:inherit}.jj-price .jj-price-setup{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-control);background:var(--jj-surface);color:var(--jj-text);font-size:13px;font-weight:600;justify-self:start;cursor:pointer}.jj-price .jj-price-setup:hover:not(:disabled){background:var(--jj-gray-100)}.jj-price-setup svg{width:18px;height:18px}.jj-price-details>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.jj-price-details>summary::-webkit-details-marker{display:none}.jj-price-details>summary svg{width:18px;height:18px;color:var(--jj-text-tertiary)}.jj-price-details>summary small{font-size:12px;font-weight:500;color:var(--jj-text-tertiary)}.jj-price-details[open]>summary{margin-bottom:8px}@media(max-width:759px){.jj-price-row{padding:12px 12px 0;column-gap:10px}.jj-price-amount strong{font-size:18px}.jj-price-example{padding:14px 14px 12px}.jj-price-steps{gap:4px}.jj-price-steps li+li:before{left:-4px;width:4px}}.family-workspace{--fm-ink: var(--jj-gray-900);--fm-muted: var(--jj-gray-600);--fm-line: var(--jj-gray-200);--fm-accent: var(--jj-primary);--fm-soft: var(--jj-gray-50);--jj-help-bg: #f5f7fc;--jj-help-line: #dce3ee;--jj-help-ink: #182840;--jj-help-muted: #53637b;--jj-help-accent: #3453ef;position:fixed;inset:0;margin:auto;padding:0;width:min(1120px,calc(100vw - 48px));height:min(850px,calc(100dvh - 48px));max-width:none;max-height:none;border:1px solid var(--fm-line);border-radius:var(--jj-radius-sheet);box-shadow:0 24px 80px #14284424;background:#fff;color:var(--fm-ink);overflow:hidden;font-family:inherit;text-align:left}.family-workspace[open]{display:flex;flex-direction:column}.family-workspace::backdrop{background:#17274235}.family-workspace.is-expanded{width:calc(100vw - 32px);height:calc(100dvh - 32px)}.family-workspace *{box-sizing:border-box}.family-workspace [hidden]{display:none!important}.family-workspace svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.family-workspace h2,.family-workspace h3,.family-workspace h4,.family-workspace p{margin:0}.family-workspace button{font:inherit;font-size:13px;font-weight:600;min-height:38px;padding:8px 12px;border:1px solid var(--fm-line);border-radius:var(--jj-radius-control);display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fff;color:var(--fm-ink);cursor:pointer;transition:background .12s,box-shadow .12s}.family-workspace button:hover:not(:disabled){background:var(--jj-gray-100)}.family-workspace button:disabled{opacity:.48;cursor:not-allowed}.family-workspace button.primary{background:var(--fm-accent);border-color:var(--fm-accent);color:#fff}.family-workspace button.primary:hover:not(:disabled){background:var(--jj-primary-hover)}.family-workspace .fm-icon-button{width:38px;min-width:38px;padding:8px}.family-workspace .fm-text-button{border:0;background:transparent;color:var(--jj-gray-700);padding:4px 6px;min-height:30px;font-size:12px}.family-workspace input:not([type=checkbox]):not([type=radio]),.family-workspace textarea,.family-workspace select{width:100%;min-width:0;font:inherit;font-size:14px;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);background:#fff;color:var(--fm-ink);padding:10px 12px;min-height:42px}.family-workspace input[type=checkbox],.family-workspace input[type=radio]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:var(--fm-accent)}.family-workspace :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--jj-primary);outline-offset:2px}.fm-header{display:flex;align-items:center;gap:12px;padding:16px 22px;flex:none;border-bottom:1px solid var(--fm-line)}.fm-header img{border-radius:var(--jj-radius-card);flex:none}.fm-head-art{display:block;flex:none;width:44px;height:44px}.fm-head-art svg{display:block;width:100%;height:100%}.fm-header h2{font-size:19px;font-weight:700;line-height:1.3}.fm-header p{font-size:12px;color:var(--fm-muted);margin-top:3px}.fm-header .fm-expand{margin-left:auto}.fm-navigation{display:flex;align-items:center;padding:0 22px;gap:20px;flex:none;border-bottom:1px solid var(--fm-line)}.fm-navigation button{border:0;border-radius:0;min-height:52px;padding:10px 0;border-bottom:2px solid transparent;color:var(--fm-muted);background:transparent;white-space:nowrap}.fm-navigation button[aria-current]{border-bottom-color:var(--fm-accent);color:var(--fm-accent)}.fm-navigation [data-cost]{margin-left:auto;font-size:12px}.fm-notice{flex:none;font-size:12px;color:var(--jj-success-fg);background:var(--jj-success-bg);padding:10px 22px;overflow-wrap:anywhere}.family-workspace .fm-main{width:100%;max-width:none;margin:0;padding:0;flex:1;min-height:0;overflow:hidden}.family-workspace .fm-main:not([data-view=compose]){padding:22px;overflow:auto}.fm-compose{height:100%;display:grid;grid-template-columns:320px minmax(0,1fr);min-height:0}.fm-recipients{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:20px 16px 10px;background:var(--fm-soft);border-right:1px solid var(--fm-line)}.fm-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-section-heading h3{display:flex;align-items:center;gap:7px;font-size:14px}.fm-count{font-size:12px;color:var(--fm-accent);font-weight:600}.family-workspace .fm-search{flex-direction:row;display:flex;align-items:center;gap:6px;padding:0 10px;background:#fff;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control)}.family-workspace .fm-search input[type=search]{border:0;padding:9px 0;outline-offset:0}.fm-search svg{color:var(--fm-muted);width:17px}.fm-filters{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:7px}.family-workspace .fm-filters select{font-size:12px;padding:8px}.fm-selection-tools{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.fm-selection-tools .fm-inline-check{margin-right:auto;font-size:11px}.family-workspace .fm-inline-check{display:flex;align-items:center;gap:7px;flex-direction:row;line-height:1.6;cursor:pointer}.fm-selection-tools .fm-text-button{font-size:11px;padding-inline:4px}.fm-student-list{flex:1;min-height:120px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.fm-student{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--jj-gray-200);min-height:58px;padding:5px 2px}.fm-student.is-selected{background:var(--jj-primary-50);border-radius:var(--jj-radius-control);border-bottom-color:transparent}.family-workspace .fm-student>label{display:flex;flex-direction:row;align-items:center;gap:10px;flex:1;min-width:0;margin:0;min-height:44px;cursor:pointer;padding:5px 6px}.fm-student-name{min-width:0}.fm-student-name strong,.fm-student-name small{display:block;overflow-wrap:anywhere}.fm-student-name strong{font-size:13px;font-weight:600}.fm-student-name small{font-size:11px;color:var(--fm-muted);margin-top:4px}.family-workspace .fm-student>button{border-color:transparent;background:transparent;color:var(--jj-gray-600)}.fm-list-summary{font-size:11px;color:var(--fm-muted)}.fm-editor{padding:20px 24px;overflow:auto;min-width:0;display:flex;flex-direction:column;gap:14px}.fm-fieldset{padding:0;margin:0;border:0;min-width:0}.fm-fieldset legend,.fm-field{font-size:12px;font-weight:600}.fm-fieldset legend{padding:0;margin-bottom:8px}.fm-audiences{display:flex;gap:8px}.family-workspace .fm-audiences>label{flex-direction:row;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:9px 8px;min-height:42px;border:1px solid var(--fm-line);border-radius:var(--jj-radius-control);font-size:12px;cursor:pointer}.fm-audiences>label:has(:checked){background:var(--jj-primary-50);border-color:var(--jj-primary-300);color:var(--jj-primary-hover)}.fm-audiences>label:focus-within{outline:2px solid var(--jj-primary);outline-offset:2px}.fm-audiences input{position:absolute;opacity:0}.fm-audiences svg{width:17px}.fm-channels{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-channels>label{display:flex;flex-direction:row;align-items:center;gap:9px;padding:11px;border:1px solid var(--fm-line);border-radius:var(--jj-radius-control);cursor:pointer;min-width:0}.fm-channels>label:has(:checked){border-color:var(--jj-primary-200);background:var(--jj-gray-50)}.fm-channels strong,.fm-channels small{display:block}.fm-channels strong{font-size:12px}.fm-channels small{font-size:11px;font-weight:400;color:var(--fm-muted);margin-top:3px}.fm-channels small b{color:var(--jj-text-secondary);font-weight:700;font-variant-numeric:tabular-nums}.fm-channels .is-unavailable{background:var(--jj-gray-100);color:var(--jj-gray-600);cursor:not-allowed}.fm-channel-note{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:11px;color:var(--fm-muted);margin-top:5px!important}.fm-channel-note .fm-text-button{min-height:24px;padding:0 4px;font-size:11px}.fm-channel-note svg{width:14px;height:14px}.fm-writing-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.fm-writing-heading h3{font-size:14px}.fm-field{display:flex;flex-direction:column;gap:7px;min-width:0}.fm-body-field{flex:1;min-height:150px}.family-workspace .fm-body-field textarea{flex:1;min-height:135px;resize:vertical;line-height:1.7}.fm-composer-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--fm-muted)}.fm-composer-meta .is-error,.fm-inline-error{color:var(--jj-danger)}.fm-inline-error{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.fm-inline-error:empty{display:none}.fm-footer{flex:none;display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 22px;background:#fff;border-top:1px solid var(--fm-line)}.fm-footer .primary{min-height:44px;padding-inline:18px;margin-left:auto}.fm-footer-caption{font-size:12px;color:var(--fm-muted);min-width:0}.fm-footer-caption strong{font-size:13px;color:var(--fm-ink);display:block}.fm-footer-caption small{font-size:11px;display:block;margin-top:3px}.fm-footer>button:last-child:not(.primary){margin-left:auto}.family-workspace .fm-mobile-done,.family-workspace .fm-mobile-recipients{display:none}.fm-page-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}.fm-page-heading h3{font-size:17px}.fm-page-heading p,.fm-hint{font-size:12px;color:var(--fm-muted);line-height:1.7;margin-top:6px!important}.fm-page-heading>button{flex:none}.fm-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fm-template{border:1px solid var(--fm-line);border-radius:var(--jj-radius-card);padding:16px;min-width:0}.fm-template-title{display:flex;align-items:center;gap:8px}.fm-template-title svg{color:var(--fm-accent)}.fm-template h4{font-size:14px;overflow-wrap:anywhere}.fm-template>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;color:var(--fm-muted);margin:14px 0;max-height:150px;overflow:auto}.fm-template-actions{display:flex;gap:6px}.fm-template-actions button:first-child{margin-right:auto}.fm-template-actions .fm-icon-button{width:34px;min-width:34px;padding:7px}.fm-history details{border-bottom:1px solid var(--fm-line)}.fm-history summary{display:flex;align-items:center;gap:12px;padding:16px 0;cursor:pointer;list-style:none}.fm-history summary::-webkit-details-marker{display:none}.fm-history summary>span:nth-child(2){flex:1;min-width:0}.fm-history summary strong{display:block;font-size:14px;overflow-wrap:anywhere}.fm-history summary small{display:block;font-size:12px;color:var(--fm-muted);margin-top:5px}.fm-history-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--jj-radius-control);background:var(--jj-primary-50);color:var(--jj-primary);flex:none}.fm-history-count{font-size:12px;color:var(--fm-muted)}.fm-history-detail{padding:0 0 20px 50px}.fm-history-detail>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.fm-history-detail ul,.fm-setup-list{list-style:none;padding:0;margin:14px 0}.fm-history-detail li,.fm-setup-list li{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:10px 0;border-bottom:1px solid var(--fm-line)}[data-delivery-state=failed],[data-delivery-state=check_required]{color:#aa4f21}.fm-empty{padding:32px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;grid-column:1 / -1}.fm-empty>svg{width:30px;height:30px;color:var(--jj-gray-500)}.fm-empty strong{font-size:14px}.fm-empty p{font-size:12px;color:var(--fm-muted);line-height:1.7}.fm-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;font-size:13px;color:var(--fm-muted)}.fm-loading>span{width:18px;height:18px;border:2px solid var(--fm-line);border-top-color:var(--fm-accent);border-radius:50%;animation:jj-spin 1s linear infinite}.fm-review-heading{display:flex;gap:12px;align-items:center;margin-bottom:22px}.fm-review-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--jj-radius-card);background:var(--jj-primary-50);color:var(--fm-accent)}.fm-review-heading h3{font-size:18px}.fm-review-heading p{font-size:12px;color:var(--fm-muted);margin-top:6px}.fm-review-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.fm-message-preview{background:var(--fm-soft);padding:20px;border-radius:var(--jj-radius-card);min-width:0}.fm-preview-caption{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--fm-muted);margin-bottom:16px}.fm-message-bubble{padding:18px;background:#fff;border:1px solid var(--fm-line);border-radius:4px 16px 16px;overflow-wrap:anywhere}.fm-message-bubble strong{font-size:14px;display:block;margin-bottom:10px}.fm-message-bubble p{font-size:14px;line-height:1.8;white-space:pre-wrap}.fm-delivery-summary{min-width:0}.fm-delivery-summary h3{font-size:14px}.fm-delivery-summary dl{margin:12px 0}.fm-delivery-summary dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;font-size:13px}.fm-delivery-summary dt{color:var(--fm-muted)}.fm-delivery-summary dd{margin:0;font-weight:600}.fm-delivery-summary .fm-estimate{border-top:1px solid var(--fm-line);margin-top:8px;padding-top:16px}.fm-estimate dd{font-size:24px;color:var(--fm-accent);font-variant-numeric:tabular-nums}.fm-estimate dd small{font-size:14px;margin-left:3px}.fm-estimate dt small{display:block;font-size:11px;margin-top:4px}.fm-review-recipients{margin-top:20px;border-top:1px solid var(--fm-line);padding-top:15px;font-size:13px}.fm-review-recipients summary,.fm-missing summary{cursor:pointer;min-height:30px}.fm-review-recipients>div{max-height:200px;overflow:auto}.fm-review-recipients>div>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--fm-line)}.fm-review-recipients small,.fm-review-recipients span{font-size:12px;color:var(--fm-muted)}.fm-missing{background:var(--jj-warning-bg);border:1px solid #efd8b4;border-radius:var(--jj-radius-card);margin-top:18px;padding:16px}.fm-missing h3{font-size:14px;display:flex;align-items:center;gap:6px;color:var(--jj-warning-fg)}.fm-missing p,.fm-missing details,.fm-missing label{font-size:12px;margin-top:8px}.fm-missing ul{padding-left:20px;line-height:1.8;max-height:180px;overflow:auto}.fm-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%;gap:16px;padding:24px}.fm-success img{border-radius:var(--jj-radius-sheet)}.fm-success h3{font-size:21px}.fm-success p{font-size:14px;line-height:1.8;color:var(--fm-muted)}.fm-aux{position:absolute;inset:0 0 0 auto;width:min(460px,100%);background:#fff;box-shadow:-20px 0 60px #15284525;border-left:1px solid var(--fm-line);display:flex;flex-direction:column;z-index:2}.fm-aux>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px;border-bottom:1px solid var(--fm-line);flex:none}.fm-aux h3{font-size:17px}.fm-aux-body{flex:1;min-height:0;overflow:auto;padding:20px}.fm-aux-body>p{font-size:13px;line-height:1.8}.fm-aux-body form{display:grid;gap:18px}.fm-aux-body textarea{resize:vertical;line-height:1.7}.fm-aux-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media(min-width:760px)and (max-width:1023px){.fm-compose{grid-template-columns:280px minmax(0,1fr)}.fm-editor{padding:18px 16px}.fm-channels{grid-template-columns:1fr}.fm-channels>label{padding:8px}.fm-audiences>label svg{display:none}.fm-channels small{margin:0}.fm-channels>label>span{display:flex;gap:8px;flex-wrap:wrap;align-items:center}}@media(max-width:759px){.family-workspace,.family-workspace.is-expanded{width:100%;height:100dvh;border-radius:0;border:0}.fm-header{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));gap:10px}.fm-header h2{font-size:18px}.fm-header p{font-size:11px}.fm-header img,.fm-head-art{width:36px;height:36px}.family-workspace .fm-expand{display:none}.fm-header [data-family-close]{margin-left:auto}.fm-navigation{padding:0 16px;gap:18px}.fm-navigation button{font-size:12px;gap:5px;min-height:48px}.fm-navigation svg{width:17px}.fm-navigation [data-cost] span{display:none}.fm-compose{display:block}.fm-recipients{display:none}.fm-editor{height:100%;padding:16px;gap:13px}.family-workspace .fm-mobile-recipients{display:flex;justify-content:flex-start;flex:none;min-height:48px;background:var(--jj-gray-50);border-color:var(--jj-primary-200)}.fm-mobile-recipients strong{margin-left:auto;color:var(--fm-accent)}.family-workspace[data-selecting=true] .fm-recipients{display:flex;height:100%;border:0}.family-workspace[data-selecting=true] .fm-editor,.family-workspace[data-selecting=true] [data-preview]{display:none}.family-workspace[data-selecting=true] .fm-mobile-done{display:inline-flex}.family-workspace button{min-height:44px}.family-workspace .fm-icon-button{width:44px;min-width:44px}.family-workspace .fm-text-button{min-height:36px}.family-workspace .fm-audiences>label{flex-direction:row;padding-inline:4px;min-height:44px;font-size:12px}.fm-audiences svg{display:none}.fm-channels{gap:6px}.fm-channels>label{padding:10px 8px;gap:6px}.fm-channels>label>svg{display:none}.fm-channels small{font-size:10px}.fm-body-field{min-height:190px}.fm-writing-heading .fm-text-button{font-size:11px}.fm-composer-meta{flex-wrap:wrap}.fm-footer{padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));gap:8px;min-height:70px}.fm-footer-caption{font-size:11px}.fm-footer .primary{font-size:12px;padding-inline:12px}.fm-footer-caption small{font-size:10px}.family-workspace .fm-main:not([data-view=compose]){padding:18px 16px}.fm-template-grid{grid-template-columns:1fr}.fm-page-heading{flex-wrap:wrap}.fm-page-heading h3{font-size:16px}.fm-review-layout{display:flex;flex-direction:column;gap:18px}.fm-delivery-summary{order:-1}.fm-review-heading h3{font-size:16px}.fm-review-heading p{font-size:11px}.fm-delivery-summary dl>div{padding:6px 0}.fm-message-preview{padding:14px}.fm-footer:has([data-family-send]) .fm-footer-caption small{display:none}.fm-footer:has([data-family-send])>button:first-child{font-size:12px;padding-inline:7px}.fm-footer:has([data-family-send]) .primary{padding-inline:10px}.fm-footer:has([data-family-send]) .primary svg{display:none}.fm-history-count{font-size:10px}.fm-history summary{gap:8px}.fm-history-detail{padding-left:0}.fm-history-symbol{width:32px;height:32px}.fm-history summary strong{font-size:13px}.fm-review-recipients>div>div{align-items:start;flex-direction:column;gap:4px}.fm-aux>header{padding:14px 16px}.fm-aux-body{padding:16px}.fm-notice{padding:9px 16px}}@media(prefers-reduced-motion:reduce){.family-workspace button{transition:none}.fm-loading>span{animation:none}}.family-workspace.is-floating{z-index:1500;inset:72px 24px auto auto;margin:0;width:min(1040px,calc(100vw - 48px));height:min(860px,calc(100dvh - 140px));box-shadow:0 2px 8px #1428440f,0 28px 80px #14284438;animation:fm-float-in .2s ease-out}.family-workspace.is-floating.is-expanded{top:16px;left:16px;right:auto;width:calc(100vw - 32px);height:calc(100dvh - 32px)}.family-workspace.is-floating .fm-header{cursor:grab;user-select:none}.family-workspace.is-floating.is-dragging .fm-header{cursor:grabbing}.family-workspace.is-floating.is-expanded .fm-header{cursor:default}@keyframes fm-float-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@media(prefers-reduced-motion:reduce){.family-workspace.is-floating{animation:none}}.fm-photo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.fm-photo[hidden]{display:none}.fm-photo-add{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px dashed var(--fm-line);border-radius:10px;background:var(--fm-soft);color:var(--fm-ink);font-size:13px;font-weight:600;cursor:pointer}.fm-photo-add:hover{border-color:var(--fm-accent);color:var(--fm-accent)}.fm-photo-add:focus-within{outline:2px solid var(--fm-accent);outline-offset:2px}.fm-photo-add input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.fm-photo-add svg{width:18px;height:18px}.fm-photo-thumb{position:relative;margin:0;width:72px;height:72px;flex:none}.fm-photo-thumb img{width:100%;height:100%;object-fit:cover;border:1px solid var(--fm-line);border-radius:10px}.family-workspace .fm-photo-remove{position:absolute;top:-10px;right:-10px;display:grid;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border:2px solid white;border-radius:50%;background:var(--jj-gray-900);color:#fff;box-shadow:0 1px 4px #00000040}.family-workspace .fm-photo-remove:hover:not(:disabled){background:var(--jj-danger)}.family-workspace .fm-photo-remove:before{content:"";position:absolute;inset:-8px}.fm-photo-remove svg{width:14px;height:14px}.fm-photo-note{display:grid;gap:2px;margin:0;flex:1 1 160px;font-size:12px;line-height:1.5;color:var(--fm-muted)}.fm-photo-note strong{color:var(--fm-ink);font-size:13px}.fm-photo .fm-inline-error{flex-basis:100%;margin:0}.fm-photo .fm-inline-error:empty{display:none}.fm-bubble-photo{display:block;max-width:100%;max-height:240px;margin-bottom:8px;border-radius:8px;object-fit:contain}#jinjinbot-root{position:relative;z-index:1800;font-family:inherit}.jjbot-launch{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;border:1px solid var(--jj-primary-100);border-radius:var(--jj-radius-sheet);background:#fff;padding:5px 16px 5px 5px;color:var(--jj-gray-800);font-weight:700;box-shadow:0 6px 24px #23356320;min-height:52px}.jjbot-launch img,.jjbot-panel header img{border-radius:var(--jj-radius-sheet);object-fit:cover}.jjbot-panel{position:fixed;right:24px;bottom:90px;width:min(460px,calc(100vw - 32px));height:min(730px,calc(100dvh - 120px));background:#fff;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-sheet);box-shadow:0 18px 70px #24325430;display:flex;flex-direction:column;overflow:hidden;color:var(--jj-gray-900);font-size:14px}.jjbot-panel[hidden]{display:none}.jjbot-panel header{display:flex;gap:10px;align-items:center;padding:16px;border-bottom:1px solid var(--jj-gray-150)}.jjbot-panel header>div{flex:1;display:grid;gap:4px}.jjbot-panel header strong{font-size:18px}.jjbot-panel small{font-size:12px;color:var(--jj-gray-600)}.jjbot-panel button{font:inherit;min-height:40px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;padding:8px 12px;cursor:pointer;color:inherit}.jjbot-panel button:disabled{opacity:.5;cursor:default}.jjbot-panel .primary{background:var(--jj-primary);color:#fff;border-color:var(--jj-primary)}.jjbot-panel svg{width:18px;height:18px;vertical-align:middle}.jjbot-tools{display:flex;align-items:center;gap:8px;padding:10px 14px}.jjbot-tools a{margin-left:auto;font-size:12px}.jjbot-search{display:flex;gap:6px;padding:0 14px 10px}.jjbot-search input{min-width:0;flex:1;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:10px;font:inherit}.jjbot-body{flex:1;min-height:0;overflow:auto;padding:16px;background:var(--jj-gray-50);overscroll-behavior:contain}.jjbot-body h3{font-size:14px;margin:0 0 16px}.jjbot-message{margin:0 0 18px;max-width:96%}.jjbot-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;padding:12px 14px;background:#fff;border:1px solid var(--jj-gray-200);border-radius:4px 16px 16px;line-height:1.65}.jjbot-message.person{margin-left:20px}.jjbot-message.person p{background:var(--jj-primary-50);border-color:var(--jj-primary-100);border-radius:16px 4px 16px 16px}.jjbot-action{display:grid;gap:10px;border:1px solid var(--jj-primary-200);border-radius:var(--jj-radius-card);background:#fff;padding:12px;margin:8px 0;overflow-wrap:anywhere}.jjbot-action strong{font-size:12px;color:var(--jj-success-fg)}.jjbot-thread{display:grid;text-align:left;width:100%;gap:6px;margin-bottom:8px}.jjbot-thread strong{white-space:normal;overflow-wrap:anywhere}.jjbot-empty{line-height:1.9;color:var(--jj-gray-600);text-align:center;margin:38px 0}.jjbot-status{margin:0;padding:4px 14px;font-size:12px;color:var(--jj-gray-600);line-height:1.5}.jjbot-compose{padding:10px 14px 14px;border-top:1px solid var(--jj-gray-200)}.jjbot-compose textarea{width:100%;box-sizing:border-box;resize:vertical;max-height:140px;min-height:64px;padding:10px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);font:inherit}.jjbot-compose>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.jjbot-compose label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px}.jjbot-compose input{width:16px;height:16px}.jjbot-paging{display:flex;justify-content:space-between}.daily-activity-board{margin:18px 0;padding:16px;border:1px solid var(--line, var(--jj-gray-200));border-radius:var(--jj-radius-sheet);background:#fff}.daily-activity-board>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-activity-board h3{font-size:18px;margin:0}.daily-activity-board header p{font-size:13px;color:var(--jj-gray-600);margin:6px 0 16px}.daily-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--jj-gray-150)}.daily-row strong,.daily-row small{display:block}.daily-row small{font-size:12px;color:var(--jj-gray-600);margin-top:5px}.daily-checks{display:flex;flex-wrap:wrap;gap:8px}.daily-checks button{min-height:44px;background:var(--jj-gray-50);border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:8px 14px;font:inherit;cursor:pointer}.daily-checks button[aria-pressed=true]{background:var(--jj-primary-50);color:var(--jj-primary);border-color:var(--jj-primary-300)}.daily-note{display:flex;gap:8px;margin-top:10px}.daily-note input{min-width:0;flex:1}.daily-note button{min-width:70px}.daily-status{font-size:12px;margin:6px 0 0;color:var(--jj-gray-600)}@media(max-width:600px){.jjbot-launch{right:12px;bottom:max(16px,env(safe-area-inset-bottom))}.jjbot-panel{inset:10px 8px max(78px,env(safe-area-inset-bottom));width:auto;height:auto;max-height:none;border-radius:var(--jj-radius-sheet)}.jjbot-panel button{min-height:44px}.daily-row{grid-template-columns:1fr}.daily-activity-board{padding:12px}}.jjbot-tools a{padding:8px 10px;border-radius:var(--jj-radius-control);background:var(--jj-primary-50);color:var(--jj-primary);text-decoration:none}.daily-row a{font-size:12px;color:var(--jj-primary);text-decoration:none;display:inline-block;padding:6px 0}.jjbot-room-title{display:flex;gap:8px;align-items:center;margin-bottom:14px}.jjbot-room-title input{min-width:0;flex:1;font:inherit;font-weight:700;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:9px}.jjbot-warning{color:var(--jj-warning-fg);background:var(--jj-warning-bg);border-radius:var(--jj-radius-control);padding:10px}#jj-feedback{position:relative;z-index:1801;font-family:inherit}.jj-feedback-launch{position:fixed;right:24px;bottom:max(82px,calc(env(safe-area-inset-bottom) + 58px));border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;color:var(--jj-gray-600);font:inherit;font-size:12px;display:flex;align-items:center;gap:5px;padding:8px 12px}.jj-feedback-launch svg{width:16px;height:16px}#jj-feedback-panel{bottom:130px}.jj-feedback-form{padding:16px;display:grid;gap:10px}.jj-feedback-form label{display:grid;gap:5px;font-size:13px}.jj-feedback-form input,.jj-feedback-form textarea,.jj-feedback-tools input,.jj-feedback-list textarea,.jj-feedback-list select{font:inherit;min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:10px}.jj-feedback-tools{display:flex;gap:6px;padding:0 16px}.jj-feedback-tools input{flex:1}.jj-feedback-tools button{white-space:nowrap}.jj-feedback-status{margin:8px 16px;color:var(--jj-gray-600)}.jj-feedback-list{flex:1;min-height:0;overflow:auto;padding:0 16px 16px}.jj-feedback-list article{border-top:1px solid var(--jj-gray-150);padding:14px 0}.jj-feedback-list article>div{display:flex;justify-content:space-between;gap:8px}.jj-feedback-list p{white-space:pre-wrap;overflow-wrap:anywhere}.jj-feedback-list form{display:grid;gap:8px}.jj-feedback-reply{background:var(--jj-gray-100);padding:10px;border-radius:var(--jj-radius-control)}@media(max-width:600px){.jj-feedback-launch{right:14px;min-height:44px;bottom:80px}#jj-feedback-panel{inset:8px 8px auto;height:calc(100dvh - 16px);width:auto}}.jjbot-tools{flex-wrap:wrap}.jj-family-panel{z-index:1900;width:min(540px,calc(100vw - 32px));bottom:30px;height:min(850px,calc(100dvh - 60px))}.jj-family-content{overflow:auto;padding:0 18px 18px;flex:1;min-height:0}.jj-family-form,.jj-contact-form{display:grid;gap:12px}.jj-family-form>label,.jj-contact-form>label{display:grid;gap:6px}.jj-family-content input:not([type=checkbox]),.jj-family-content textarea,.jj-family-content select{font:inherit;box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control)}.jj-family-students{max-height:165px;overflow:auto;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:6px}.jj-family-students>div{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px}.jj-family-channels{display:flex;gap:14px}.jj-family-status{margin:12px 18px;color:var(--jj-gray-600);font-size:13px}.jj-family-preview{margin-top:18px;border-top:1px solid var(--jj-gray-200);padding-top:12px}.jj-family-preview:empty{display:none}.jj-family-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.jj-family-content details{margin-top:18px}.jj-family-content details article{border-bottom:1px solid var(--jj-gray-200);padding:12px 0}.jj-contact-form{background:var(--jj-gray-100);border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);padding:14px;margin-bottom:12px}@media(max-width:600px){.jj-family-panel{inset:8px 8px auto;width:auto;height:calc(100dvh - 16px)}.jjbot-panel button{min-height:44px}}.jj-family-panel input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:0;accent-color:var(--jj-primary)}.jj-family-students label,.jj-family-channels label,.jj-family-preview>label{display:flex;align-items:center;gap:8px;min-height:44px}.jj-family-students label{flex-wrap:wrap;font-size:14px}.jj-family-students small{font-size:11px}.jj-family-channels{flex-wrap:wrap}.jj-family-preview>label{margin-bottom:10px;font-size:13px}.jj-family-panel{--jj-help-bg: #f5f7fc;--jj-help-line: #e2e7f1;--jj-help-ink: #18263f;--jj-help-muted: #53637b;--jj-help-accent: #3653ec}body.has-utility-dock{--jj-dock-height: 64px;padding-bottom:var(--jj-dock-height)}#jj-utility-dock{position:fixed;inset:auto 0 0;z-index:1800;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));box-sizing:border-box;border-top:1px solid var(--jj-gray-200);background:#fff}.jj-utility-status{min-width:0;flex:1}.jj-utility-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}#jj-utility-dock .jjbot-launch,#jj-utility-dock .jj-feedback-launch{position:static;margin:0;min-height:44px;box-shadow:none;white-space:nowrap}#jj-utility-dock .jjbot-launch{padding:2px 14px 2px 4px;border-radius:var(--jj-radius-card);background:var(--jj-gray-50);border-color:var(--jj-primary-100);font-size:15px}#jj-utility-dock .jjbot-launch img{width:36px;height:36px;border-radius:var(--jj-radius-control)}#jj-utility-dock .jj-feedback-launch{padding:8px 10px;border-color:transparent;background:transparent;font-size:12px}#jj-utility-dock .timetable-cloud-status{position:static;inset:auto;max-width:none;border-radius:0;padding:0;box-shadow:none;font-size:11px;background:transparent;line-height:1.5}#jj-utility-dock .timetable-cloud-status[data-error=true]{padding:5px 8px;border-radius:var(--jj-radius-control)}#jj-utility-dock .jjbot-panel{bottom:calc(var(--jj-dock-height) + 12px);max-height:calc(100dvh - var(--jj-dock-height) - 24px)}#jj-utility-dock #jj-feedback-panel{bottom:calc(var(--jj-dock-height) + 12px)}@media(max-width:800px){body.has-utility-dock .planbar{bottom:var(--jj-dock-height)}body.has-utility-dock:has(.planbar){padding-bottom:calc(var(--jj-dock-height) + 64px)}}@media(max-width:600px){#jj-utility-dock{flex-wrap:wrap;gap:2px 8px;padding:5px 12px calc(5px + env(safe-area-inset-bottom))}.jj-utility-status:not(:empty){flex-basis:100%}.jj-utility-actions{gap:8px}#jj-utility-dock .jjbot-panel{inset:8px 8px auto;height:calc(100dvh - var(--jj-dock-height) - 16px)}}@media print{#jj-utility-dock{display:none}body.has-utility-dock{padding-bottom:0}}.jjbot-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 14px;background:var(--jj-gray-50);flex-shrink:0}.jjbot-channels button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:1px solid transparent;background:transparent;font-weight:700}.jjbot-channels img{width:32px;height:32px;object-fit:contain;border-radius:var(--jj-radius-control)}.jjbot-channels button[aria-pressed=true]{background:#fff;border-color:var(--jj-primary-200);color:var(--jj-primary);box-shadow:0 2px 6px #24325409}.jjbot-panel[data-channel=shared] .jjbot-channels button[aria-pressed=true]{border-color:#abdbcc;color:var(--jj-success-fg)}.jjbot-panel[data-channel=shared] .jjbot-compose .primary{background:var(--jj-success-fg);border-color:var(--jj-success-fg)}.jjbot-navigation{display:flex;gap:5px;align-items:center;padding:6px 14px;border-bottom:1px solid var(--jj-gray-150);flex-shrink:0}.jjbot-navigation button{min-height:36px;font-size:12px;padding:5px 10px}.jjbot-navigation [data-bot-sound]{margin-left:auto}.jjbot-navigation [aria-pressed=true]{color:var(--jj-primary);background:var(--jj-primary-50)}.jjbot-channel-intro{display:flex;gap:12px;align-items:center;padding:10px 0 18px}.jjbot-channel-intro img{width:62px;height:62px;border-radius:var(--jj-radius-sheet);object-fit:contain}.jjbot-channel-intro strong{font-size:15px}.jjbot-channel-intro p{font-size:12px;color:var(--jj-gray-600);line-height:1.6;margin:5px 0 0}.jjbot-room-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px;font-size:12px;color:var(--jj-gray-600)}.jjbot-room-meta button{display:inline-flex;align-items:center;gap:5px;min-height:38px;color:var(--jj-success-fg)}.jjbot-invite{max-width:620px;margin-inline:auto;text-align:left}.jjbot-invite>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.jjbot-invite>header img{width:40px;height:40px;object-fit:contain}.jjbot-invite h3{margin:0;font-size:17px}.jjbot-invite p{color:var(--jj-gray-600);font-size:12px;line-height:1.6}.jjbot-invite>input{width:100%;box-sizing:border-box;min-height:42px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:10px 12px;font:inherit;margin:12px 0}.jjbot-member-list{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;overflow:hidden}.jjbot-invite .jjbot-member-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;min-height:64px;padding:10px 12px;margin:0;border-bottom:1px solid var(--jj-gray-150);cursor:pointer;box-sizing:border-box;text-align:left}.jjbot-member-row:last-of-type{border-bottom:0}.jjbot-member-row:hover{background:var(--jj-gray-50)}.jjbot-member-row:has(input:checked:not(:disabled)){background:var(--jj-success-bg)}.jjbot-member-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--jj-gray-100);color:var(--jj-gray-700);font-size:14px}.jjbot-member-identity{flex:1;min-width:0}.jjbot-member-identity strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.jjbot-member-identity small{display:block;color:var(--jj-gray-600);font-size:12px;font-weight:400;line-height:1.4;margin-top:2px}.jjbot-member-joined{flex:none;font-size:11px;color:var(--jj-gray-600);font-weight:400}.jjbot-invite .jjbot-member-row input{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px;accent-color:var(--jj-success-fg)}.jjbot-invite form>footer{position:sticky;bottom:-16px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--jj-gray-50);padding:12px 0;margin-top:6px}.jjbot-invite footer span{color:var(--jj-gray-600);font-size:12px}.jjbot-invite footer button{min-height:44px;padding:8px 16px;flex:none}.jjbot-invite [hidden]{display:none!important}.jjbot-invite [data-member-empty]{padding:24px 12px;text-align:center}.jjbot-panel .jjbot-incoming{background:var(--jj-success-bg);color:var(--jj-success-fg);border:0;padding:9px 14px;text-align:left;border-radius:0;font-size:12px;flex-shrink:0}.jjbot-compose[hidden],.jjbot-compose label[hidden],.jjbot-incoming[hidden]{display:none}.jjbot-body{min-height:90px}@media(max-width:600px){.jjbot-channels{padding:8px}.jjbot-channels button{font-size:12px;padding:5px}.jjbot-tools{gap:4px}.jjbot-channel-intro img{width:48px;height:48px}}.jjbot-record-detail h3{font-size:20px;margin:10px 0}.jjbot-record-detail>p{color:var(--jj-gray-600);font-size:13px}.jjbot-record-summary{background:var(--jj-primary-50);border:1px solid var(--jj-primary-100);padding:16px;border-radius:var(--jj-radius-card);margin:16px 0}.jjbot-record-summary p{white-space:pre-wrap;line-height:1.7}.jjbot-record-detail dl>div{padding:12px 0;border-bottom:1px solid var(--jj-gray-150)}.jjbot-record-detail dt{font-size:12px;color:var(--jj-gray-600)}.jjbot-record-detail dd{margin:6px 0 0;line-height:1.7;white-space:pre-wrap}.jjbot-record-detail>button{margin-top:16px;min-height:44px;width:100%}.jj-delivery{display:grid;gap:14px;padding:4px}.jj-delivery h3,.jj-delivery h4,.jj-delivery p{margin:0}.jj-delivery-heading{display:flex;align-items:center;gap:12px}.jj-delivery-heading img{width:52px;height:52px;border-radius:var(--jj-radius-card)}.jj-delivery label{display:grid;gap:8px}.jj-delivery select,.jj-delivery textarea,.jj-delivery input{width:100%;box-sizing:border-box}.jj-delivery-body{white-space:pre-wrap;line-height:1.7;background:var(--jj-primary-50);padding:16px;border-radius:var(--jj-radius-card)}.jj-delivery .jjbot-thread{text-align:left;display:grid;gap:8px}.jj-delivery .jjbot-thread>span{font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jj-receipt{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--jj-gray-150);padding:12px 0}.jj-receipt small{display:block;color:var(--jj-gray-600);font-size:12px;margin-top:5px}.jj-receipt .confirmed{color:var(--jj-success-fg)}[data-hw-reason-label]{grid-column:1/-1;display:grid;gap:6px}[data-hw-reason-label][hidden],.jjbot-tools[hidden],.jjbot-search[hidden]{display:none}#jjbot-panel{border-radius:var(--jj-radius-sheet);font-size:14px}#jjbot-panel>header{flex:0 0 auto;padding:8px 12px;gap:8px;cursor:move;touch-action:none}#jjbot-panel>header>img{width:32px;height:32px}#jjbot-panel>header strong{font-size:17px;white-space:nowrap}#jjbot-panel button{font-size:13px}#jjbot-panel svg{width:20px;height:20px;flex-shrink:0}#jjbot-panel>header button{margin:0;width:36px;min-height:36px;padding:7px;border:0;background:transparent}#jjbot-panel .jjbot-header-space{flex:1}#jjbot-panel>header .jjbot-guide-link{--jjbot-guide-spark: var(--jj-primary);position:relative;display:inline-flex;align-items:center;gap:5px;margin-left:2px;min-height:30px;padding:0 11px 0 9px;border:1px solid var(--jj-primary-100);border-radius:var(--jj-radius-pill);background:linear-gradient(180deg,#fff,var(--jj-primary-50));color:var(--jj-primary);font-size:12.5px;font-weight:700;letter-spacing:-.01em;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px #23356314,inset 0 1px #fff;transition:border-color .18s,box-shadow .18s,transform .18s,color .18s}#jjbot-panel>header .jjbot-guide-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#jjbot-panel>header .jjbot-guide-link:hover{border-color:var(--jj-primary-300);box-shadow:0 4px 12px -5px #3155e766,inset 0 1px #fff;transform:translateY(-1px)}#jjbot-panel>header .jjbot-guide-link:active{transform:translateY(0);box-shadow:inset 0 1px 2px #23356320}#jjbot-panel>header .jjbot-guide-link:focus-visible{outline:2px solid var(--jj-primary);outline-offset:2px}#jjbot-panel>header .jjbot-guide-glow{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}#jjbot-panel>header .jjbot-guide-glow:before{content:"";position:absolute;inset:-2px -30%;background:linear-gradient(105deg,transparent 35%,#ffffffcc 50%,transparent 65%);transform:translate(-130%)}#jjbot-panel>header .jjbot-guide-link:hover .jjbot-guide-glow:before{animation:jjbot-guide-sheen .75s cubic-bezier(.2,.8,.2,1) both}@keyframes jjbot-guide-sheen{0%{transform:translate(-130%)}to{transform:translate(130%)}}#jjbot-panel>header .jjbot-guide-new{position:absolute;top:-2px;right:-1px;width:9px;height:9px;border-radius:50%;background:var(--jj-primary);box-shadow:0 0 0 2px #fff}#jjbot-panel>header .jjbot-guide-new:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--jj-primary);opacity:0;animation:jjbot-guide-ring 2.6s ease-out .8s infinite}@keyframes jjbot-guide-ring{0%{transform:scale(.6);opacity:.7}60%,to{transform:scale(1.7);opacity:0}}#jjbot-panel>header .jjbot-guide-sparkle{position:absolute;width:56px;height:56px;pointer-events:none;z-index:1}#jjbot-panel>header .jjbot-guide-link.is-new{border-color:var(--jj-primary-200)}@media(prefers-reduced-motion:reduce){#jjbot-panel>header .jjbot-guide-link,#jjbot-panel>header .jjbot-guide-glow:before,#jjbot-panel>header .jjbot-guide-new:after{animation:none!important;transition:none}#jjbot-panel>header .jjbot-guide-link:hover{transform:none}}@media(max-width:600px){#jjbot-panel>header .jjbot-guide-link{min-height:34px;padding:0 12px 0 10px;font-size:13px}}@media(max-width:359px){#jjbot-panel>header .jjbot-guide-link{padding:0;width:34px;justify-content:center}#jjbot-panel>header .jjbot-guide-label{display:none}}:root[data-theme=dark] #jjbot-panel>header .jjbot-guide-link{--jjbot-guide-spark: var(--jj-primary-strong);border-color:var(--jj-primary-200);background:linear-gradient(180deg,var(--jj-surface-hover),var(--jj-primary-50));color:var(--jj-primary-strong);box-shadow:0 1px 2px #0006}:root[data-theme=dark] #jjbot-panel>header .jjbot-guide-link:hover{border-color:var(--jj-primary-300);box-shadow:0 4px 14px -5px #5677ff80}:root[data-theme=dark] #jjbot-panel>header .jjbot-guide-glow:before{background:linear-gradient(105deg,transparent 35%,#c9d4ff66 50%,transparent 65%)}:root[data-theme=dark] #jjbot-panel>header .jjbot-guide-new{background:var(--jj-primary-strong);box-shadow:0 0 0 2px var(--jj-surface)}:root[data-theme=dark] #jjbot-panel>header .jjbot-guide-new:after{border-color:var(--jj-primary-strong)}#jjbot-panel .jjbot-channels{flex:0 0 auto;padding:0 12px;gap:16px;background:#fff;border-bottom:1px solid var(--jj-gray-150)}#jjbot-panel .jjbot-channels button{min-height:44px;padding:6px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;gap:6px;font-size:13px}#jjbot-panel .jjbot-channels button[aria-pressed=true]{border-bottom-color:var(--jj-primary);color:var(--jj-primary)}#jjbot-panel .jjbot-channels img{width:24px;height:24px}#jjbot-panel .jjbot-commandbar{display:flex;align-items:center;flex:0 0 auto;gap:2px;padding:3px 10px;border-bottom:1px solid var(--jj-gray-150);background:#fff}#jjbot-panel .jjbot-commandbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;min-width:34px;border:0;padding:6px;background:transparent;border-radius:var(--jj-radius-control)}#jjbot-panel .jjbot-commandbar button:hover,#jjbot-panel>header button:hover{background:var(--jj-primary-50)}#jjbot-panel .jjbot-menu{position:absolute;z-index:5;top:140px;right:10px;width:min(280px,calc(100% - 20px));padding:8px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;box-shadow:0 12px 36px #1f335326;max-height:calc(100% - 170px);overflow-y:auto}#jjbot-panel .jjbot-menu .jjbot-tools{display:grid;padding:0;gap:2px;border:0}#jjbot-panel .jjbot-menu button,#jjbot-panel .jjbot-menu a{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:8px 10px;border:0;border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-800);text-align:left;text-decoration:none}#jjbot-panel .jjbot-menu button:hover,#jjbot-panel .jjbot-menu a:hover{background:var(--jj-gray-100)}#jjbot-panel .jjbot-menu img{width:28px;height:28px;object-fit:contain}#jjbot-panel .jjbot-menu small{display:block;padding:8px 10px;color:var(--jj-gray-600);font-size:11px}#jjbot-panel .jjbot-search{position:absolute;top:140px;left:10px;right:10px;z-index:4;background:#fff;box-shadow:0 8px 24px #2434511a;border-radius:var(--jj-radius-card);padding:8px}#jjbot-panel .jjbot-body{flex:1 1 0;min-height:0;padding:12px 16px;overscroll-behavior:contain}#jjbot-panel .jjbot-message{margin-bottom:16px}#jjbot-panel .jjbot-message p{padding:10px 12px;line-height:1.6}#jjbot-panel .jjbot-room-title{gap:6px;margin-bottom:6px}#jjbot-panel .jjbot-room-title input{padding:6px 8px;min-height:32px;font-size:13px}#jjbot-panel .jjbot-room-title button{min-height:32px;padding:5px 8px}#jjbot-panel .jjbot-caption{font-size:11px;margin:6px 0 12px}#jjbot-panel .jjbot-status:empty{display:none}#jjbot-panel .jjbot-status{max-height:40px;overflow:auto;flex-shrink:0}#jjbot-panel .jjbot-compose{display:flex;align-items:flex-end;gap:8px;flex:0 0 auto;padding:10px 12px 12px;background:#fff}#jjbot-panel .jjbot-compose textarea{flex:1;width:0;min-height:44px;height:44px;max-height:100px;resize:none;padding:11px 12px;line-height:20px;font-size:14px;background:var(--jj-gray-50);border-radius:var(--jj-radius-card)}#jjbot-panel .jjbot-compose>div{margin:0;flex:0 0 auto}#jjbot-panel .jjbot-compose button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:var(--jj-radius-card)}#jjbot-panel .jjbot-resize{position:absolute;bottom:0;width:16px;height:16px;z-index:8;touch-action:none}#jjbot-panel .jjbot-resize[data-bot-resize=left]{left:0;cursor:nesw-resize;border-left:3px solid var(--jj-gray-300);border-bottom:3px solid var(--jj-gray-300);border-radius:0 0 0 14px}#jjbot-panel .jjbot-resize[data-bot-resize=right]{right:0;cursor:nwse-resize;border-right:3px solid var(--jj-gray-300);border-bottom:3px solid var(--jj-gray-300);border-radius:0 0 14px}#jjbot-panel [hidden]{display:none!important}@media(max-width:600px){#jjbot-panel>header{cursor:default;padding:4px 10px}#jjbot-panel>header button,#jjbot-panel .jjbot-commandbar button{min-height:44px;min-width:44px}#jjbot-panel .jjbot-menu,#jjbot-panel .jjbot-search{top:148px}#jjbot-panel .jjbot-resize{display:none}#jjbot-panel .jjbot-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}}#jjbot-panel .jjbot-menu button,#jjbot-panel .jjbot-menu a{justify-content:flex-start}#jjbot-panel[data-channel=ai] .jjbot-compose button{background:var(--jj-primary);border-color:var(--jj-primary);color:#fff}#jjbot-panel[data-channel=shared] .jjbot-compose button{background:#087e70;border-color:#087e70;color:#fff}.jj-family-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jj-family-select{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--jj-gray-600)}.jj-family-select span{flex:1 1 100%}.jj-family-templates{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);padding:12px;margin:12px 0;background:#fff}.jj-family-templates summary{display:flex;gap:8px;align-items:center;cursor:pointer;font-weight:600}.jj-family-templates summary svg{width:20px;height:20px}.jj-family-templates article{padding:12px 0;border-bottom:1px solid var(--jj-gray-150)}.jj-family-templates article p{white-space:pre-wrap;max-height:90px;overflow:auto;color:var(--jj-gray-600);font-size:13px}.jj-family-templates article div{display:flex;gap:4px;flex-wrap:wrap}.jj-template-form{display:grid;gap:10px;padding-top:12px}.jj-template-form label{display:grid;gap:6px}.jj-template-form textarea{min-height:120px}.jj-recipient-list{max-height:180px;overflow:auto;font-size:13px;line-height:1.8}.jj-family-students label{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.jj-family-students label small{color:var(--jj-gray-600)}#jjbot-panel{container-type:inline-size}#jjbot-panel .jjbot-workspace{flex:1;display:flex;min-height:0;overflow:hidden}#jjbot-panel .jjbot-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}#jjbot-panel .jjbot-sidebar{display:none}#jjbot-panel .jjbot-body{flex:1;min-height:0;padding:12px 16px}#jjbot-panel .jjbot-list-heading,#jjbot-panel .jjbot-sidebar-heading{display:flex;align-items:center;gap:8px;padding:12px 4px 16px;font-size:14px}#jjbot-panel .jjbot-list-heading span,#jjbot-panel .jjbot-sidebar-heading span{color:var(--jj-gray-600);font-size:12px}#jjbot-panel .jjbot-thread{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;min-height:68px;margin:0;padding:12px 8px;border:0;border-bottom:1px solid var(--jj-gray-150);border-radius:0;text-align:left;background:transparent;box-sizing:border-box}#jjbot-panel .jjbot-thread>img{width:36px;height:36px;border-radius:var(--jj-radius-card);flex-shrink:0}#jjbot-panel .jjbot-thread>span{flex:1;min-width:0}#jjbot-panel .jjbot-thread strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#jjbot-panel .jjbot-thread small{display:block;margin-top:5px;font-size:12px;color:var(--jj-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#jjbot-panel .jjbot-thread time{align-self:flex-start;margin-top:3px;font-size:10px;white-space:nowrap;color:var(--jj-gray-500)}#jjbot-panel .jjbot-thread:hover{background:var(--jj-gray-100)}#jjbot-panel .jjbot-thread[aria-current=true]{background:var(--jj-primary-50);border-radius:var(--jj-radius-control);border-color:transparent}#jjbot-panel .jjbot-room-meta{padding:4px 0 12px;align-items:center;gap:8px;font-size:12px}#jjbot-panel .jjbot-room-meta span{flex:1}#jjbot-panel .jjbot-message{max-width:720px}#jjbot-panel .jjbot-message.person{margin-left:auto}#jjbot-panel .jjbot-message.bot{margin-right:auto}#jjbot-panel .jjbot-processing{display:block;margin:6px 0;color:var(--jj-gray-500);font-size:11px}#jjbot-panel .jjbot-processing button{margin-left:8px;font-size:12px;padding:4px 8px}#jjbot-panel .jjbot-privacy{display:block;color:var(--jj-gray-600);font-size:11px;margin-top:6px}#jjbot-panel .jjbot-empty{margin:40px auto;max-width:340px;line-height:1.8}#jjbot-panel .jjbot-compose[hidden]{display:none}@container (min-width:760px){#jjbot-panel[data-split=true] .jjbot-sidebar{display:block;flex:0 0 272px;min-width:0;overflow-y:auto;padding:8px 12px;background:#fff;border-right:1px solid var(--jj-gray-200)}#jjbot-panel[data-split=true] .jjbot-body{padding:16px 24px}#jjbot-panel .jjbot-room-title{padding-bottom:8px;border-bottom:1px solid var(--jj-gray-200)}#jjbot-panel .jjbot-room-title input{font-size:16px}#jjbot-panel .jjbot-compose{padding:12px 20px}}#jjbot-panel .jjbot-room-heading{position:sticky;top:-16px;z-index:2;background:var(--jj-gray-50);padding:8px 0 0;margin:-8px 0 12px}#jjbot-panel .jjbot-room-heading .jjbot-caption{margin:6px 0 0;padding-bottom:8px}#jjbot-panel .jjbot-message p{width:fit-content;max-width:100%;box-sizing:border-box}#jjbot-panel .jjbot-message.person p{margin-left:auto}.jj-family-channels label,.jj-family-preview>label{flex-direction:row;text-align:left}body.has-utility-dock:has(.planbar){--jj-tabs-width: clamp(180px, 30vw, 460px);padding-bottom:var(--jj-dock-height)}body.has-utility-dock .planbar{position:fixed;z-index:1801;left:16px;right:auto;bottom:0;width:var(--jj-tabs-width);height:var(--jj-dock-height);margin:0;padding:0 0 env(safe-area-inset-bottom);border:0;background:transparent;box-sizing:border-box}body.has-utility-dock .plan-tabs{width:100%;align-items:center}body.has-utility-dock .plan-tabs button{min-height:40px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body:has(.planbar) #jj-utility-dock{padding-left:calc(var(--jj-tabs-width) + 28px);flex-wrap:nowrap;min-height:56px;gap:12px;padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}body:has(.planbar) .jj-utility-navigation{flex:none}body:has(.planbar) .jj-utility-status{flex:1}body:has(.planbar) .timetable-cloud-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){body:has(.planbar) #jj-utility-dock{gap:6px;padding-right:8px}body:has(.planbar) .jj-utility-actions{gap:4px}body:has(.planbar) .jj-feedback-launch{font-size:0!important;padding:8px!important}body:has(.planbar) .jj-feedback-launch svg{width:20px;height:20px}}@media(max-width:700px){body.has-utility-dock:has(.planbar){--jj-tabs-width: calc(100vw - 206px) }body.has-utility-dock .planbar{left:6px}body:has(.planbar) #jj-utility-dock{padding-left:calc(var(--jj-tabs-width) + 12px);gap:4px}body:has(.planbar) .jj-site-navigation{gap:2px}body:has(.planbar) .jj-site-navigation button{justify-content:center;width:28px;min-width:28px;padding:0}body:has(.planbar) .jj-site-navigation span{display:none}body:has(.planbar) .jj-utility-status{flex-basis:auto;min-width:0}body:has(.planbar) #jj-utility-dock .jjbot-launch{font-size:0;padding:3px}body:has(.planbar) #jj-utility-dock .jjbot-launch img{width:32px;height:32px}}@media(max-width:700px){body:has(.planbar) #jj-utility-dock .timetable-cloud-status{font-size:0;width:16px;overflow:visible;cursor:help}body:has(.planbar) .timetable-cloud-status:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--jj-success-fg);margin:auto}body:has(.planbar) .timetable-cloud-status[data-error=true]:before{background:var(--jj-danger)}body:has(.planbar) .timetable-cloud-status:is(:hover,:focus):after{content:attr(title);position:absolute;right:12px;bottom:calc(100% + 8px);max-width:calc(100vw - 24px);white-space:normal;font-size:12px;padding:8px 12px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-800);box-shadow:0 4px 16px #23355114}}@media print{body.has-utility-dock:has(.planbar){padding-bottom:0}body.has-utility-dock .planbar{display:none}}@media(max-width:600px){#jj-utility-dock{flex-wrap:nowrap}#jj-utility-dock .jj-utility-status{flex-basis:auto}#jj-utility-dock .jj-feedback-launch{font-size:0;padding:8px}#jj-utility-dock .jjbot-launch{font-size:0;padding:3px}#jj-utility-dock .jj-feedback-launch svg{width:20px;height:20px}}.jjbot-action-kind{display:flex;align-items:center;gap:6px;color:var(--jj-gray-700);font-size:12px;font-weight:700}.jjbot-action-kind svg,.jjbot-action strong svg{width:16px;height:16px}.jjbot-action strong{display:flex;align-items:center;gap:4px;font-size:12px}.jjbot-action>button{width:auto!important;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:7px 10px!important;min-height:40px!important;font-size:13px!important}.jjbot-action[data-record-type=sms-request]>span:not(.jjbot-action-kind){white-space:pre-line}.jjbot-action[data-record-type=homework]{border-left:3px solid var(--jj-primary)}.jjbot-action[data-record-type=stay]{border-left:3px solid var(--jj-warning)}.jjbot-work-card{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0}.jjbot-work-card>span{width:100%;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--jj-gray-700)}.jjbot-work-card button{display:flex;align-items:center;gap:6px;font-size:13px;min-height:44px}.jjbot-work-card svg{width:18px;height:18px}.jjbot-record-detail>button{display:flex;align-items:center;justify-content:center;gap:7px}.jjbot-record-detail>button svg{width:18px;height:18px}.jjbot-panel[data-view=management] .jjbot-main{min-height:0}.jjbot-panel[data-view=management] .jjbot-body{flex:1}.jjbot-panel[data-view=management] .jjbot-status{display:none}#jjbot-panel .jjbot-message{max-width:min(720px,92%);margin-right:auto;margin-left:0}#jjbot-panel .jjbot-message.person:not(.mine){margin-left:0;margin-right:auto}#jjbot-panel .jjbot-message.person:not(.mine)>p{margin-left:0;background:#fff;border-radius:5px 18px 18px}#jjbot-panel .jjbot-message.mine{margin-left:auto;margin-right:0}#jjbot-panel .jjbot-message.mine>p{background:var(--jj-primary-50);border-color:var(--jj-primary-200);border-radius:18px 5px 18px 18px}#jjbot-panel .jjbot-message.deleted>p{background:transparent;color:var(--jj-gray-600);font-size:12px;border-style:dashed}#jjbot-panel .staff-work .sw-campus-form label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0}#jjbot-panel .staff-work .sw-campus-form input{width:18px;height:18px;margin:0}#jjbot-panel .jjbot-compose button.jjbot-send{display:flex;align-items:center;gap:6px;width:auto;padding:10px 14px;font-weight:600}#jjbot-panel .jjbot-compose button.jjbot-send svg{width:18px;height:18px}.jjbot-apply-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:8px 0 4px;padding:10px 12px;border:0;border-radius:var(--jj-radius-card);background:var(--jj-primary);color:#fff;font-weight:600}.jjbot-apply-all svg{width:16px;height:16px}@media(max-width:420px){#jjbot-panel .jjbot-compose button.jjbot-send span{display:none}}.jj-notice-stack{position:fixed;right:18px;bottom:84px;z-index:1850;display:flex;flex-direction:column;align-items:flex-end;width:min(360px,calc(100vw - 24px));pointer-events:none}.jj-notice-card{display:flex;align-items:flex-start;gap:10px;width:100%;box-sizing:border-box;margin-top:10px;padding:12px 12px 12px 14px;border:1px solid rgb(54 84 245 / .14);border-radius:var(--jj-radius-sheet);background:#fffffff5;box-shadow:0 14px 36px #14264429,0 2px 6px #1426440f;backdrop-filter:blur(8px);pointer-events:auto;cursor:pointer;overflow:hidden;animation:notice-in .42s cubic-bezier(.2,.9,.25,1.15);transition:height .36s ease,margin .36s ease,opacity .3s ease,transform .36s ease}.jj-notice-card.leaving{opacity:0;transform:translate(24px) scale(.97);padding-top:0;padding-bottom:0}@keyframes notice-in{0%{opacity:0;transform:translateY(18px) scale(.96)}}.jj-notice-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:var(--jj-radius-card);background:linear-gradient(135deg,var(--jj-primary),var(--jj-primary));color:#fff}.jj-notice-icon svg{width:18px;height:18px}.jj-notice-card[class*=jj-cat-] .jj-notice-icon{background:var(--cat-bg);color:var(--cat)}.jj-notice-card[class*=jj-cat-] .jj-notice-icon svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.jj-notice-card>div{flex:1;min-width:0}.jj-notice-card strong{display:block;font-size:14px;color:var(--jj-gray-900)}.jj-notice-card p{margin:2px 0 0;color:var(--jj-gray-700);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.jj-notice-card>button{flex:none;width:26px;height:26px;padding:0;border:0;border-radius:var(--jj-radius-control);background:transparent;color:var(--jj-gray-500)}.jj-notice-card>button:hover{background:var(--jj-gray-100)}.jj-notice-card>button svg{width:15px;height:15px}@media(prefers-reduced-motion:reduce){.jj-notice-card{animation:none;transition:none}}.jjbot-quick{display:grid;justify-items:center;gap:6px;margin:4px auto 0;text-align:center}.jjbot-quick button{border-radius:var(--jj-radius-pill);min-height:42px;padding:8px 16px;background:var(--jj-primary-50);border-color:var(--jj-primary-100);color:var(--jj-primary-hover)}.jjbot-quick small{font-size:12px;color:var(--jj-gray-600)}#jjbot-panel .jjbot-avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--jj-radius-card);font-size:13px;font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap;overflow:hidden}#jjbot-panel .jjbot-avatar svg{width:20px;height:20px}#jjbot-panel .jjbot-avatar.is-bot,.jjbot-notification .jjbot-avatar.is-bot{background:var(--jj-primary);color:var(--jj-white)}.jjbot-avatar.is-bot svg path{fill:currentColor;stroke:none}#jjbot-panel .jjbot-avatar.is-room{background:var(--jj-success-bg);color:var(--jj-success-fg)}#jjbot-panel .jjbot-avatar.is-chat,#jjbot-panel .jjbot-avatar.tone-0{background:var(--jj-primary-100);color:var(--jj-primary-strong)}#jjbot-panel .jjbot-avatar.tone-1{background:var(--jj-success-bg);color:var(--jj-success-fg)}#jjbot-panel .jjbot-avatar.tone-2{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}#jjbot-panel .jjbot-avatar.tone-3{background:var(--jj-gray-150);color:var(--jj-gray-700)}#jjbot-panel .jjbot-avatar.tone-4{background:var(--jj-danger-bg);color:var(--jj-danger-fg)}#jjbot-panel>header .jjbot-me{padding:3px;border-radius:var(--jj-radius-control)}#jjbot-panel>header .jjbot-avatar.is-me{width:30px;height:30px;border-radius:var(--jj-radius-control);font-size:12px}#jjbot-panel .jjbot-avatar.has-photo{background:var(--jj-gray-100)}#jjbot-panel>header .jjbot-avatar.is-header{width:30px;height:30px;border-radius:var(--jj-radius-control)}#jjbot-panel .jjbot-channels .jjbot-avatar.is-tab{width:22px;height:22px;border-radius:var(--jj-radius-xs)}#jjbot-panel .jjbot-channels .jjbot-avatar.is-tab svg{width:14px;height:14px}#jjbot-panel .jjbot-channels button[aria-pressed=false] .jjbot-avatar{background:var(--jj-gray-150);color:var(--jj-gray-600)}.jjbot-notification>.jjbot-avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--jj-radius-card)}.jjbot-notification>.jjbot-avatar svg{width:20px;height:20px}.jjbot-invite>header>.jjbot-avatar{width:40px;height:40px}#jjbot-panel .jjbot-thread small .jjbot-thread-author{margin-right:5px;color:var(--jj-gray-800);font-weight:600}#jjbot-panel .jjbot-thread-starter{display:none}#jjbot-panel .jjbot-day{display:flex;justify-content:center;margin:12px 0 16px;padding:0;border:0;background:none}#jjbot-panel .jjbot-day span{padding:4px 12px;border-radius:var(--jj-radius-pill);background:var(--jj-gray-150);color:var(--jj-gray-700);font-size:12px;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-message{display:flex;align-items:flex-start;gap:8px;max-width:min(760px,100%);margin:0 auto 12px 0}#jjbot-panel .jjbot-message.is-continued{margin-top:-8px}#jjbot-panel .jjbot-avatar-space{flex:none;width:36px}#jjbot-panel .jjbot-message-main{display:grid;justify-items:start;gap:4px;min-width:0;flex:1}#jjbot-panel .jjbot-sender{font-size:13px;font-weight:600;color:var(--jj-gray-800)}#jjbot-panel .jjbot-bubble-row{display:flex;align-items:flex-end;gap:6px;max-width:100%;min-width:0}#jjbot-panel .jjbot-message .jjbot-bubble{margin:0;max-width:min(560px,100%);background:var(--jj-white);border:1px solid var(--jj-gray-200);border-radius:4px 16px 16px}#jjbot-panel .jjbot-message.is-continued .jjbot-bubble{border-radius:16px}#jjbot-panel .jjbot-time{flex:none;padding-bottom:2px;color:var(--jj-gray-500);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}#jjbot-panel .jjbot-bubble-row .jjbot-message-menu{position:static;flex:none;align-self:flex-end;width:28px;height:28px;min-height:28px;padding:4px;border:0;background:transparent;color:var(--jj-gray-500)}#jjbot-panel .jjbot-message.mine{margin:0 0 12px auto;justify-content:flex-end}#jjbot-panel .jjbot-message.mine.is-continued{margin-top:-8px}#jjbot-panel .jjbot-message.mine .jjbot-message-main{justify-items:end}#jjbot-panel .jjbot-message.mine .jjbot-bubble-row{flex-direction:row-reverse}#jjbot-panel .jjbot-message.mine .jjbot-bubble{background:var(--jj-primary-50);border-color:var(--jj-primary-200);border-radius:16px 4px 16px 16px}#jjbot-panel .jjbot-message.mine.is-continued .jjbot-bubble{border-radius:16px}#jjbot-panel .jjbot-message.deleted .jjbot-bubble{background:transparent;color:var(--jj-gray-600);font-size:12px;border-style:dashed}#jjbot-panel .jjbot-message-main>:is(.jjbot-action,.jjbot-work-card,.jjbot-apply-all,.jjbot-important-card,.jjbot-important-row,.jjbot-processing){width:100%;max-width:560px;box-sizing:border-box}#jjbot-panel .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#jjbot-panel .jjbot-leave-rows{display:grid;gap:6px;margin:0;padding:0;list-style:none}#jjbot-panel .jjbot-leave-rows li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 10px;border-radius:var(--jj-radius-control);background:var(--jj-gray-50);font-size:13px;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-leave-rows li>span{flex:1 1 180px;min-width:0}#jjbot-panel .jjbot-leave-rows .jj-badge{flex:none}#jjbot-panel .jjbot-leave-rows li.is-failed{background:var(--jj-danger-bg)}#jjbot-panel .jjbot-leave-rows .jjbot-warning{flex-basis:100%;margin:0;font-size:12px}#jjbot-panel .jjbot-leave-note{color:var(--jj-gray-600);font-size:12px}@media(max-width:480px){#jjbot-panel .jjbot-avatar{width:32px;height:32px;font-size:12px}#jjbot-panel .jjbot-avatar-space{width:32px}#jjbot-panel .jjbot-message .jjbot-bubble{max-width:calc(100% - 4px)}}#jjbot-panel .jjbot-thread>span.jjbot-avatar{flex:none;min-width:0}.jjbot-ctx,.jjbot-pop{position:fixed;top:0;left:0;z-index:2000;box-sizing:border-box;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface);box-shadow:var(--jj-shadow-2);color:var(--jj-text);font-size:14px;line-height:20px;word-break:keep-all;animation:jjbot-pop-in var(--jj-duration-fast, .12s) var(--jj-ease, ease-out)}@keyframes jjbot-pop-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.jjbot-ctx,.jjbot-pop{animation:none}}:is(.jjbot-ctx,.jjbot-pop) svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jjbot-ctx{min-width:208px;max-width:min(288px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;padding:6px;outline:none;-webkit-user-select:none;user-select:none}.jjbot-ctx [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;margin:0;padding:6px 10px;border:0;border-radius:var(--jj-radius-xs);background:transparent;color:var(--jj-gray-800);font:inherit;font-weight:500;justify-content:flex-start;text-align:left;cursor:pointer}.jjbot-ctx [role=menuitem] svg{color:var(--jj-gray-600)}.jjbot-ctx [role=menuitem] small{display:block;color:var(--jj-text-tertiary);font-size:12px;font-weight:400;line-height:16px}.jjbot-ctx [role=menuitem]:is(:hover,:focus){background:var(--jj-gray-100);outline:none}.jjbot-ctx [role=menuitem]:focus-visible{outline:var(--jj-focus-outline, 2px solid var(--jj-primary));outline-offset:-2px}.jjbot-ctx [role=menuitem].is-danger,.jjbot-ctx [role=menuitem].is-danger svg{color:var(--jj-danger-fg)}.jjbot-ctx [role=menuitem].is-danger:is(:hover,:focus){background:var(--jj-danger-bg)}.jjbot-ctx [role=menuitem][aria-disabled=true]{color:var(--jj-gray-500);cursor:default}.jjbot-ctx [role=menuitem][aria-disabled=true] svg{color:var(--jj-gray-400)}.jjbot-ctx [role=menuitem][aria-disabled=true]:hover{background:transparent}.jjbot-ctx-divider{height:1px;margin:6px 4px;background:var(--jj-divider)}@media(pointer:coarse){.jjbot-ctx [role=menuitem]{min-height:44px;font-size:15px}}.jjbot-pop{width:min(304px,calc(100vw - 16px));padding:14px}.jjbot-ctx:is(:focus,:focus-visible),.jjbot-pop:is(:focus,:focus-visible){outline:none}.jjbot-pop.is-tip{width:auto;max-width:min(264px,calc(100vw - 16px));padding:8px 12px;border-color:transparent;background:var(--jj-gray-900);color:var(--jj-white);font-size:13px;line-height:19px}.jjbot-pop p{margin:0}.jjbot-name-form label{display:block;margin:0 0 6px;font-size:13px;font-weight:600}.jjbot-name-row{display:flex;gap:8px}.jjbot-name-row input{flex:1;min-width:0;height:40px;box-sizing:border-box;padding:0 12px;border:1px solid var(--jj-border-strong);border-radius:var(--jj-radius-control);background:var(--jj-surface);color:var(--jj-text);font:inherit;font-size:15px}.jjbot-name-row input:focus{border-color:var(--jj-primary);box-shadow:var(--jj-focus-ring);outline:none}.jjbot-name-row .jj-btn{min-height:40px;padding:0 14px}.jjbot-pop .jjbot-pop-hint{display:flex;align-items:center;gap:4px;margin-top:8px;color:var(--jj-text-tertiary);font-size:12px;line-height:16px}.jjbot-pop .jjbot-pop-hint svg{width:13px;height:13px}.jjbot-pop [role=alert]{margin-top:6px;color:var(--jj-danger-fg);font-size:12px;line-height:16px}.jjbot-pop [role=alert]:empty{display:none}.jjbot-card-head{display:flex;align-items:center;gap:12px}.jjbot-card-head .jj-face{width:48px;height:48px;border-radius:var(--jj-radius-sheet);font-size:16px}.jjbot-card-head>div{min-width:0;flex:1}.jjbot-card-head strong{display:block;overflow:hidden;font-size:15px;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.jjbot-card-head small{color:var(--jj-text-tertiary);font-size:12px}.jjbot-pop-close{display:grid;place-items:center;align-self:flex-start;width:32px;height:32px;margin:-6px -6px 0 0;padding:0;border:0;border-radius:var(--jj-radius-xs);background:transparent;color:var(--jj-gray-600);cursor:pointer}.jjbot-pop-close:hover{background:var(--jj-gray-100)}.jjbot-pop dl{display:grid;gap:6px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--jj-divider)}.jjbot-pop dl>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.jjbot-pop dt{flex:none;color:var(--jj-text-tertiary)}.jjbot-pop dd{min-width:0;margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}dialog.jjbot-confirm{--jj-dialog-w: 400px;border-radius:var(--jj-radius-sheet);box-shadow:var(--jj-shadow-2)}dialog.jjbot-confirm p{margin:0;padding:16px 20px 12px;color:var(--jj-text-secondary);font-size:14px;line-height:22px}#jjbot-panel .jjbot-thread-item{position:relative}#jjbot-panel .jjbot-thread small{padding-right:28px}#jjbot-panel .jjbot-thread-more{position:absolute;right:6px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;min-width:0;min-height:0;padding:0;border:0;border-radius:var(--jj-radius-xs);background:transparent;color:var(--jj-gray-600);opacity:0;transition:opacity var(--jj-duration-fast, .12s)}#jjbot-panel .jjbot-thread-more:after{content:"";position:absolute;inset:-8px}#jjbot-panel .jjbot-thread-item:hover .jjbot-thread-more,#jjbot-panel .jjbot-thread-more:is(:focus-visible,[aria-expanded=true]){opacity:1}#jjbot-panel .jjbot-thread-more:is(:hover,[aria-expanded=true]){background:var(--jj-gray-200);color:var(--jj-gray-900)}@media(hover:none),(max-width:700px){#jjbot-panel .jjbot-thread-more{opacity:1}}#jjbot-panel .jjbot-pin{display:inline-grid;margin-right:4px;color:var(--jj-primary);vertical-align:-2px}#jjbot-panel .jjbot-pin svg{width:14px;height:14px}#jjbot-panel .jjbot-thread-flag{margin-right:6px;padding:1px 5px;border-radius:var(--jj-radius-xs);background:var(--jj-gray-150);color:var(--jj-gray-700);font-size:11px;font-weight:600}#jjbot-panel .jjbot-thread-item.is-renaming>:is(.jjbot-thread,.jjbot-thread-more){display:none}#jjbot-panel .jjbot-thread-rename{display:flex;align-items:center;gap:10px;min-height:68px;box-sizing:border-box;padding:12px 8px;border-bottom:1px solid var(--jj-gray-150)}#jjbot-panel .jjbot-thread-rename input,#jjbot-panel .jjbot-room-title.is-editing input{flex:1;min-width:0;height:36px;min-height:36px;box-sizing:border-box;padding:0 10px;border:1px solid var(--jj-primary);border-radius:var(--jj-radius-control);background:var(--jj-surface);box-shadow:var(--jj-focus-ring);color:var(--jj-text);font:inherit;font-size:14px;font-weight:700;outline:none}@media(pointer:coarse){#jjbot-panel .jjbot-thread-rename input,#jjbot-panel .jjbot-room-title.is-editing input,.jjbot-name-row input{font-size:16px}#jjbot-panel :is(.jjbot-thread,.jjbot-bubble,.jjbot-me,.jjbot-person){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}#jjbot-panel .jjbot-room-title{display:flex;align-items:center;gap:2px;min-height:36px}#jjbot-panel .jjbot-room-name{flex:0 1 auto;min-width:0;margin:0;overflow:hidden;color:var(--jj-text);font-size:15px;font-weight:700;line-height:22px;text-overflow:ellipsis;white-space:nowrap}#jjbot-panel .jjbot-room-title :is(.jjbot-title-edit,.jjbot-title-more){display:grid;place-items:center;flex:none;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:var(--jj-radius-xs);background:transparent;color:var(--jj-gray-600)}#jjbot-panel .jjbot-room-title :is(.jjbot-title-edit,.jjbot-title-more) svg{width:16px;height:16px}#jjbot-panel .jjbot-room-title :is(.jjbot-title-edit,.jjbot-title-more):is(:hover,[aria-expanded=true]):not(:disabled){background:var(--jj-gray-150);color:var(--jj-gray-900)}#jjbot-panel .jjbot-room-title .jjbot-title-edit:disabled{opacity:.35}#jjbot-panel .jjbot-room-title .jjbot-title-more{margin-left:auto}#jjbot-panel .jjbot-room-title.is-editing{gap:6px}@container (min-width:760px){#jjbot-panel .jjbot-room-name{font-size:17px;line-height:24px}}#jjbot-panel .jjbot-person{flex:none;min-height:0;padding:0;border:0;border-radius:var(--jj-radius-card);background:none;line-height:0;cursor:pointer}#jjbot-panel .jjbot-sender[data-bot-person]{cursor:pointer}#jjbot-panel .jjbot-sender[data-bot-person]:hover{text-decoration:underline}.jjbot-help{position:relative;display:inline-grid;place-items:center;flex:none;width:20px;height:20px;min-height:0!important;padding:0!important;border:0!important;border-radius:var(--jj-radius-pill);background:transparent!important;color:var(--jj-gray-500);cursor:help}.jjbot-help:after{content:"";position:absolute;inset:-10px}.jjbot-help svg{width:16px!important;height:16px!important}.jjbot-help:is(:hover,[aria-expanded=true]){color:var(--jj-primary)}.jjbot-work-card .jjbot-work-note{width:100%;margin:-2px 0 2px;color:var(--jj-gray-600);font-size:12px;line-height:18px}.jjbot-work-action{display:flex;align-items:center;gap:4px}.jjbot-action .jjbot-apply-row,.jjbot-important-row{display:flex;align-items:center;gap:6px}.jjbot-action .jjbot-apply-row>button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:7px 10px;font-size:13px}.jjbot-important-row{margin-top:8px}.jjbot-important-row>.jjbot-important-card{flex:1;min-width:0;margin-top:0}#jjbot-panel .jjbot-snack{position:absolute;left:50%;bottom:76px;z-index:9;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:10px 14px;border-radius:var(--jj-radius-control);background:var(--jj-gray-900);box-shadow:var(--jj-shadow-2);color:var(--jj-white);font-size:13px;line-height:18px;transform:translate(-50%)}#jjbot-panel .jjbot-snack[hidden]{display:none}#jjbot-panel .jjbot-snack button{flex:none;min-height:0;padding:0;border:0;background:transparent;color:var(--jj-primary-300);font-size:13px;font-weight:700}#jjbot-panel :is(.jjbot-thread-more,.jjbot-title-more,.jjbot-message-menu) svg{width:18px;height:18px;stroke-width:3}.jjbot-avatar.is-bot{overflow:hidden;padding:0}#jjbot-panel .jjbot-avatar.is-bot,.jjbot-notification .jjbot-avatar.is-bot{background:#d6e9fb}.jjbot-avatar.is-bot img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}#jjbot-panel .jjbot-action{--tone-bg: var(--jj-primary-50);--tone-fg: var(--jj-primary-strong);grid-template-columns:36px minmax(0,1fr);column-gap:10px;row-gap:6px;align-items:start;border-left:1px solid var(--jj-primary-200);box-shadow:var(--jj-shadow-1)}#jjbot-panel .jjbot-action.is-done{border-color:var(--jj-success);background:var(--jj-success-bg)}#jjbot-panel .jjbot-action[data-tone=violet]{--tone-bg: #f1ecfb;--tone-fg: #5b3fa6}#jjbot-panel .jjbot-action[data-tone=amber]{--tone-bg: var(--jj-warning-bg);--tone-fg: var(--jj-warning-fg)}#jjbot-panel .jjbot-action[data-tone=teal]{--tone-bg: #e2f5f2;--tone-fg: #0d6b62}#jjbot-panel .jjbot-action[data-tone=rose]{--tone-bg: var(--jj-danger-bg);--tone-fg: var(--jj-danger-fg)}#jjbot-panel .jjbot-action[data-tone=gray]{--tone-bg: var(--jj-gray-100);--tone-fg: var(--jj-gray-700)}.jjbot-kind-tile{grid-column:1;grid-row:1 / span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--tone-bg);color:var(--tone-fg)}.jjbot-kind-tile svg{width:20px;height:20px}.jjbot-action-head{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.jjbot-action-head .jjbot-action-kind{flex:1;min-width:0;font-size:13px;color:var(--jj-gray-900)}.jjbot-action-body{grid-column:2;display:grid;gap:8px;min-width:0}.jjbot-action-summary{font-size:14px;line-height:1.5;color:var(--jj-gray-900)}.jjbot-chip{flex:none;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--jj-radius-pill);font-size:11px;font-weight:700;line-height:18px;white-space:nowrap}.jjbot-chip svg{width:12px;height:12px}.jjbot-chip.is-wait{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.jjbot-chip.is-wait:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.jjbot-chip.is-done{background:var(--jj-success);color:#fff}.jjbot-chip.is-cancelled,.jjbot-chip.is-idle{background:var(--jj-gray-150);color:var(--jj-gray-700)}.jjbot-effect{display:flex;align-items:flex-start;gap:4px;padding:7px 9px;border-radius:var(--jj-radius-control);background:var(--jj-surface-subtle);color:var(--jj-gray-700);font-size:12px;line-height:18px}.jjbot-effect svg{flex:none;width:14px;height:14px;margin-top:2px}.jjbot-callout{display:flex;align-items:flex-start;gap:6px;margin:0;padding:9px 10px;border-radius:var(--jj-radius-control);font-size:12px;line-height:18px}.jjbot-callout svg{flex:none;width:16px;height:16px;margin-top:1px}.jjbot-callout.jjbot-warning{border:1px solid var(--jj-warning)}.jjbot-error{color:var(--jj-danger-fg);background:var(--jj-danger-bg);border:1px solid var(--jj-danger)}.jjbot-confirm{display:flex;align-items:center;gap:6px;min-height:32px;font-size:12px;font-weight:600}.jjbot-confirm input{width:18px;height:18px}#jjbot-panel .jjbot-action .jjbot-apply{background:var(--jj-primary);color:#fff;border:0;border-radius:var(--jj-radius-control);font-weight:700;padding:8px 14px}#jjbot-panel .jjbot-action .jjbot-apply svg{width:16px;height:16px}.jjbot-result{display:flex;align-items:center;gap:4px;color:var(--jj-success-fg);font-size:13px}.jjbot-result-time{margin-top:-6px;margin-left:20px;color:var(--jj-gray-600);font-size:11px}.jjbot-result-actions{display:flex;flex-wrap:wrap;gap:6px}.jjbot-result-actions .button,.jjbot-result-actions button{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:7px 10px;font-size:13px}.jjbot-batch{display:grid;gap:4px;margin:8px 0 4px}.jjbot-batch-progress{display:flex;align-items:center;gap:8px;margin:0;color:var(--jj-gray-700);font-size:12px;font-weight:600}.jjbot-batch-bar{flex:none;width:64px;height:6px;border-radius:3px;background:var(--jj-gray-200);overflow:hidden}.jjbot-batch-bar i{display:block;height:100%;background:var(--jj-success)}#jjbot-panel .jjbot-apply-all{margin:0}@media(max-width:420px){#jjbot-panel .jjbot-action{grid-template-columns:32px minmax(0,1fr);column-gap:8px;padding:10px}.jjbot-kind-tile{width:32px;height:32px}}@media(forced-colors:active){.jjbot-chip{border:1px solid CanvasText}}#jjbot-panel .jjbot-confirm{flex-direction:row;justify-content:flex-start;text-align:left}#jjbot-panel .jjbot-confirm input{flex:none;margin:0}#jjbot-panel .jjbot-batch .jjbot-apply-all{background:var(--jj-primary);color:#fff;border:0;min-height:44px;font-weight:700}.jj-utility-status{display:flex;flex:1 1 0;align-items:center;min-width:0}.jj-utility-tray{display:flex;flex:none;min-width:0}.jj-utility-actions{flex:none;justify-content:flex-end;margin-left:auto}#jj-utility-dock #jinjinbot-root{display:flex;align-items:center;gap:8px}.jjbot-logo{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#5576f3,var(--jj-primary-hover));box-shadow:inset 0 1px #ffffff47;color:var(--jj-primary)}.jjbot-logo svg{width:22px;height:22px}.jjbot-logo.is-room{background:var(--jj-primary-100);box-shadow:none}#jj-utility-dock .jjbot-launch{position:relative}#jj-utility-dock .jjbot-launch:hover,#jj-utility-dock .jjbot-launch[aria-expanded=true]{background:var(--jj-primary-50);border-color:var(--jj-primary-200)}.jjbot-room-badge{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--jj-danger);color:#fff;font-size:11px;line-height:1;box-shadow:0 0 0 2px #fff}.jjbot-room-badge[hidden]{display:none}@media(max-width:700px){#jj-utility-dock .jjbot-launch .jjbot-logo{width:32px;height:32px}}.jj-tray-bell{position:relative;display:inline-grid;flex:none;place-items:center}.jj-tray-line{display:flex;min-width:0;align-items:baseline;gap:6px;overflow:hidden;white-space:nowrap}.jj-tray-line strong,.jj-tray-line em{overflow:hidden;text-overflow:ellipsis}.jj-tray-line strong{flex:none;max-width:170px}.jj-tray-line em{min-width:0;font-style:normal}.jj-tray-btn.is-bump{animation:jj-chip-bump .18s ease-out}@keyframes jj-chip-bump{40%{transform:scale(1.06)}}.jj-dock-badge.is-pop{animation:jj-badge-pop .22s ease-out}@keyframes jj-badge-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}}.jj-notice-card.to-tray{transform-origin:center;transition:height .36s ease,margin .36s ease,opacity .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1)}.jj-notice-card.leaving.to-tray{opacity:0;transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(.35)}@media(prefers-reduced-motion:reduce){.jj-tray-btn.is-bump,.jj-dock-badge.is-pop{animation:none}.jj-notice-card.to-tray,.jj-notice-card.leaving.to-tray{transform:none;transition:opacity .12s linear}}@media print{.jj-utility-tray{display:none}}#jjbot-panel .jjbot-privacy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 0;padding:6px 6px 6px 10px;border-radius:10px;background:var(--jj-gray-50);color:var(--jj-gray-600);font-size:12px}#jjbot-panel .jjbot-privacy>span{display:flex;align-items:center;gap:6px;min-width:0}#jjbot-panel .jjbot-privacy>span svg{flex:none;width:14px;height:14px}#jjbot-panel .jjbot-privacy.is-private{background:#fff7e6;color:#8a5a00}#jjbot-panel .jjbot-privacy-toggle{display:inline-flex;flex:none;align-items:center;gap:7px;min-height:30px;padding:0 10px 0 6px;border:1px solid var(--jj-gray-200);border-radius:999px;background:#fff;color:var(--jj-gray-800);font-size:12px;font-weight:600;white-space:nowrap}#jjbot-panel .jjbot-privacy-toggle i{position:relative;width:28px;height:16px;border-radius:999px;background:var(--jj-gray-300);transition:background .15s}#jjbot-panel .jjbot-privacy-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}#jjbot-panel .jjbot-privacy-toggle[aria-checked=true] i{background:#f0a400}#jjbot-panel .jjbot-privacy-toggle[aria-checked=true] i:after{transform:translate(12px)}#jjbot-panel .jjbot-lock{display:inline-grid;margin-right:4px;color:#c98600;vertical-align:-2px}#jjbot-panel .jjbot-lock svg{width:13px;height:13px}html body #jjbot-panel[data-view=people] .jjbot-commandbar,html body #jjbot-panel[data-view=people] .jjbot-search{display:none}#jjbot-panel[data-view=people] .jjbot-body{padding:0}#jjbot-panel .jjp button{min-height:0;font-size:inherit;box-shadow:none}.jjp,.jjp-dialog{--jjp-lead: #7c4dff;--jjp-lead-bg: #f1ebff;--jjp-office: #0f9488;--jjp-office-bg: #e2f6f3;--jjp-teacher: var(--jj-primary);--jjp-teacher-bg: var(--jj-primary-50);--jjp-review: #d9730d;--jjp-review-bg: #fff1e2;padding:0 6px 24px}:root[data-theme=dark] .jjp,:root[data-theme=dark] .jjp-dialog{--jjp-lead: #b39dff;--jjp-lead-bg: rgba(179, 157, 255, .14);--jjp-office: #4fd1c5;--jjp-office-bg: rgba(79, 209, 197, .14);--jjp-review: #f5a95b;--jjp-review-bg: rgba(245, 169, 91, .14)}.jjp-top{position:sticky;top:0;z-index:2;display:flex;gap:8px;padding:12px 8px 10px;background:var(--jj-gray-50)}.jjp-search{position:relative;flex:1;display:flex;flex-direction:row;align-items:center;font-weight:400}.jjp-search svg{position:absolute;left:12px;width:17px;height:17px;color:var(--jj-text-tertiary);pointer-events:none}.jjp-search input{width:100%;min-height:40px;padding:0 12px 0 36px;border:0;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:15px}#jjbot-panel .jjp-edit{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:14px;font-weight:700;color:var(--jj-text-secondary)}#jjbot-panel .jjp-edit.is-on{background:var(--jj-primary);box-shadow:none;color:#fff}#jjbot-panel .jjp-me{width:calc(100% - 16px);justify-content:flex-start;margin:2px 8px 10px;display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--jj-primary-50),var(--jj-surface) 70%);box-shadow:inset 0 0 0 1px var(--jj-border),0 6px 18px -12px #3155e773;text-align:left;color:var(--jj-text)}.jjp-me-edit{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:12px;font-weight:700;color:var(--jj-primary)}.jjp-me-edit svg{width:14px;height:14px}.jjp .jj-face.jjp-face{flex:none;width:46px;height:46px;border-radius:17px;font-size:16px}.jjp .jj-face.jjp-face.is-me{width:56px;height:56px;border-radius:20px;font-size:19px}.jjp-text{min-width:0;display:flex;flex-direction:column;gap:3px}.jjp-text strong{display:flex;align-items:center;gap:4px;font-size:15.5px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jjp-me .jjp-text strong{font-size:17px;font-weight:800}.jjp-sub{display:flex;align-items:center;gap:6px;min-width:0}.jjp-sub small{font-size:12.5px;color:var(--jj-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jjp-role{flex:none;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:18px;background:var(--jj-gray-100);color:var(--jj-text-secondary)}.jjp-role.is-lead{background:var(--jjp-lead-bg);color:var(--jjp-lead)}.jjp-role.is-office{background:var(--jjp-office-bg);color:var(--jjp-office)}.jjp-role.is-teacher{background:var(--jjp-teacher-bg);color:var(--jjp-teacher)}.jjp-role.is-review{background:var(--jjp-review-bg);color:var(--jjp-review)}.jjp-fav-dot{display:inline-flex;color:#f5b301}.jjp-fav-dot svg{width:13px;height:13px}.jjp-hint{display:block;margin:0 8px 10px;padding:10px 12px;border-radius:12px;background:var(--jj-surface-subtle, var(--jj-gray-50));font-size:12.5px;line-height:1.5;color:var(--jj-text-secondary)}#jjbot-panel .jjp-hint svg{width:14px;height:14px;vertical-align:-2px;color:#f5b301}.jjp-count{margin:6px 12px 2px;font-size:12px;color:var(--jj-text-tertiary)}.jjp-section h4,.jjp-hidden summary{display:flex;align-items:center;gap:6px;margin:14px 12px 4px;font-size:12.5px;font-weight:700;color:var(--jj-text-tertiary)}.jjp-section h4 b,.jjp-hidden summary b,.jjp-count b{font-weight:700;color:var(--jj-text-secondary)}.jjp ul{list-style:none;margin:0;padding:0}.jjp-row{display:flex;align-items:center;gap:6px;padding:0 8px 0 0;border-radius:14px}.jjp-row[hidden]{display:none}#jjbot-panel .jjp-person{flex:1;justify-content:flex-start;min-width:0;display:flex;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:14px;background:transparent;text-align:left;color:var(--jj-text)}.jjp-person:hover,.jjp-person:focus-visible{background:var(--jj-surface)}#jjbot-panel .jjp-chat,#jjbot-panel .jjp-tool{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--jj-text-tertiary)}.jjp-chat:hover{background:var(--jj-primary-50);color:var(--jj-primary)}.jjp-chat svg,.jjp-tool svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jjp-tools{display:flex;gap:2px}#jjbot-panel .jjp-tool{background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border)}#jjbot-panel .jjp-tool.is-star.is-on{color:#f5b301}.jjp-tool:not(.is-star):not(:has(svg)){width:auto;padding:0 12px;font-size:12px;font-weight:700;color:var(--jj-primary)}.jjp-hidden{margin-top:8px}.jjp-hidden summary{cursor:pointer;list-style:none}.jjp-hidden .jjp-person{opacity:.6}.jjp-empty{margin:24px 12px;text-align:center;color:var(--jj-text-tertiary);font-size:14px}.jjp-skeleton{display:flex;align-items:center;gap:12px;padding:10px 18px}.jjp-skeleton i{width:46px;height:46px;border-radius:17px;background:var(--jj-gray-100)}.jjp-skeleton span{width:40%;height:14px;border-radius:7px;background:var(--jj-gray-100)}.jjp-dialog{width:min(360px,calc(100vw - 32px));padding:0;border-radius:24px;overflow:hidden}.jjp-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px 20px;background:linear-gradient(180deg,var(--jj-primary-50),var(--jj-surface) 55%);text-align:center}.jjp-card-x{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border:0;border-radius:999px;background:transparent;display:grid;place-items:center;color:var(--jj-text-tertiary)}.jjp-card .jj-face.jjp-card-face{width:96px;height:96px;border-radius:34px;font-size:30px;box-shadow:0 12px 28px -14px #10182873}.jjp-card h3{margin:8px 0 0;font-size:21px;font-weight:800}.jjp-card p{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--jj-text-tertiary)}.jjp-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:16px}.jjp-card-actions button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:0;border-radius:16px;background:var(--jj-surface-subtle, var(--jj-gray-50));box-shadow:inset 0 0 0 1px var(--jj-border);font-size:12px;font-weight:700;color:var(--jj-text-secondary)}.jjp-card-actions button.is-primary{background:var(--jj-primary);box-shadow:none;color:#fff}.jjp-card-actions button[aria-pressed=true]{color:#d99a00}.jjp-card-actions svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#jjbot-panel .jjp-person,#jjbot-panel .jjp-me{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.jjp-card h3{display:flex;align-items:center;gap:4px}.jjp-card-rename{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--jj-text-tertiary)}.jjp-card-rename svg{width:16px;height:16px}.jjp-rename-form{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 22px 20px;text-align:center}.jjp-rename-form .jj-face.jjp-face{width:64px;height:64px;border-radius:22px;font-size:20px}.jjp-rename-form h3{margin:6px 0 0;font-size:18px;font-weight:800}.jjp-rename-form p,.jjp-rename-form small{margin:0;font-size:13px;color:var(--jj-text-tertiary)}.jjp-rename-form input{width:100%;min-height:46px;margin-top:6px;border-radius:14px;font-size:16px;text-align:center}.jjp-rename-form footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:10px}.jjp-rename-form footer button{min-height:44px;border-radius:14px}.jjbot-body:has(.jjp){container-type:inline-size}#jjbot-panel .jjp-me{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"who who edit" "status status status";align-items:center;gap:12px 10px}#jjbot-panel .jjp-me-who{grid-area:who;display:flex;align-items:center;gap:14px;min-width:0;padding:0;border:0;background:transparent;text-align:left;color:var(--jj-text)}#jjbot-panel .jjp-me .jjp-me-edit{grid-area:edit;margin:0;border:0;cursor:pointer}#jjbot-panel .jjp-me-status{grid-area:status;position:relative;display:block;width:100%;min-height:44px;padding:11px 40px 11px 16px;border:0;border-radius:14px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border),0 2px 6px -4px #10182833;text-align:left;font-size:14.5px;line-height:1.5;color:var(--jj-text);overflow-wrap:anywhere}#jjbot-panel .jjp-me-status.is-empty{color:var(--jj-text-tertiary);font-size:13.5px;box-shadow:inset 0 0 0 1px var(--jj-border);border:1px dashed transparent}#jjbot-panel .jjp-me-status i{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;color:var(--jj-text-tertiary)}#jjbot-panel .jjp-me-status i svg{width:15px;height:15px}#jjbot-panel .jjp-person .jjp-text{flex:1}.jjp-status{flex:none;max-width:46%;padding:6px 12px;border-radius:14px 14px 14px 4px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:12.5px;line-height:1.45;color:var(--jj-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-align:left}@container (max-width: 460px){#jjbot-panel .jjp-person{flex-wrap:wrap;row-gap:0}#jjbot-panel .jjp-person .jjp-text{flex:1 1 calc(100% - 60px)}.jjp-status{order:3;max-width:calc(100% - 58px);margin:4px 0 2px 58px}}.jjp-card-status{margin:6px 0 0;padding:10px 16px;max-width:100%;border-radius:16px 16px 16px 4px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.rl-c-red{color:#e5484d}.rl-c-orange{color:#e8790c}.rl-c-green{color:#18a058}.rl-c-blue{color:#3155e7}.rl-c-purple{color:#7c4dff}:root[data-theme=dark] .rl-c-red{color:#ff7b80}:root[data-theme=dark] .rl-c-orange{color:#ffa94d}:root[data-theme=dark] .rl-c-green{color:#4fd18b}:root[data-theme=dark] .rl-c-blue{color:#7c9bff}:root[data-theme=dark] .rl-c-purple{color:#b39dff}.jjp-status strong,.jjp-me-status strong,.jjp-card-status strong{font-weight:800}.rl-dialog{width:min(440px,calc(100vw - 24px));padding:0;border-radius:22px}.rl-form{display:flex;flex-direction:column;gap:10px;padding:20px}.rl-form header{display:flex;align-items:center;justify-content:space-between}.rl-form h3{margin:0;font-size:18px;font-weight:800}.rl-x{width:36px;height:36px;padding:0;border:0;border-radius:999px;background:transparent;display:grid;place-items:center}.rl-hint{margin:0;font-size:13px;color:var(--jj-text-tertiary)}.rl-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:14px;background:var(--jj-surface-subtle, var(--jj-gray-50));box-shadow:inset 0 0 0 1px var(--jj-border)}.rl-bold{width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:10px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-weight:900;font-size:16px}.rl-bold[aria-pressed=true]{background:var(--jj-text);color:var(--jj-surface)}.rl-sep{width:1px;height:22px;background:var(--jj-border)}.rl-swatch{width:26px;height:26px;min-height:26px;padding:0;border:2px solid var(--jj-surface);border-radius:999px;box-shadow:0 0 0 1px var(--jj-border);cursor:pointer}.rl-swatch:hover{transform:scale(1.12)}.rl-bg-ink{background:var(--jj-text)}.rl-bg-red{background:#e5484d}.rl-bg-orange{background:#e8790c}.rl-bg-green{background:#18a058}.rl-bg-blue{background:#3155e7}.rl-bg-purple{background:#7c4dff}.rl-editor{min-height:52px;padding:14px 16px;border-radius:14px;background:var(--jj-surface);box-shadow:inset 0 0 0 1.5px var(--jj-border);font-size:16px;line-height:1.5;outline:none;overflow-wrap:anywhere}.rl-editor:focus{box-shadow:inset 0 0 0 1.5px var(--jj-primary),0 0 0 4px var(--jj-primary-50)}.rl-editor.is-empty:before{content:attr(data-placeholder);color:var(--jj-text-tertiary);pointer-events:none}.rl-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--jj-text-tertiary)}.rl-count.is-over{color:var(--jj-danger-fg);font-weight:700}.rl-clear{min-height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;font-size:12px;color:var(--jj-text-tertiary)}.rl-error{margin:0;min-height:0;font-size:13px;color:var(--jj-danger-fg)}.rl-error:empty{display:none}.rl-form footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rl-form footer button{min-height:46px;border-radius:14px}#jjbot-panel .jjp-me .jjp-me-who{justify-content:flex-start}#jjbot-panel .jjp-me .jjp-me-edit{padding:7px 12px;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:12.5px;font-weight:700;color:var(--jj-primary)}#jjbot-panel .jjp-me .jjp-me-edit svg{width:15px;height:15px}.jjp-section h4{flex-wrap:wrap}.jjp-group-tools{margin-left:auto;display:inline-flex;align-items:center;gap:4px}#jjbot-panel .jjp-group-tools button{display:inline-flex;align-items:center;gap:3px;min-height:30px;min-width:30px;padding:0 8px;border:0;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-size:12px;font-weight:700;color:var(--jj-text-secondary)}#jjbot-panel .jjp-group-tools button:disabled{opacity:.35}#jjbot-panel .jjp-group-tools [data-group-add]{color:var(--jj-primary)}#jjbot-panel .jjp-group-tools svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jjp-group-empty{margin:4px 12px 8px;padding:12px;border-radius:12px;border:1px dashed var(--jj-border);font-size:12.5px;color:var(--jj-text-tertiary);text-align:center}#jjbot-panel .jjp-group-new{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 16px);margin:14px 8px 4px;min-height:48px;border:1.5px dashed var(--jj-primary-200, var(--jj-border));border-radius:14px;background:var(--jj-primary-50);font-size:14px;font-weight:700;color:var(--jj-primary)}#jjbot-panel .jjp-group-new small{font-weight:500;color:var(--jj-text-tertiary)}#jjbot-panel .jjp-group-new svg{width:16px;height:16px}.jjp-pick{width:min(420px,calc(100vw - 24px))}.jjp-pick-form{display:flex;flex-direction:column;max-height:min(640px,85dvh)}.jjp-pick-form header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 8px}.jjp-pick-form header h3{margin:0;font-size:17px;font-weight:800}.jjp-pick-form .jjp-card-x{position:static}.jjp-pick-list{flex:1;overflow:auto;padding:4px 10px}.jjp-pick-row{display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:12px;font-weight:400;cursor:pointer}.jjp-pick-row:hover{background:var(--jj-surface-subtle, var(--jj-gray-50))}.jjp-pick-row .jjp-text{flex:1}.jjp-pick-row .jj-face.jjp-face{width:40px;height:40px;border-radius:15px;font-size:14px}.jjp-pick-row input{width:22px;height:22px;accent-color:var(--jj-primary)}.jjp-pick-form footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 18px 18px;border-top:1px solid var(--jj-divider)}.jjp-pick-form footer button{min-height:46px;border-radius:14px}.jjp-rename-form>p{margin:0}.jjp-pick,.jjp-rename{background:var(--jj-surface)}#jjbot-panel .jjp-add{flex:none;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:999px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);color:var(--jj-text-secondary)}#jjbot-panel .jjp-add svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#jjbot-panel .jjp-tool.is-minus{color:var(--jj-danger-fg)}#jjbot-panel .jjp-tool.is-minus svg{stroke-width:2.6}.jjp-pick-hint{margin:0 18px 6px;font-size:12.5px;line-height:1.5;color:var(--jj-text-tertiary)}.jjp-preview{margin:-2px 8px 10px;padding:8px 10px 10px;border-radius:16px;border:1px dashed var(--jj-border-strong)}.jjp-preview>p{margin:0 0 4px 4px;font-size:11.5px;font-weight:700;color:var(--jj-text-tertiary)}#jjbot-panel .jjp-person.is-preview{display:flex;align-items:center;gap:12px;padding:4px;pointer-events:none}.jjp-hint-line{font-size:11.5px;color:var(--jj-text-tertiary);white-space:nowrap}.jjp .jjp-sub,.jjp-pick-row .jjp-sub{flex-wrap:wrap;row-gap:2px}.jjp-card .jjp-card-hint{font-size:12px;color:var(--jj-text-tertiary)}.jjbot-privacy-pick{margin:8px 0 12px;padding:12px;border-radius:16px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border)}.jjbot-privacy-pick>p{margin:0 0 8px 2px;font-size:13.5px;font-weight:800}.jjbot-privacy-pick>p small{margin-left:4px;font-weight:500;color:var(--jj-text-tertiary)}.jjbot-privacy-pick>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}#jjbot-panel .jjbot-privacy-pick button{display:grid;justify-items:start;gap:2px;min-height:0;padding:12px;border:0;border-radius:14px;background:var(--jj-surface-subtle, var(--jj-gray-50));box-shadow:inset 0 0 0 1.5px var(--jj-border);text-align:left;color:var(--jj-text)}#jjbot-panel .jjbot-privacy-pick button svg{width:20px;height:20px;margin-bottom:4px;color:var(--jj-text-tertiary)}#jjbot-panel .jjbot-privacy-pick button strong{font-size:14px;font-weight:800}#jjbot-panel .jjbot-privacy-pick button small{font-size:11.5px;color:var(--jj-text-tertiary)}#jjbot-panel .jjbot-privacy-pick button[aria-checked=true]{background:var(--jj-primary-50);box-shadow:inset 0 0 0 2px var(--jj-primary)}#jjbot-panel .jjbot-privacy-pick button[aria-checked=true] svg{color:var(--jj-primary)}#jjbot-panel .jjbot-commandbar{padding:4px 6px;gap:0}#jjbot-panel .jjbot-commandbar button:has(.cb-l){flex-direction:column;gap:2px;min-width:46px;min-height:46px;padding:4px 4px 3px;border-radius:12px;color:var(--jj-text-secondary)}#jjbot-panel .jjbot-commandbar button:has(.cb-l) svg{width:19px;height:19px}#jjbot-panel .jjbot-commandbar .cb-l{font-size:11px;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:-.02em}#jjbot-panel .jjbot-commandbar button[aria-expanded=true]{background:var(--jj-primary-50);color:var(--jj-primary)}.jjbot-list-heading .ro-add{margin-left:auto;display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 12px;border:0;border-radius:999px;background:var(--jj-primary-50);color:var(--jj-primary);font-size:12.5px;font-weight:700}.jjbot-list-heading .ro-add svg{width:14px;height:14px}.ro-section+.ro-section{margin-top:10px}.ro-head{display:flex;align-items:center;gap:6px;padding:6px 6px 4px;font-size:12.5px;font-weight:800;color:var(--jj-text-tertiary)}.ro-head>span{display:inline-flex;align-items:center;gap:4px}.ro-head svg{width:14px;height:14px}.ro-head b{font-weight:700;color:var(--jj-text-secondary)}#jjbot-panel .ro-fold{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 6px 0 2px;border:0;border-radius:8px;background:transparent;font:inherit;color:var(--jj-text)}#jjbot-panel .ro-folder-more{margin-left:auto;display:grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--jj-text-tertiary)}.ro-rows{min-height:8px;border-radius:14px}.ro-empty{margin:0;padding:12px;border:1.5px dashed var(--jj-border);border-radius:12px;text-align:center;font-size:12px;color:var(--jj-text-tertiary)}.jjbot-room-list.is-organized .jjbot-thread-item{position:relative;display:flex;align-items:center}.ro-grip{flex:none;display:grid;place-items:center;width:22px;align-self:stretch;color:var(--jj-text-disabled);cursor:grab;touch-action:none;opacity:.55}.ro-grip svg{width:16px;height:16px;stroke-width:3.2}.jjbot-thread-item:hover .ro-grip{opacity:1}.jjbot-thread-item.is-dragging{z-index:3;border-radius:14px;background:var(--jj-surface);box-shadow:0 12px 28px -10px #10182859;outline:2px solid var(--jj-primary-200)}.jjbot-thread-item.is-dragging .ro-grip{cursor:grabbing}.jjbot-avatar.room-avatar{display:inline-grid;place-items:center;border-radius:999px;background:var(--room-tone, var(--jj-primary));color:#fff;font-size:19px;overflow:hidden}.jjbot-avatar.room-avatar.has-photo img{width:100%;height:100%;object-fit:cover}.jjbot-avatar.room-avatar.is-large{width:88px;height:88px;font-size:40px}.ro-dialog{width:min(420px,calc(100vw - 24px));border-radius:22px;background:var(--jj-surface)}.ro-dialog form{display:flex;flex-direction:column;gap:12px;padding:22px}.ro-dialog h3{margin:0;font-size:18px;font-weight:800}.ro-dialog form>p{margin:0;font-size:13px;color:var(--jj-text-tertiary)}.ro-dialog input[name=name]{min-height:46px;border-radius:12px;font-size:16px}.ro-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ro-dialog footer button{min-height:46px;border-radius:14px;font-weight:800}.ro-icon-preview{display:grid;place-items:center;padding:6px 0}.ro-emoji{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.ro-emoji button{aspect-ratio:1;min-height:0;padding:0;border:0;border-radius:14px;background:var(--jj-surface-subtle, var(--jj-gray-50));font-size:22px}.ro-emoji button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--jj-primary);background:var(--jj-primary-50)}.ro-tones{display:flex;justify-content:space-between;gap:6px}.ro-tones button{width:32px;height:32px;min-height:0;padding:0;border:3px solid var(--jj-surface);border-radius:999px;background:var(--c);box-shadow:0 0 0 1px var(--jj-border)}.ro-tones button[aria-pressed=true]{box-shadow:0 0 0 2px var(--c)}.ro-photo{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:14px;border:1.5px dashed var(--jj-border-strong);font-size:14px;font-weight:700;color:var(--jj-primary);cursor:pointer}.ro-photo svg{width:18px;height:18px}.ro-photo-remove{border:0;background:transparent;font-size:12.5px;color:var(--jj-text-tertiary)}.ro-error{margin:0;color:var(--jj-danger-fg);font-size:13px}.ro-error:empty{display:none}.jjp-section.is-naming h4{margin-right:8px}.jjp-name-edit{display:flex;align-items:center;gap:6px;width:100%}#jjbot-panel .jjp-name-input{flex:1;min-width:0;min-height:38px;padding:0 12px;border:0;border-radius:12px;background:var(--jj-surface);box-shadow:inset 0 0 0 1.5px var(--jj-primary),0 0 0 3px var(--jj-primary-50);font-size:15px;font-weight:700;color:var(--jj-text)}#jjbot-panel .jjp-name-edit button{flex:none;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:999px}#jjbot-panel .jjp-name-edit .jjp-name-ok{background:var(--jj-primary);color:#fff}#jjbot-panel .jjp-name-edit .jjp-name-cancel{background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);color:var(--jj-text-tertiary)}#jjbot-panel .jjp-name-edit svg{width:16px;height:16px;stroke-width:2.6}#jjbot-panel button.jjp-group-empty{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 16px);margin:4px 8px 8px;min-height:44px;background:transparent;color:var(--jj-primary);font-weight:700;cursor:pointer}#jjbot-panel button.jjp-group-empty svg{width:16px;height:16px}.ro-name-edit{display:flex;align-items:center;gap:6px;width:100%}#jjbot-panel .ro-name-input{flex:1;min-width:0;min-height:36px;padding:0 12px;border:0;border-radius:12px;background:var(--jj-surface);box-shadow:inset 0 0 0 1.5px var(--jj-primary),0 0 0 3px var(--jj-primary-50);font-size:14px;font-weight:700;color:var(--jj-text)}#jjbot-panel .ro-name-edit button{flex:none;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:999px}#jjbot-panel .ro-name-edit .ro-name-ok{background:var(--jj-primary);color:#fff}#jjbot-panel .ro-name-edit .ro-name-cancel{background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);color:var(--jj-text-tertiary)}#jjbot-panel .ro-name-edit svg{width:15px;height:15px;stroke-width:2.6}html body #jjbot-panel .jjbot-search{position:static;flex:0 0 auto;display:flex;gap:8px;margin:0;padding:8px 12px;border-radius:0;border-bottom:1px solid var(--jj-divider);box-shadow:none;background:var(--jj-surface)}html body #jjbot-panel .jjbot-search[hidden]{display:none}html body #jjbot-panel .jjbot-search input{flex:1;min-width:0;min-height:40px;border-radius:999px;padding:0 16px}html body #jjbot-panel .jjbot-search button{flex:none;width:40px;min-height:40px;border-radius:999px}#jjbot-panel .jjbot-workspace{position:relative}#jjbot-panel .jjbot-commands{--jjc-bottom: 0px;position:absolute;top:0;right:0;bottom:var(--jjc-bottom);z-index:3;display:flex;flex-direction:column;width:min(100%,380px);min-width:0;background:var(--jj-surface);border-left:1px solid var(--jj-border);box-shadow:var(--jj-shadow-float);animation:jjc-drawer-in .22s var(--jj-motion-ease) both}#jjbot-panel .jjbot-commands[hidden]{display:none}@keyframes jjc-drawer-in{0%{opacity:0;transform:translate(16px)}}@container (min-width: 880px){#jjbot-panel .jjbot-commands{position:static;flex:0 0 340px;box-shadow:none;animation:jjc-column-in .22s var(--jj-motion-ease) both}@keyframes jjc-column-in{0%{opacity:0;transform:translate(8px)}}}#jjbot-panel .jjc-head{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 8px 0 16px;flex:none}#jjbot-panel .jjc-title{display:flex;align-items:baseline;gap:6px;font-size:15px;font-weight:700;color:var(--jj-text)}#jjbot-panel .jjc-count{font-size:12px;font-weight:600;color:var(--jj-text-tertiary);font-variant-numeric:tabular-nums}#jjbot-panel .jjc-close{width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:var(--jj-radius-control);background:transparent;color:var(--jj-text-tertiary)}#jjbot-panel .jjc-close:hover{background:var(--jj-surface-hover);color:var(--jj-text)}#jjbot-panel .jjc-close svg{width:18px;height:18px}#jjbot-panel .jjc-hint{margin:0;padding:0 16px 10px;font-size:12.5px;line-height:16px;color:var(--jj-text-tertiary);word-break:keep-all}#jjbot-panel .jjc-manual{color:var(--jj-primary);font-weight:700;text-decoration:none;white-space:nowrap}#jjbot-panel .jjc-manual:hover{text-decoration:underline}#jjbot-panel .jjc-search{display:flex;flex-direction:row;align-items:center;gap:8px;height:var(--jj-field-h-sm);margin:0 16px;padding:0 10px;border:1px solid var(--jj-field-border);border-radius:var(--jj-field-radius);background:var(--jj-surface);color:var(--jj-text-tertiary);flex:none;transition:border-color var(--jj-duration-fast) var(--jj-ease),box-shadow var(--jj-duration-fast) var(--jj-ease)}#jjbot-panel .jjc-search:hover{border-color:var(--jj-field-border-hover)}#jjbot-panel .jjc-search:focus-within{border-color:var(--jj-primary);box-shadow:var(--jj-field-ring)}#jjbot-panel .jjc-search svg{width:16px;height:16px;flex:none}#jjbot-panel .jjc-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:13.5px;color:var(--jj-text);outline:0}#jjbot-panel .jjc-search input::-webkit-search-cancel-button{cursor:pointer}#jjbot-panel .jjc-areas{display:flex;gap:6px;padding:10px 16px;overflow-x:auto;scrollbar-width:none;flex:none}#jjbot-panel .jjc-areas::-webkit-scrollbar{display:none}#jjbot-panel .jjc-areas button{height:28px;min-height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--jj-radius-pill);background:var(--jj-gray-100);color:var(--jj-text-secondary);font-size:12.5px;font-weight:700;white-space:nowrap;flex:none}#jjbot-panel .jjc-areas button[aria-selected=true]{background:var(--jj-primary);border-color:var(--jj-primary);color:#fff}#jjbot-panel .jjc-list{flex:1;min-height:0;overflow-y:auto;padding:0 16px 16px;outline:0;overscroll-behavior:contain}#jjbot-panel .jjc-group{padding-top:6px}#jjbot-panel .jjc-group h3{display:flex;align-items:baseline;gap:8px;margin:0;padding:10px 0 6px;font-size:12px;font-weight:800;letter-spacing:.2px;color:var(--jj-text-tertiary);text-transform:uppercase}#jjbot-panel .jjc-group h3 span{min-width:0;font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#jjbot-panel .jjc-group.is-fav h3{color:var(--jj-primary)}#jjbot-panel .jjc-item{padding:12px;margin-bottom:8px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface);transition:border-color var(--jj-duration-fast) var(--jj-ease)}#jjbot-panel .jjc-item:hover{border-color:var(--jj-border-strong)}#jjbot-panel .jjc-item.is-dim{background:var(--jj-surface-subtle)}#jjbot-panel .jjc-item.is-dim h4,#jjbot-panel .jjc-item.is-dim>p{color:var(--jj-text-tertiary)}#jjbot-panel .jjc-item header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;cursor:default}#jjbot-panel .jjc-item h4{margin:0;font-size:14px;line-height:20px;font-weight:700;color:var(--jj-text);word-break:keep-all}#jjbot-panel .jjc-item>p{margin:4px 0 0;font-size:12.5px;line-height:18px;color:var(--jj-text-secondary);word-break:keep-all}#jjbot-panel .jjc-kind{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--jj-radius-pill);font-size:11px;font-weight:700;white-space:nowrap;flex:none}#jjbot-panel .jjc-kind svg{width:12px;height:12px}#jjbot-panel .jjc-kind.is-lookup{background:var(--jj-success-bg);color:var(--jj-success-fg)}#jjbot-panel .jjc-kind.is-write{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}#jjbot-panel .jjc-kind.is-request{background:var(--jj-info-bg);color:var(--jj-info-fg)}#jjbot-panel .jjc-kind.is-locked{background:var(--jj-gray-100);color:var(--jj-text-tertiary)}#jjbot-panel .jjc-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}#jjbot-panel button.jjc-ex,#jjbot-panel .jjc-ex.is-note{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid transparent;border-radius:var(--jj-chip-radius);background:var(--jj-primary-50);color:var(--jj-primary-strong);font-size:13px;line-height:18px;font-weight:600;text-align:left;word-break:keep-all;overflow-wrap:anywhere;transition:background-color var(--jj-duration-fast) var(--jj-ease),border-color var(--jj-duration-fast) var(--jj-ease),transform var(--jj-duration-fast) var(--jj-ease)}#jjbot-panel button.jjc-ex:before{content:"\201c";opacity:.55}#jjbot-panel button.jjc-ex:after{content:"\201d";opacity:.55}#jjbot-panel button.jjc-ex.is-plain:before,#jjbot-panel button.jjc-ex.is-plain:after{content:none}#jjbot-panel button.jjc-ex:hover{background:var(--jj-primary-100);border-color:var(--jj-primary-200)}#jjbot-panel button.jjc-ex:active{transform:scale(.98)}#jjbot-panel button.jjc-ex:focus-visible{outline:0;border-color:var(--jj-primary);box-shadow:var(--jj-field-ring)}#jjbot-panel .jjc-ex.is-note{background:var(--jj-gray-100);color:var(--jj-text-tertiary);font-weight:500}#jjbot-panel .jjc-caution{display:flex;gap:6px;margin:8px 0 0;font-size:12px;line-height:16px;color:var(--jj-text-tertiary);word-break:keep-all}#jjbot-panel .jjc-caution:before{content:"\b7";flex:none;font-weight:800}#jjbot-panel .jjc-empty{margin:24px 0;padding:20px 16px;border-radius:var(--jj-radius-card);background:var(--jj-surface-subtle);text-align:center;word-break:keep-all}#jjbot-panel .jjc-empty strong{display:block;font-size:14px;color:var(--jj-text)}#jjbot-panel .jjc-empty p{margin:6px 0 12px;font-size:12.5px;line-height:18px;color:var(--jj-text-tertiary)}#jjbot-panel .jjc-soon{margin-top:12px;padding:0 12px;border:1px dashed var(--jj-border-strong);border-radius:var(--jj-radius-card);color:var(--jj-text-tertiary)}#jjbot-panel .jjc-soon summary{display:flex;align-items:baseline;gap:6px;min-height:40px;padding:10px 0;font-size:13px;font-weight:700;cursor:pointer;list-style:none}#jjbot-panel .jjc-soon summary::-webkit-details-marker{display:none}#jjbot-panel .jjc-soon summary:before{content:"";align-self:center;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--jj-duration) var(--jj-ease)}#jjbot-panel .jjc-soon[open] summary:before{transform:rotate(45deg)}#jjbot-panel .jjc-soon summary b{font-weight:800;color:var(--jj-text-secondary)}#jjbot-panel .jjc-soon summary span{font-size:11.5px;font-weight:500;margin-left:auto}#jjbot-panel .jjc-soon ul{margin:0;padding:0 0 12px;list-style:none}#jjbot-panel .jjc-soon li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;padding:5px 0;border-top:1px solid var(--jj-divider);font-size:12.5px;line-height:18px}#jjbot-panel .jjc-soon li span{font-weight:600;color:var(--jj-text-secondary)}#jjbot-panel .jjc-soon li em{font-style:normal;color:var(--jj-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle{display:inline-flex;align-items:center;gap:5px;width:auto;height:44px;padding:0 12px;border:1px solid var(--jj-border-strong);border-radius:var(--jj-radius-card);background:var(--jj-surface);color:var(--jj-text-secondary);font-size:13px;font-weight:700;flex:none}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle svg{width:18px;height:18px}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle:hover{background:var(--jj-surface-hover);color:var(--jj-text)}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle[aria-expanded=true]{background:var(--jj-primary-50);border-color:var(--jj-primary-200);color:var(--jj-primary)}@media(max-width:480px){#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle{width:44px;padding:0}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle span{display:none}}@media(prefers-reduced-motion:reduce){#jjbot-panel .jjbot-commands{animation:none}}.jjbot-action[data-record-type=announcement] .jjbot-action-summary,.jjbot-action[data-record-type=handoff] .jjbot-action-summary,.jjbot-action[data-record-type=staff-dm] .jjbot-action-summary{white-space:pre-wrap;overflow-wrap:anywhere}.jjbot-screen-open{align-items:center;margin-top:8px}#jjbot-panel .jjbot-score{display:grid;gap:8px}#jjbot-panel .jjbot-score-group{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:var(--jj-gray-50);padding:8px 10px}#jjbot-panel .jjbot-score-group header{padding:0;border:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:6px;font-size:13px}#jjbot-panel .jjbot-score-group header strong{color:var(--jj-gray-900)}#jjbot-panel .jjbot-score-exam{display:inline-flex;align-items:center;gap:4px;color:var(--jj-primary);font-weight:600}#jjbot-panel .jjbot-score-exam svg{width:14px;height:14px}#jjbot-panel .jjbot-score-exam small{color:var(--jj-gray-600);font-weight:400}#jjbot-panel .jjbot-score-change{margin-left:auto;font-size:12px}#jjbot-panel .jjbot-score-change summary{cursor:pointer;color:var(--jj-gray-600);text-decoration:underline;list-style:none}#jjbot-panel .jjbot-score-change summary::-webkit-details-marker{display:none}#jjbot-panel .jjbot-score-change[open]{flex-basis:100%;margin-left:0}#jjbot-panel .jjbot-score-change[open]>span{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}#jjbot-panel .jjbot-score-change button,#jjbot-panel .jjbot-quick-replies button{min-height:32px;padding:4px 12px;border:1px solid var(--jj-primary-200);border-radius:999px;background:var(--jj-surface, #fff);color:var(--jj-primary);font-size:13px;font-weight:600}#jjbot-panel .jjbot-quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}#jjbot-panel .jjbot-score ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}#jjbot-panel .jjbot-score li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:3px 0;font-size:13px;font-variant-numeric:tabular-nums}#jjbot-panel .jjbot-score-mark{flex:none;width:16px;text-align:center;font-weight:700}#jjbot-panel .jjbot-score li.is-ok .jjbot-score-mark,#jjbot-panel .jjbot-score li.is-same .jjbot-score-mark{color:var(--jj-success-fg)}#jjbot-panel .jjbot-score li.is-check .jjbot-score-mark,#jjbot-panel .jjbot-score li.is-warn .jjbot-score-mark{color:var(--jj-warning-fg)}#jjbot-panel .jjbot-score li.is-none,#jjbot-panel .jjbot-score li.is-deny,#jjbot-panel .jjbot-score-pts s{color:var(--jj-gray-600)}#jjbot-panel .jjbot-score-tag{padding:0 6px;border-radius:999px;background:var(--jj-warning-bg);color:var(--jj-warning-fg);font-size:11px;font-weight:600}#jjbot-panel .jjbot-score-memo,#jjbot-panel .jjbot-score-why{color:var(--jj-gray-600);font-size:12px}#jjbot-panel .jjbot-score li.is-warn .jjbot-score-why,#jjbot-panel .jjbot-score li.is-check .jjbot-score-why{flex-basis:100%;padding-left:24px;color:var(--jj-warning-fg)}#jjbot-panel .jjbot-score-note{padding:0;border:0;border-radius:0;background:none;display:flex;align-items:flex-start;gap:6px;margin:6px 0 0;color:var(--jj-gray-600);font-size:12px}#jjbot-panel .jjbot-score-note svg{flex:none;width:14px;height:14px;margin-top:1px}#jjbot-panel .jjbot-score.is-compact ul{display:flex;flex-wrap:wrap;gap:2px 12px}#jjbot-panel .jjbot-score.is-compact li{padding:0}#jjbot-panel .jjbot-score-edit{justify-self:start;font-size:13px}#jjbot-panel{--hl-name-fg: #1f4fd6;--hl-name-bg: #eaf0ff;--hl-when-fg: #b4540a;--hl-when-bg: #fff2e3;--hl-num-fg: #6a3fc4;--hl-num-bg: #f2ecff;--hl-good-fg: #137a4b;--hl-good-bg: #e5f6ec;--hl-key-fg: #24324a;--hl-key-bg: #f1f4f9;--hl-key-line: #d5dce8}:root[data-theme=dark] #jjbot-panel{--hl-name-fg: #a9c1ff;--hl-name-bg: rgba(86, 119, 255, .18);--hl-when-fg: #ffc38a;--hl-when-bg: rgba(240, 150, 60, .16);--hl-num-fg: #d2bcff;--hl-num-bg: rgba(150, 110, 255, .18);--hl-good-fg: #7fe3b2;--hl-good-bg: rgba(52, 201, 138, .16);--hl-key-fg: #e4e9f2;--hl-key-bg: rgba(255, 255, 255, .07);--hl-key-line: rgba(255, 255, 255, .16)}#jjbot-panel .jjbot-message .jjbot-bubble.is-rich{white-space:normal;padding:11px 14px;font-size:14px;line-height:1.65;color:var(--jj-gray-900);overflow-wrap:anywhere}#jjbot-panel .jjbot-bubble.is-rich>:is(.jjbot-para,.jjbot-list,.jjbot-steps){margin:0}#jjbot-panel .jjbot-bubble.is-rich>:is(.jjbot-para,.jjbot-list,.jjbot-steps)+*{margin-top:10px}:root[data-theme=dark] #jjbot-panel .jjbot-message .jjbot-bubble.is-rich{background:var(--jj-surface);border-color:var(--jj-gray-200);color:var(--jj-gray-900)}#jjbot-panel .jjbot-bubble.is-rich :is(.jjbot-list,.jjbot-steps){display:grid;gap:4px;margin-bottom:0;padding:0;list-style:none}#jjbot-panel .jjbot-bubble.is-rich .jjbot-list li,#jjbot-panel .jjbot-bubble.is-rich .jjbot-steps li{position:relative;padding-left:18px}#jjbot-panel .jjbot-bubble.is-rich .jjbot-list li:before{content:"";position:absolute;left:4px;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--jj-primary);opacity:.55}#jjbot-panel .jjbot-bubble.is-rich .jjbot-steps{counter-reset:jjstep var(--start, 0)}#jjbot-panel .jjbot-bubble.is-rich .jjbot-steps li{padding-left:30px;counter-increment:jjstep}#jjbot-panel .jjbot-bubble.is-rich .jjbot-steps li:before{content:counter(jjstep);position:absolute;left:0;top:.15em;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--hl-name-bg);color:var(--hl-name-fg);font-size:12px;font-weight:700;line-height:1}.jjbot-hl{padding:0 3px;border-radius:5px;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.jjbot-hl:is(.is-name,.is-when,.is-num,.is-short){white-space:nowrap}.jjbot-hl.is-name{color:var(--hl-name-fg);background:var(--hl-name-bg)}.jjbot-hl.is-when{color:var(--hl-when-fg);background:var(--hl-when-bg)}.jjbot-hl.is-num{color:var(--hl-num-fg);background:var(--hl-num-bg)}.jjbot-hl.is-good{color:var(--hl-good-fg);background:var(--hl-good-bg)}.jjbot-hl.is-key{padding:0 5px;border:1px solid var(--hl-key-line);color:var(--hl-key-fg);background:var(--hl-key-bg);font-weight:600}@media(forced-colors:active){.jjbot-hl{border:1px solid CanvasText}}#jjbot-panel .jjbot-action{display:block;position:relative;max-width:560px;padding:14px 16px 16px;border:1px solid var(--jj-gray-200);border-left:1px solid var(--jj-gray-200);border-radius:16px;background:var(--jj-surface, #fff);box-shadow:0 1px 2px #1018280a,0 4px 14px #1018280d}#jjbot-panel .jjbot-action:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:var(--tone-fg);opacity:.55}#jjbot-panel .jjbot-action.is-done{border-color:color-mix(in srgb,var(--jj-success) 45%,transparent);background:var(--jj-surface, #fff)}#jjbot-panel .jjbot-action.is-done:before{background:var(--jj-success);opacity:.8}#jjbot-panel .jjbot-action .jjbot-action-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;margin-bottom:8px}#jjbot-panel .jjbot-action .jjbot-action-kind{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--tone-fg);font-size:12px;font-weight:700}#jjbot-panel .jjbot-action .jjbot-kind-tile{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--tone-bg);color:var(--tone-fg)}#jjbot-panel .jjbot-action .jjbot-kind-tile svg{width:15px;height:15px}#jjbot-panel .jjbot-action .jjbot-action-kind .jjbot-help{width:22px;height:22px;min-height:22px;padding:2px;border:0;background:transparent;color:var(--jj-gray-500)}#jjbot-panel .jjbot-action .jjbot-action-body{display:grid;gap:10px}#jjbot-panel .jjbot-action .jjbot-card-headline{margin:0;color:var(--jj-gray-900);font-size:15px;font-weight:600;line-height:1.6;letter-spacing:-.01em}#jjbot-panel .jjbot-card-rows{display:grid;gap:6px;margin:0;padding:10px 12px;border-radius:12px;background:var(--jj-surface-subtle, #f7f8fa);list-style:none}#jjbot-panel .jjbot-card-rows li{display:flex;align-items:flex-start;gap:8px;color:var(--jj-gray-700);font-size:13px;line-height:1.55}#jjbot-panel .jjbot-card-rows li.is-strong{color:var(--jj-gray-900);font-weight:600}#jjbot-panel .jjbot-card-rows svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--jj-gray-500)}#jjbot-panel .jjbot-card-rows b{display:inline-block;min-width:44px;margin-right:8px;color:var(--jj-gray-500);font-weight:600}#jjbot-panel .jjbot-action .jjbot-effect{display:flex;align-items:flex-start;gap:6px;margin:0;padding:0;background:none;color:var(--jj-gray-600, var(--jj-gray-700));font-size:12.5px;line-height:1.55}#jjbot-panel .jjbot-action .jjbot-effect svg{flex:none;width:14px;height:14px;margin-top:2px;color:var(--tone-fg)}#jjbot-panel .jjbot-action .jjbot-chip{padding:3px 10px;font-size:11.5px;font-weight:600}#jjbot-panel .jjbot-action .jjbot-chip.is-wait{background:var(--jj-gray-100);color:var(--jj-gray-700)}#jjbot-panel .jjbot-action .jjbot-chip.is-wait:before{background:var(--jj-warning)}#jjbot-panel .jjbot-action .jjbot-chip.is-done{background:var(--jj-success-bg);color:var(--jj-success-fg)}#jjbot-panel .jjbot-action .jjbot-apply-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-apply{flex:1 1 auto;justify-content:center;gap:6px;min-height:46px;padding:10px 18px;border:0;border-radius:12px;background:var(--jj-primary);color:#fff;font-size:14.5px;font-weight:700;box-shadow:0 2px 6px color-mix(in srgb,var(--jj-primary) 30%,transparent);transition:transform .12s ease,box-shadow .12s ease}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-apply:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--jj-primary) 36%,transparent)}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-apply:active{transform:translateY(1px)}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-fix{flex:0 0 auto;min-height:46px;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:var(--jj-gray-600, var(--jj-gray-700));font-size:13.5px;font-weight:600}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-fix:hover{background:var(--jj-gray-100);color:var(--jj-gray-900)}#jjbot-panel .jjbot-action .jjbot-result{align-items:flex-start;gap:6px;color:var(--jj-success-fg);font-size:14px;font-weight:600;line-height:1.5}#jjbot-panel .jjbot-action .jjbot-result svg{flex:none;margin-top:3px}#jjbot-panel .jjbot-action .jjbot-result-time{margin:-6px 0 0 22px}#jjbot-panel .jjbot-action .jjbot-privacy{display:inline-flex;align-items:center;gap:4px;color:var(--jj-gray-600, var(--jj-gray-700));font-size:12px}#jjbot-panel .jjbot-action .jjbot-privacy svg{width:13px;height:13px}#jjbot-panel .jjbot-score-change summary{color:var(--jj-gray-600, var(--jj-gray-700));font-size:12px}@media(max-width:480px){#jjbot-panel .jjbot-action{padding:12px 12px 14px 14px}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-apply{flex-basis:100%}#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-fix{flex:1 1 100%;min-height:40px}}#jjbot-panel .jjbot-compose{align-items:flex-end;gap:8px}#jjbot-panel .jjbot-compose textarea{min-height:44px;height:44px;max-height:144px;padding:11px 14px;overflow-y:hidden;border:1px solid var(--jj-gray-200);border-radius:14px;outline:0;background:var(--jj-surface, #fff);box-shadow:inset 0 1px 2px #1018280d;color:var(--jj-gray-900);font-size:14px;line-height:20px;scrollbar-width:thin;scrollbar-color:var(--jj-gray-300, #c5ccd6) transparent;transition:border-color .15s ease,box-shadow .15s ease}#jjbot-panel .jjbot-compose textarea.is-scrolling{overflow-y:auto}#jjbot-panel .jjbot-compose textarea::-webkit-scrollbar{width:6px}#jjbot-panel .jjbot-compose textarea::-webkit-scrollbar-button{display:none;height:0}#jjbot-panel .jjbot-compose textarea::-webkit-scrollbar-thumb{border-radius:6px;background:var(--jj-gray-300, #c5ccd6)}#jjbot-panel .jjbot-compose textarea::-webkit-scrollbar-track{background:transparent}#jjbot-panel .jjbot-compose textarea::placeholder{overflow:hidden;color:var(--jj-gray-500);text-overflow:ellipsis;white-space:nowrap}#jjbot-panel .jjbot-compose textarea:hover{border-color:var(--jj-gray-300, #c5ccd6)}#jjbot-panel .jjbot-compose textarea:focus,#jjbot-panel .jjbot-compose textarea:focus-visible{border-color:color-mix(in srgb,var(--jj-primary) 55%,var(--jj-gray-200));outline:0;box-shadow:inset 0 1px 2px #1018280a,0 0 0 3px color-mix(in srgb,var(--jj-primary) 10%,transparent)}#jjbot-panel[data-channel=shared] .jjbot-compose textarea:focus,#jjbot-panel[data-channel=shared] .jjbot-compose textarea:focus-visible{border-color:color-mix(in srgb,#087e70 55%,var(--jj-gray-200));box-shadow:inset 0 1px 2px #1018280a,0 0 0 3px color-mix(in srgb,#087e70 10%,transparent)}#jjbot-panel .jjbot-compose>div{display:flex;align-items:center;align-self:flex-end;height:44px}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle,#jjbot-panel .jjbot-compose button.jjbot-send{align-self:flex-end;height:44px;min-height:44px;box-sizing:border-box;border-radius:14px}#jjbot-panel .jjbot-compose button.jjbot-cmd-toggle{border-color:var(--jj-gray-200);box-shadow:0 1px 2px #1018280a}#jjbot-panel .jjbot-compose button.jjbot-send{transition:opacity .15s ease,filter .15s ease}#jjbot-panel .jjbot-compose.is-empty button.jjbot-send{opacity:.45;filter:saturate(.6);cursor:default}#jjbot-panel .jjbot-compose :is(button,textarea):focus-visible{outline-offset:2px}:root[data-theme=dark] #jjbot-panel .jjbot-compose textarea{background:var(--jj-gray-50);box-shadow:inset 0 1px 2px #00000040}:root[data-theme=dark] #jjbot-panel .jjbot-action{box-shadow:0 1px 2px #0000004d}@media(prefers-reduced-motion:reduce){#jjbot-panel .jjbot-compose textarea,#jjbot-panel .jjbot-action .jjbot-apply-row>.jjbot-apply{transition:none}}@media(max-width:440px){#jjbot-panel .jjbot-commandbar{padding:4px 2px}#jjbot-panel .jjbot-commandbar .jjbot-header-space{display:none}#jjbot-panel .jjbot-commandbar button{min-width:30px}#jjbot-panel .jjbot-commandbar :is([data-bot-back],[data-bot-forward]){flex:0 0 30px;width:30px;padding:0}#jjbot-panel .jjbot-commandbar button:has(.cb-l){flex:1 1 0;min-width:0;padding:4px 1px 3px}#jjbot-panel .jjbot-commandbar .cb-l{font-size:10.5px;letter-spacing:-.04em}}#jjbot-panel .jjbot-avatar.is-room{background:#e3f7f5}#jjbot-panel .jjbot-avatar.is-chat{background:#fff4d6}#jjbot-panel .jjbot-avatar:is(.is-room,.is-chat) svg.mi{width:24px;height:24px}:root[data-theme=dark] #jjbot-panel .jjbot-avatar.is-room{background:#1d3836}:root[data-theme=dark] #jjbot-panel .jjbot-avatar.is-chat{background:#3a3322}html:root #jjbot-panel .jjbot-channels .jjbot-avatar.is-tab,html:root #jjbot-panel .jjbot-channels button[aria-pressed=false] .jjbot-avatar{width:20px;height:20px;background:none}#jjbot-panel .jjbot-channels svg.mi,#jjbot-panel .jjbot-channels .jjbot-avatar.is-tab svg.mi{width:20px;height:20px}#jjbot-panel .jjbot-commandbar button:has(.cb-l) svg.mi{width:21px;height:21px}#jjbot-panel>header .jjbot-guide-link svg.mi{width:18px;height:18px}#jjbot-panel :is(>header :is([data-bot-maximize],[data-bot-close]),.jjbot-commandbar :is([data-bot-back],[data-bot-forward])) svg{stroke-width:2;color:var(--jj-gray-700)}#jjbot-panel .jjbot-commandbar :is([data-bot-back],[data-bot-forward]):disabled svg{color:var(--jj-gray-300)}#jjbot-panel :is(.sw-symbol,.jjp-chat,.sw-form strong,.jjbot-quick button) svg.mi,.sm-new-form h3 svg.mi{width:20px;height:20px}#jjbot-panel .sw-symbol svg.mi{width:24px;height:24px}.rt-source{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none;resize:none}.rt-box{display:flex;flex-direction:column;border-radius:var(--jj-radius-control, 10px);background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);font-weight:400;transition:box-shadow .15s ease}.rt-box:focus-within{box-shadow:inset 0 0 0 1.5px var(--jj-primary),0 0 0 3px var(--jj-primary-50)}.rt-box.is-invalid{box-shadow:inset 0 0 0 1.5px var(--jj-danger-fg)}.rt-toolbar{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--jj-divider, var(--jj-border))}.rt-box:not(:focus-within) .rt-toolbar{opacity:.55}.rt-toolbar button{flex:none;cursor:pointer}.rt-bold{width:28px;height:28px;min-height:28px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;font-weight:900!important;font-size:14px!important;color:var(--jj-text)!important}.rt-bold:hover{background:var(--jj-gray-100)!important}.rt-sep{width:1px;height:16px;background:var(--jj-border)}.rt-swatch{width:18px;height:18px;min-height:18px!important;padding:0!important;border:2px solid var(--jj-surface)!important;border-radius:999px!important;box-shadow:0 0 0 1px var(--jj-border)!important}.rt-swatch:hover{transform:scale(1.15)}.rt-editor{min-height:3.2em;max-height:320px;overflow:auto;padding:9px 12px;font-size:15px;line-height:1.55;color:var(--jj-text);outline:none;overflow-wrap:anywhere;white-space:pre-wrap;text-align:left}.rt-editor.is-empty:before{content:attr(data-placeholder);color:var(--jj-text-tertiary);pointer-events:none;position:absolute}.rt-editor b,.rt-editor strong,.rich-text strong{font-weight:800}.rt-editor:not([contenteditable]){background:var(--jj-surface-subtle, var(--jj-gray-50));border-radius:inherit;color:var(--jj-text-secondary)}@media(max-width:700px){.rt-editor{font-size:16px}.rt-swatch{width:22px;height:22px}.rt-bold{width:32px;height:32px}}.rt-swatch.rl-bg-ink{background:var(--jj-text)!important}.rt-swatch.rl-bg-red{background:#e5484d!important}.rt-swatch.rl-bg-orange{background:#e8790c!important}.rt-swatch.rl-bg-green{background:#18a058!important}.rt-swatch.rl-bg-blue{background:#3155e7!important}.rt-swatch.rl-bg-purple{background:#7c4dff!important}.member-account-list .member-account-row{border-radius:14px;transition:background .15s ease}.member-account-list .member-account-row:hover{background:var(--jj-surface-subtle, var(--jj-gray-50))}.member-account-list .member-account-row[aria-pressed=true]{background:var(--jj-primary-50);box-shadow:inset 0 0 0 1.5px var(--jj-primary-200)}.member-account-avatar{background:linear-gradient(135deg,var(--jj-primary-50),var(--jj-gray-100));color:var(--jj-primary);font-weight:800}.member-detail-header{padding-bottom:14px;border-bottom:1px solid var(--jj-divider)}.member-detail-header h2{font-size:22px;font-weight:800;letter-spacing:-.02em}.member-detail-header p{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--jj-success-bg);color:var(--jj-success-fg);font-size:12px;font-weight:700}.member-detail-header>button{border-radius:999px;padding:0 16px;min-height:38px;color:var(--jj-danger-fg);border-color:color-mix(in srgb,var(--jj-danger-fg) 30%,var(--jj-border));background:var(--jj-surface)}.member-account-facts{gap:10px}.member-account-facts>div{padding:12px 14px;border-radius:14px;background:var(--jj-surface-subtle, var(--jj-gray-50));box-shadow:inset 0 0 0 1px var(--jj-divider)}.member-account-facts dt{font-weight:600}.member-account-facts dd{font-weight:600;color:var(--jj-text)}.member-account-detail [data-member-editor] h3,.staff-editor h3{display:flex;align-items:center;gap:10px;margin:22px 0 12px;font-size:17px;font-weight:800}.member-account-detail [data-member-editor] h3:before,.staff-editor h3:before{content:"";width:4px;height:18px;border-radius:4px;background:var(--jj-primary)}.member-account-detail [data-member-editor] form>label,.member-account-detail [data-member-staff]>label{font-weight:700;font-size:13px;color:var(--jj-text-secondary)}.member-account-detail [data-member-editor] select{border-radius:12px;min-height:48px;font-weight:600}.member-account-detail [data-member-staff]>button,.staff-editor [data-member-preset],.staff-editor .permission-preset button{min-height:38px;padding:0 14px;margin:10px 6px 0 0;border-radius:999px;font-size:13px;font-weight:700;background:var(--jj-surface);color:var(--jj-primary);border:1px solid var(--jj-primary-200)}.staff-permissions{gap:10px!important;padding:16px!important;border:0!important;border-radius:18px!important;background:var(--jj-surface-subtle, var(--jj-gray-50));box-shadow:inset 0 0 0 1px var(--jj-divider)}.staff-permissions legend{float:left;width:100%;margin-bottom:4px;padding:0;font-size:15px;font-weight:800;color:var(--jj-text)}.staff-permissions .staff-permission-actions{grid-column:1 / -1;margin:0 0 4px}.staff-permissions .staff-permission-actions button{min-height:32px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--jj-surface)}.staff-permissions label{position:relative;align-items:center!important;gap:12px!important;min-height:64px;padding:12px 64px 12px 14px;border-radius:14px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);cursor:pointer;transition:box-shadow .15s ease,background .15s ease}.staff-permissions label:has(input:checked){background:color-mix(in srgb,var(--jj-primary) 7%,var(--jj-surface));box-shadow:inset 0 0 0 1.5px var(--jj-primary-200)}.staff-permissions label:has(input:disabled){opacity:.55;cursor:not-allowed}.staff-permissions label strong{font-size:14px;font-weight:700}.staff-permissions input[type=checkbox]{appearance:none;-webkit-appearance:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px!important;height:24px!important;margin:0!important;border-radius:999px;background:var(--jj-gray-300);transition:background .18s ease;cursor:inherit}.staff-permissions input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s ease}.staff-permissions input[type=checkbox]:checked{background:var(--jj-primary)}.staff-permissions input[type=checkbox]:checked:after{transform:translate(16px)}.staff-permissions input[type=checkbox]:focus-visible{outline:2px solid var(--jj-primary);outline-offset:2px}.member-account-detail [data-member-editor] button.primary{min-height:48px;border-radius:14px;font-weight:800}@media(max-width:760px){.staff-permissions label{min-height:58px}}.staff-editor h2{font-size:22px;font-weight:800;letter-spacing:-.02em}.staff-editor form button:not(.primary):not([data-permissions-all]):not([data-permissions-none]){min-height:38px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--jj-primary);border:1px solid var(--jj-primary-200);background:var(--jj-surface)}.staff-editor label.staff-owner{align-items:center;padding:12px 14px;border-radius:14px;background:var(--jj-warning-bg);font-weight:700}.staff-list button[data-staff-id]{transition:background .15s ease}.member-detail-header .member-remove-button{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.member-detail-header .member-remove-button svg{width:15px;height:15px}.member-select-toggle{border-radius:999px;font-weight:700}.member-pickbar{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:8px;margin:10px 0;padding:10px 12px 10px 16px;border-radius:16px;background:var(--jj-text);color:var(--jj-surface);box-shadow:var(--jj-shadow-2)}.member-pickbar[hidden]{display:none}.member-pickbar [data-pick-count]{flex:1;font-weight:700;font-size:14px}.member-pickbar button{min-height:36px;padding:0 14px;border-radius:999px;border:0;font-weight:700}.member-pickbar button.danger{display:inline-flex;align-items:center;gap:4px;background:#e5484d;color:#fff}.member-pickbar button.danger:disabled{opacity:.45}.member-pickbar button svg{width:15px;height:15px}.member-pick{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;box-shadow:inset 0 0 0 2px var(--jj-border-strong);color:transparent}.member-pick svg{width:15px;height:15px;stroke-width:3}.member-account-row.is-picked .member-pick{background:#e5484d;box-shadow:none;color:#fff}.member-account-list .member-account-row.is-picked{background:color-mix(in srgb,#e5484d 9%,var(--jj-surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#e5484d 40%,transparent)}.member-account-row:disabled{opacity:.45}.member-remove-dialog{width:min(460px,calc(100vw - 24px));border-radius:22px;background:var(--jj-surface)}.member-remove-dialog form{display:flex;flex-direction:column;gap:12px;padding:22px}.member-remove-dialog h3{display:flex;align-items:center;gap:8px;margin:0;font-size:19px;font-weight:800}.member-remove-dialog h3 svg{width:20px;height:20px;color:#e5484d}.member-remove-dialog ul{list-style:none;margin:0;padding:6px;max-height:200px;overflow:auto;border-radius:14px;background:var(--jj-surface-subtle, var(--jj-gray-50))}.member-remove-dialog li{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;font-size:14px}.member-remove-dialog li small{color:var(--jj-text-tertiary);font-size:12px}.member-remove-facts p{display:flex;gap:8px;margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--jj-text-secondary)}.member-remove-facts svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--jj-success-fg)}.member-remove-facts p.is-warn{color:#c4363b;font-weight:700}.member-remove-facts p.is-warn svg{color:#e5484d}.member-remove-dialog label{font-size:13px;font-weight:600}.member-remove-dialog input{width:100%;min-height:46px;margin-top:6px;border-radius:12px;font-size:16px}.member-remove-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-remove-dialog footer button{min-height:46px;border-radius:14px;font-weight:700}.member-remove-dialog footer button.danger{background:#e5484d;border-color:#e5484d;color:#fff}.member-remove-dialog footer button.danger:disabled{opacity:.45}.member-remove-dialog [role=alert]:empty{display:none}.member-account-row.is-picking>span:nth-child(2){flex:none}.member-account-row.is-picking>span:nth-child(3){flex:1;min-width:0}.member-detail-header{justify-content:flex-start}.member-detail-header>div{margin-right:auto}.member-remove-dialog label{display:block}.member-issue-open{display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-weight:700;color:var(--jj-primary);border-color:var(--jj-primary-200)}.member-issue-open svg{width:16px;height:16px}.ia-dialog{width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:0;border-radius:22px;background:var(--jj-surface)}.ia-wrap{display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}.ia-head{display:flex;justify-content:space-between;gap:12px;padding:22px 22px 10px}.ia-head h2{margin:0 0 6px;font-size:21px;font-weight:800}.ia-head p{margin:0;font-size:13.5px;line-height:1.6;color:var(--jj-text-secondary)}.ia-head b{color:var(--jj-primary)}.ia-x{flex:none;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:999px;background:transparent;display:grid;place-items:center}.ia-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 22px}.ia-search{position:relative;display:flex;flex-direction:row;align-items:center;flex:1 1 220px;font-weight:400}.ia-search svg{position:absolute;left:12px;width:16px;height:16px;color:var(--jj-text-tertiary)}.ia-search input{width:100%;min-height:40px;padding-left:36px;border-radius:999px}.ia-summary{font-size:12.5px;color:var(--jj-text-tertiary)}.ia-tools button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 14px;border-radius:999px;font-weight:700;font-size:13px}.ia-tools button svg{width:15px;height:15px}.ia-note{display:flex;align-items:center;gap:6px;margin:4px 22px 8px;padding:10px 12px;border-radius:12px;background:var(--jj-primary-50);color:var(--jj-primary-hover);font-size:12.5px}.ia-note svg{flex:none;width:15px;height:15px}.ia-table{flex:1;overflow:auto;padding:0 22px 12px}.ia-table table{width:100%;border-collapse:collapse;font-size:13.5px}.ia-table th{position:sticky;top:0;z-index:1;padding:10px 8px;background:var(--jj-surface);border-bottom:1px solid var(--jj-border);text-align:left;font-size:12px;color:var(--jj-text-tertiary)}.ia-table td{padding:10px 8px;border-bottom:1px solid var(--jj-divider);vertical-align:top}.ia-table tr.is-done td{background:color-mix(in srgb,var(--jj-success-bg) 45%,transparent)}.ia-table td strong{display:block;font-weight:800}.ia-table td small{color:var(--jj-text-tertiary);font-size:12px}.ia-pick-col{width:36px}.ia-pick-col input{width:20px;height:20px;accent-color:var(--jj-primary)}.ia-ok{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--jj-success-fg);color:#fff}.ia-ok svg{width:14px;height:14px;stroke-width:3}.ia-none{color:var(--jj-text-disabled)}.ia-account{display:grid;gap:2px}.ia-account b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--jj-text)}.ia-account.is-waiting small{color:var(--jj-warning-fg)}.ia-reset{justify-self:start;min-height:26px;margin-top:2px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:700}.ia-empty,.ia-loading{padding:30px;text-align:center;color:var(--jj-text-tertiary)}.ia-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 22px 18px;border-top:1px solid var(--jj-divider)}.ia-foot[hidden]{display:none}.ia-foot button{min-height:44px;border-radius:14px;font-weight:800}@media(max-width:700px){.ia-table thead{display:none}.ia-table tr{display:grid;grid-template-columns:36px 1fr;padding:8px 0;border-bottom:1px solid var(--jj-divider)}.ia-table td{border:0;padding:4px 6px}.ia-table td:nth-child(n+3){grid-column:2}}.first-password{width:min(400px,calc(100vw - 24px));border-radius:24px;background:var(--jj-surface)}.first-password form{display:flex;flex-direction:column;gap:12px;padding:26px 22px 20px;text-align:center}.first-password-mark{font-size:40px}.first-password h2{margin:0;font-size:22px;font-weight:800}.first-password p{margin:0;font-size:14px;line-height:1.6;color:var(--jj-text-secondary)}.first-password label{text-align:left;font-size:13px;font-weight:700}.first-password input{width:100%;min-height:48px;margin-top:6px;border-radius:12px;font-size:16px}.first-password .first-password-error{color:var(--jj-danger-fg);font-weight:600}.first-password .first-password-error:empty{display:none}.first-password button.primary{min-height:50px;border-radius:14px;font-weight:800}.first-password-out{border:0;background:transparent;color:var(--jj-text-tertiary);font-size:13px}.jj-dialog.ia-dialog{width:min(1040px,calc(100vw - 24px));max-width:none}.ia-status{margin:0 22px 6px;font-size:13px;font-weight:700;color:var(--jj-success-fg)}.ia-status:empty{display:none}.teacher-link{margin:18px 0 4px;padding:16px;border-radius:18px;background:color-mix(in srgb,var(--jj-primary) 5%,var(--jj-surface));box-shadow:inset 0 0 0 1px var(--jj-primary-100, var(--jj-border))}.teacher-link h3{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:17px;font-weight:800}.teacher-link h3:before{content:"";width:4px;height:18px;border-radius:4px;background:var(--jj-primary)}.tl-hint{margin:0 0 12px;font-size:13px;color:var(--jj-text-secondary)}.tl-linked,.tl-none,.tl-suggest{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border);margin-bottom:8px}.tl-linked>svg{flex:none;width:22px;height:22px;padding:3px;border-radius:999px;background:var(--jj-success-fg);color:#fff;stroke-width:3}.tl-linked>div{flex:1;display:grid}.tl-linked strong{font-size:15px;font-weight:800}.tl-linked small{font-size:12px;color:var(--jj-text-tertiary)}.tl-linked button{min-height:34px;padding:0 12px;border-radius:999px;font-size:12.5px;color:var(--jj-text-tertiary)}.tl-none{color:var(--jj-text-tertiary);font-size:13.5px}.tl-none svg,.tl-suggest svg{flex:none;width:18px;height:18px}.tl-suggest{justify-content:space-between;background:var(--jj-primary-50);box-shadow:inset 0 0 0 1.5px var(--jj-primary-200);font-size:13.5px}.tl-suggest span{display:flex;align-items:center;gap:8px}.tl-suggest button,.tl-pick button{flex:none;min-height:38px;padding:0 16px;border-radius:999px;font-weight:800}.tl-pick{display:flex;align-items:flex-end;gap:8px;margin-top:6px}.tl-pick label{flex:1;font-size:12.5px;font-weight:700;color:var(--jj-text-secondary)}.tl-pick select{width:100%;min-height:42px;margin-top:4px;border-radius:12px}.tl-message{margin:6px 0 0;font-size:13px;font-weight:700;color:var(--jj-success-fg)}.tl-message:empty{display:none}.teacher-link .tl-suggest>span{flex:1;min-width:0}.member-account-detail .teacher-link .tl-suggest>button,.member-account-detail .teacher-link .tl-pick>button{width:auto;min-width:0;max-width:none}.member-account-detail .teacher-link .tl-pick>button{margin-bottom:2px}.member-account-detail .teacher-link button.primary{margin-top:0}.aid-open{display:inline-flex;align-items:center;gap:5px;height:32px;margin:0;padding:0 12px;border:1px solid var(--jj-primary-200, #c3d0fa);border-radius:var(--jj-field-radius, 10px);background:var(--jj-surface, #fff);color:var(--jj-primary, #3155e7);font-size:12.5px;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}.aid-open:hover{border-color:var(--jj-primary, #3155e7);background:var(--jj-primary-50, #eef2ff)}.aid-open svg{width:14px;height:14px}.aid-form{display:grid;gap:12px;margin:10px 0 4px;padding:16px;border-radius:12px;background:var(--jj-gray-50, #f6f8fb);box-shadow:inset 0 0 0 1px var(--jj-border, #e3e8ef);word-break:keep-all}.aid-title{margin:0;font-size:14px;font-weight:800}.aid-form label{display:grid;gap:6px;font-size:12.5px;font-weight:700;line-height:16px;color:var(--jj-text-secondary, #5f6b7a)}.aid-form input{box-sizing:border-box;width:100%;min-height:var(--jj-field-h, 44px);padding:0 12px;border:1px solid var(--jj-field-border, #cfd6e0);border-radius:var(--jj-field-radius, 10px);background:var(--jj-surface, #fff);font-size:15px;font-weight:600}.aid-form input[name=username]{font-family:var(--jj-font);letter-spacing:.01em}.aid-form input:focus-visible{outline:0;border-color:var(--jj-primary, #3155e7);box-shadow:var(--jj-field-ring)}.aid-form input[aria-invalid=true]{border-color:var(--jj-danger, #e0364c);box-shadow:var(--jj-field-ring-danger)}.aid-hint{margin:0;color:var(--jj-text-tertiary, #7b8494);font-size:12px;line-height:1.5}.aid-error{margin:0;color:var(--jj-danger-fg, #c2334d);font-size:12.5px;font-weight:700}.aid-error:empty{display:none}.aid-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.aid-actions button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 14px;border-radius:var(--jj-field-radius, 10px);font-size:13.5px}.aid-actions svg{width:15px;height:15px}.student-app-accounts{display:grid;gap:4px;margin:10px 0 14px;padding:14px 16px;border-radius:14px;background:var(--jj-gray-50, #f6f8fb);box-shadow:inset 0 0 0 1px var(--jj-border, #e3e8ef)}.saa-title{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:14px;font-weight:800}.saa-title svg{width:16px;height:16px;color:var(--jj-primary, #3155e7)}.saa-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:48px;padding:6px 0;border-top:1px solid var(--jj-border, #e3e8ef)}.saa-kind{min-width:48px;color:var(--jj-text-secondary, #5f6b7a);font-size:12.5px;font-weight:800}.saa-row b{font-size:15px;letter-spacing:.01em}.saa-row small{color:var(--jj-text-tertiary, #7b8494)}.saa-row .aid-open{margin:0 0 0 auto}.saa-row .aid-form{flex-basis:100%;background:var(--jj-surface, #fff)}.saa-status{margin:6px 0 0;color:var(--jj-success-fg, #15803d);font-size:13px;font-weight:700}.saa-status:empty{display:none}.member-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.member-kinds button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--jj-border, #dfe3ea);border-radius:999px;background:var(--jj-surface, #fff);color:var(--jj-text-secondary, #5f6b7a);font:inherit;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.member-kinds button svg{width:17px;height:17px}.member-kinds button b{min-width:24px;padding:2px 8px;border-radius:999px;background:var(--jj-gray-100, #eef1f5);color:var(--jj-text-secondary, #5f6b7a);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.member-kinds button[aria-selected=true]{border-color:var(--jj-primary, #3155e7);background:var(--jj-primary, #3155e7);color:#fff;box-shadow:0 10px 20px -12px var(--jj-primary, #3155e7)}.member-kinds button[aria-selected=true] b{background:#ffffff38;color:#fff}.aid-check{display:flex;align-items:center;gap:4px;margin:-6px 0 0;font-size:12.5px;font-weight:700;line-height:16px}.aid-check:empty{display:none}.aid-check.is-ok{color:var(--jj-success-fg, #15803d)}.aid-check.is-ok:before{content:"\2713";font-weight:800}.aid-check.is-bad{color:var(--jj-danger-fg, #c2334d)}.aid-check.is-bad:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--jj-danger-bg, #fdecee);font-size:10px;font-weight:900}.aid-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 0;font-size:12.5px;font-weight:600;color:var(--jj-text-secondary, #5f6b7a)}.aid-suggest:empty{display:none}.aid-suggest button{height:32px;padding:0 12px;border:1px solid var(--jj-primary-200, #c3d0fa);border-radius:999px;background:var(--jj-surface, #fff);color:var(--jj-primary, #3155e7);font:inherit;font-size:13px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .12s,border-color .12s}.aid-suggest button:hover{border-color:var(--jj-primary, #3155e7);background:var(--jj-primary-50, #eef2ff)}.saa-row .saa-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;user-select:all}.saa-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;flex-basis:100%;padding-left:60px}.saa-more .ia-reset{margin:0}.pw-state{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;line-height:1.35;color:var(--jj-success-fg);background:var(--jj-success-bg)}.pw-state svg{flex:none;width:14px;height:14px}.pw-state.is-reset,.pw-state.is-academy{color:var(--jj-warning-fg);background:var(--jj-warning-bg)}.ia-reset{display:inline-flex;align-items:center;gap:5px}.ia-reset svg{width:13px;height:13px}.aid-history{flex-basis:100%;font-size:12.5px;color:var(--jj-text-secondary)}.aid-history summary{display:inline-flex;align-items:center;gap:5px;min-height:28px;cursor:pointer;font-weight:700;color:var(--jj-primary)}.aid-history summary svg{width:14px;height:14px}.aid-history ul{display:grid;gap:4px;margin:4px 0 2px;padding:0;list-style:none}.aid-history li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:6px 10px;border-radius:10px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border)}.aid-history time{color:var(--jj-text-tertiary);font-variant-numeric:tabular-nums}.aid-history s{color:var(--jj-text-tertiary)}.aid-history li b,.aid-history li s{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.aid-history small{margin-left:auto;color:var(--jj-text-tertiary)}.member-account-facts>.is-wide{grid-column:1 / -1}.member-pw{display:flex;flex-wrap:wrap;align-items:center;gap:8px}@media(max-width:520px){.saa-more{padding-left:0}}.own-login{margin:0 0 16px}.own-login h2{display:flex;align-items:center;gap:8px}.own-login h2 svg{width:20px;height:20px;color:var(--jj-primary)}.own-login-id{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:4px 0 8px;padding:14px 16px;border-radius:14px;background:var(--jj-primary-50);box-shadow:inset 0 0 0 1px var(--jj-primary-100)}.own-login-id span{color:var(--jj-text-secondary);font-size:13px;font-weight:700}.own-login-id b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;color:var(--jj-text);overflow-wrap:anywhere}.own-login-id small{margin-left:auto;color:var(--jj-text-tertiary);font-size:12.5px}.own-login-note,.own-login-hint{margin:0 0 12px;color:var(--jj-text-tertiary);font-size:13px;line-height:1.55}.own-login-box{margin:0 0 10px;border-radius:14px;background:var(--jj-surface);box-shadow:inset 0 0 0 1px var(--jj-border)}.own-login-box>summary{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 16px;cursor:pointer;list-style:none;font-weight:700}.own-login-box>summary::-webkit-details-marker{display:none}.own-login-box>summary svg{width:17px;height:17px;color:var(--jj-text-secondary)}.own-login-box>summary svg:last-child{margin-left:auto;transition:transform .18s ease}.own-login-box[open]>summary svg:last-child{transform:rotate(180deg)}.own-login-box form{display:grid;gap:10px;padding:4px 16px 16px}.own-login-box label{display:grid;gap:6px;font-size:13.5px;font-weight:700}.own-login-box input{width:100%;min-width:0}.own-login-box .own-login-hint{margin:0}.own-login-check{margin:-4px 0 0;font-size:13px;font-weight:700}.own-login-check:empty,.own-login-error:empty,.own-login-done:empty{display:none}.own-login-check.is-ok{color:var(--jj-success-fg)}.own-login-check.is-bad,.own-login-error{color:var(--jj-danger-fg)}.own-login-error{margin:0;font-size:13px;font-weight:700}.own-login-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--jj-text-tertiary)}.own-login-suggest:empty{display:none}.own-login-suggest button{min-height:30px;padding:0 10px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.own-login-box .primary{justify-self:start;min-height:44px}.own-login-done{margin:4px 0 0;padding:12px 14px;border-radius:12px;color:var(--jj-success-fg);background:var(--jj-success-bg);font-size:13.5px;font-weight:700}@media(max-width:520px){.own-login-box .primary{justify-self:stretch}}.member-tutorial{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--jj-gray-150);border-radius:12px;background:var(--jj-primary-50)}.member-tutorial>div{flex:1;min-width:0}.member-tutorial strong{display:flex;align-items:center;gap:6px;color:var(--jj-gray-900);font-size:13.5px}.member-tutorial strong svg{width:16px;height:16px;color:var(--jj-primary)}.member-tutorial small{display:block;margin-top:2px;color:var(--jj-gray-600);font-size:12px;word-break:keep-all}.member-tutorial button{flex:none;white-space:nowrap}.vis-tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 8px 1px 6px;border-radius:999px;font-size:11px;font-weight:700;line-height:18px;vertical-align:middle;white-space:nowrap}.vis-tag svg{width:12px;height:12px;stroke-width:2.4}.vis-tag.is-family{background:#fff1e2;color:#b55a00}.vis-tag.is-staff{background:var(--jj-gray-100);color:var(--jj-text-secondary)}:root[data-theme=dark] .vis-tag.is-family{background:#f5a93b29;color:#ffc06b}label>.vis-tag,legend>.vis-tag,.arrival-legend>.vis-tag{align-self:flex-start;width:fit-content}label>.vis-tag{margin:2px 0}.vis-tag.is-family{padding:2px 10px 2px 7px;font-size:11.5px;font-weight:800;background:#ffe7cc;color:#a34d00;box-shadow:inset 0 0 0 1px #f7b670}label:has(>.vis-tag.is-family)>textarea,label:has(>.vis-tag.is-family)>input,label:has(>.vis-tag.is-family)>.rt-box{background:#fffaf3;box-shadow:inset 0 0 0 1.5px #f2a65a;border-color:#f2a65a}label:has(>.vis-tag.is-family)>.rt-box:focus-within{box-shadow:inset 0 0 0 2px #e8790c,0 0 0 3px #ffe7cc}label:has(>.vis-tag.is-family)>.rt-box .rt-editor,label:has(>.vis-tag.is-family)>.rt-box .rt-toolbar{background:transparent}:root[data-theme=dark] .vis-tag.is-family{background:#f2a65a2e;color:#ffc387;box-shadow:inset 0 0 0 1px #f2a65a73}:root[data-theme=dark] label:has(>.vis-tag.is-family)>textarea,:root[data-theme=dark] label:has(>.vis-tag.is-family)>input,:root[data-theme=dark] label:has(>.vis-tag.is-family)>.rt-box{background:#f2a65a12;box-shadow:inset 0 0 0 1.5px #f2a65a8c}.presence-page,.visits-page{min-width:0;color:var(--jj-gray-900)}.presence-page h2{font-size:20px;margin:0}.presence-page h3{font-size:15px;margin:10px 0}.presence-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px}.presence-toolbar label{display:grid;gap:4px;font-size:12px}.presence-toolbar input,.presence-toolbar select{height:42px;width:auto;min-width:0;max-width:100%;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);padding:8px;background:#fff}.presence-toolbar .presence-check{display:flex;align-items:center;gap:6px}.presence-toolbar input[type=checkbox]{width:18px;height:18px;min-height:18px}.presence-help{position:relative;max-width:100%;font-size:13px}.presence-help summary{cursor:pointer;border:1px solid var(--jj-gray-300);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.presence-help[open]{flex-basis:100%;background:#fff;padding:12px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control)}.presence-help p{line-height:1.65;max-width:800px}.visit-summary{padding:10px 0 16px;font-size:14px}.visit-summary strong{color:var(--jj-primary)}.visit-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;padding:13px;margin:8px 0}.visit-row[hidden]{display:none}.visit-student{display:flex;flex-direction:column;gap:5px}.visit-student strong{font-size:16px}.visit-student small,.visit-row small{font-size:12px;color:var(--jj-gray-600)}.visit-row fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(95px,1fr) minmax(90px,1fr) minmax(85px,1fr) minmax(90px,1fr) auto;gap:8px;align-items:end}.visit-row label{display:grid;gap:4px;font-size:12px;min-width:0}.visit-row input,.visit-row select,.presence-day-detail input,.presence-day-detail select{width:100%;min-width:0;max-width:100%;height:42px;padding:8px;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-900)}.visit-row button{height:42px;white-space:nowrap;padding:8px 12px}.visit-row details{font-size:12px;margin-top:8px}.visit-row details summary{cursor:pointer;color:var(--jj-gray-600)}.visit-result{font-size:12px;color:var(--jj-primary-strong);margin:8px 0 0}.visit-due .visit-row{grid-template-columns:145px 1fr minmax(180px,260px)}.presence-empty{padding:24px;color:var(--jj-gray-600);line-height:1.6}.presence-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.presence-metrics>div{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:14px;background:#fff}.presence-metrics span{font-size:12px;color:var(--jj-gray-600);display:block;margin-bottom:6px}.presence-metrics strong{font-size:22px}.presence-metrics small{font-size:13px;margin-left:4px}.presence-banner{font-size:13px;padding:10px 12px;background:var(--jj-warning-bg);border-radius:var(--jj-radius-control);color:var(--jj-warning-fg);line-height:1.6}.presence-trend{border:1px solid var(--jj-gray-200);background:#fff;border-radius:var(--jj-radius-control);padding:12px;margin-bottom:14px}.presence-trend h3 small{font-size:12px;color:var(--jj-gray-600);font-weight:400}.presence-chart-scroll{overflow-x:auto}.presence-chart{display:block;width:100%;min-width:650px;height:165px}.presence-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:16px;align-items:start}.presence-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.presence-weekday{text-align:center;font-size:12px;color:var(--jj-gray-600);padding:5px}.presence-cal-day{padding:8px 4px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:78px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;min-width:0}.presence-cal-day.attended{background:var(--jj-primary-50)}.presence-cal-day.absent{border-bottom:3px solid var(--jj-danger)}.presence-cal-day[aria-pressed=true]{outline:2px solid var(--jj-primary);outline-offset:-2px}.presence-cal-day small,.presence-cal-day em{font-size:10px;font-style:normal;white-space:normal;line-height:1.4}.presence-cal-day em{color:var(--jj-danger)}.presence-legend{font-size:12px;color:var(--jj-gray-600);line-height:1.6}.presence-day-detail{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;padding:16px;min-width:0}.presence-day-detail p{font-size:13px;line-height:1.6}.presence-event{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--jj-gray-150);font-size:13px}.presence-event span{color:var(--jj-gray-600)}.presence-expectation{padding:12px 0;border-bottom:1px solid var(--jj-gray-150);font-size:13px}.presence-expectation form{display:grid;gap:8px;padding-top:8px}.presence-expectation label{display:grid;gap:4px}.presence-expectation summary{color:var(--jj-primary);cursor:pointer}.presence-form-result{color:var(--jj-danger)}@media(max-width:1100px){.visit-row fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}.presence-layout{grid-template-columns:1fr}.presence-metrics strong{font-size:19px}}@media(max-width:600px){.visit-row,.visit-due .visit-row{grid-template-columns:1fr;gap:10px}.visit-row fieldset{grid-template-columns:1fr 1fr}.visit-student{display:grid;grid-template-columns:1fr auto}.visit-student small:first-of-type{grid-column:1}.visit-student small:last-child{grid-column:2;grid-row:1}.visit-row input,.visit-row select,.visit-row button,.presence-toolbar input,.presence-toolbar select,.presence-day-detail input,.presence-day-detail select{min-height:44px}.presence-metrics{grid-template-columns:1fr 1fr;gap:8px}.presence-metrics>div{padding:10px}.presence-metrics strong{font-size:18px}.presence-cal-day{min-height:68px;padding:6px 3px;gap:4px}.presence-cal-day small{font-size:9px}.presence-day-detail{padding:12px}}.ops-kiosk .kiosk-campus-hint{color:var(--jj-gray-600);font-size:14px}.ops-kiosk #kiosk-voice{font-size:13px;min-height:44px;margin-bottom:12px}.ops-kiosk #kiosk-error:not(:empty){padding:14px;background:#fff0eb;color:var(--jj-danger-fg);border-radius:var(--jj-radius-control);font-size:18px;line-height:1.6}.ops-kiosk .ops-keypad button{min-height:70px;border-radius:var(--jj-radius-card)}.ops-kiosk .ops-tabs button{min-height:48px}.ops-kiosk #choices button{min-height:52px;margin:5px;font-size:16px}.staff-list button[data-staff-id]{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:0;border-bottom:1px solid var(--line, var(--jj-gray-200));border-radius:0;text-align:left}.staff-list button[aria-pressed=true]{background:var(--primary-light, var(--jj-primary-50));box-shadow:inset 3px 0 var(--jj-primary)}.staff-list button[hidden]{display:none}.staff-list button span{display:grid;gap:4px}.staff-list small,.staff-permissions small{color:var(--jj-gray-600);font-size:12px;font-weight:400}.staff-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;padding:12px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control)}.staff-permissions label{display:flex;align-items:flex-start;gap:8px;min-height:44px;margin:0}.staff-permissions input[type=checkbox],.staff-owner input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin:3px 0}.staff-permissions label span{display:grid;gap:3px}.staff-owner{display:flex;align-items:center;gap:8px;margin-top:12px}.staff-editor fieldset{min-width:0}.staff-editor form>fieldset{border:0;padding:0}.staff-code{margin:20px 0}@media(max-width:768px){.staff-permissions{grid-template-columns:minmax(0,1fr)}.staff-list button[data-staff-id]{flex-wrap:wrap}}.ops-layout.staff-access-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.staff-editor .staff-permissions label,.staff-editor label.staff-owner{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin:0}.staff-editor .staff-permissions{gap:12px}@media(max-width:768px){.ops-layout.staff-access-layout{grid-template-columns:minmax(0,1fr)}.staff-access-layout .staff-list{max-height:240px;overflow:auto}}.staff-permissions label,.staff-owner{flex-direction:row;text-align:left}.member-directory-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.member-directory-tools .member-search{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:200px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:#fff;padding:0 12px}.member-search input{width:100%;border:0;background:transparent}.member-directory-tools>span{font-size:12px;color:var(--jj-gray-600)}.member-directory-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}.member-account-list{max-height:70dvh;overflow:auto;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff}.member-account-list .member-account-row{display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:12px;border:0;border-bottom:1px solid var(--jj-gray-150);border-radius:0;text-align:left;background:#fff}.member-account-list .member-account-row[aria-pressed=true]{background:var(--jj-primary-50)}.member-account-row>span:nth-child(2){flex:1;min-width:0}.member-account-row strong,.member-account-row small{display:block;overflow-wrap:anywhere}.member-account-row small{color:var(--jj-gray-600);font-size:12px;margin-top:4px}.member-account-avatar{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex:0 0 32px;color:var(--jj-gray-700);background:var(--jj-gray-100)}.member-account-row em,.student-registration-row em{display:inline-flex;align-items:center;flex:none;height:22px;padding:0 8px;border-radius:var(--jj-radius-xs);background:var(--jj-gray-100);color:var(--jj-gray-700);font-size:12px;font-style:normal;font-weight:600;white-space:nowrap}.member-account-row em[data-state=active]{background:var(--jj-success-bg);color:var(--jj-success-fg)}.member-account-row em[data-state=pending],.member-account-row em[data-state=registered]{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.member-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-detail-header h2{margin-bottom:4px}.member-detail-header p{font-size:12px;color:var(--jj-gray-600)}.member-account-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:20px 0 12px}.member-account-facts div{min-width:0}.member-account-facts dt{color:var(--jj-gray-600);font-size:12px}.member-account-facts dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}.member-account-detail [data-member-editor]>.ops-editor{padding:16px 0 0;border:0;box-shadow:none}.member-account-detail [hidden]{display:none!important}.member-detail-empty{padding:30px 0;color:var(--jj-gray-600);font-size:14px}[data-member-result],[data-members-message]{font-size:13px}[data-member-result]:empty,[data-members-message]:empty{display:none}.member-account-detail [data-account-recovery] label{display:flex;flex-direction:row;align-items:center}.member-account-detail [data-account-recovery] input[type=checkbox]{width:18px;height:18px;padding:0}@media(max-width:760px){.member-directory-layout{grid-template-columns:minmax(0,1fr)}.member-account-list{max-height:240px}.member-account-facts{grid-template-columns:minmax(0,1fr)}.member-directory-tools .member-search{flex-basis:100%}.member-account-detail{padding:16px}}.student-registration-tools{display:flex;gap:12px;align-items:center;margin-bottom:16px}.student-registration-tools .member-search{display:flex;flex-direction:row;align-items:center;gap:8px;background:#fff;padding:0 12px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);width:min(360px,100%)}.student-registration-tools>span{color:var(--jj-gray-600);font-size:12px}.student-registration-tools>button{margin-left:auto;flex:none}.student-registration-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:20px;align-items:start}.student-registration-list{max-height:calc(100dvh - 290px);overflow:auto;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;position:sticky;top:16px}.student-registration-list .student-registration-row{display:flex;align-items:center;gap:10px;text-align:left;min-height:64px;padding:10px 12px;width:100%;border:0;border-bottom:1px solid var(--jj-gray-150);border-radius:0;background:#fff}.student-registration-list .student-registration-row[aria-pressed=true]{background:var(--jj-primary-50)}.student-registration-row>span:nth-child(2){flex:1;min-width:0}.student-registration-row strong,.student-registration-row small{display:block;overflow-wrap:anywhere}.student-registration-row small{color:var(--jj-gray-600);font-size:12px;margin-top:4px}.student-registration-editor{min-width:0;padding:24px;background:#fff;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card)}.student-registration-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.student-registration-heading h2{font-size:20px;margin:0 0 5px}.student-registration-heading p{color:var(--jj-gray-600);font-size:12px}.student-registration-editor .profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.student-registration-editor .student-profile-form>fieldset{margin:0;padding:0;border:0;min-width:0}.student-registration-editor .profile-save{position:sticky;bottom:var(--jj-dock-height, 64px);background:#fff;padding:12px 0;margin:0;border-top:1px solid var(--jj-gray-150);z-index:1}.registration-homework{padding:20px 0}.registration-homework h4{font-size:13px;margin:16px 0 10px}.registration-homework .hw-choice-chips{margin:10px 0}.student-linked-account{border-top:1px solid var(--jj-gray-150);padding-top:20px;margin-top:12px}.student-linked-account p{color:var(--jj-gray-600);font-size:13px;margin:8px 0}.student-linked-account .button{margin:8px 8px 8px 0}.access-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-family-fields[hidden],[data-application-relationship][hidden]{display:none}.member-link-request{background:var(--jj-primary-50);border-radius:var(--jj-radius-control);padding:12px;font-size:13px;margin:12px 0;line-height:1.8}@media(max-width:760px){.student-registration-layout{grid-template-columns:minmax(0,1fr)}.student-registration-list{position:static;max-height:210px}.student-registration-tools{flex-wrap:wrap}.student-registration-tools .member-search{width:100%}.student-registration-editor{padding:16px}.student-registration-editor .profile-fields{grid-template-columns:minmax(0,1fr)}}.member-account-detail .member-linked-students>label{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--jj-gray-150)}.member-account-detail .member-linked-students input[type=checkbox]{width:18px;height:18px;padding:0;flex:none}.member-linked-students strong,.member-linked-students small{display:block}.member-linked-students small{font-size:12px;color:var(--jj-gray-600);margin-top:4px}.member-directory-layout .member-account-detail,.member-account-detail [data-member-editor]>.ops-editor{max-height:none;overflow:visible}.member-account-detail [data-member-editor] button.primary{width:auto;min-width:160px;max-width:100%}.member-directory-tools .member-search{flex:0 1 420px}@media(max-width:760px){.member-directory-tools .member-search{flex-basis:100%}}.student-code-now{margin:8px 0 10px;color:var(--muted, #667085);font-size:14px}.student-code-value{margin-left:6px;color:var(--text, #101828);font-size:20px;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums}.students-page{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px 48px;min-width:0}#main:has(>.students-page){max-width:none;padding:0}.directory-filters .directory-filter-toggle{display:none}.students-heading.jj-page-header{margin-bottom:20px}.students-heading h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.students-heading h1:focus{outline:0}.students-heading h1 .students-count{color:var(--jj-text-tertiary);font-size:18px;font-weight:600}.students-heading h1 small{font-size:14px;font-weight:500}.students-heading h1 .students-count small{margin-left:1px}.students-heading h1 .jj-badge{align-self:center;font-size:12px;font-weight:600}.student-avatar.jj-icon-tile{width:48px;height:48px;border-radius:var(--jj-radius-pill);font-size:20px;font-weight:700}.students-heading .help-disclosure>summary.jj-btn{list-style:none;color:var(--jj-gray-600)}.students-heading .help-disclosure>summary::-webkit-details-marker{display:none}.directory-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(5,minmax(104px,1fr)) auto;gap:12px;align-items:end;margin-bottom:16px;padding:16px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface)}.directory-filters:not(:has(select[name=homeroom])){grid-template-columns:minmax(200px,2fr) repeat(4,minmax(104px,1fr)) auto}.directory-filter-fields{display:contents}.directory-filters .jj-field{margin:0}.directory-search-box{position:relative;display:block}.directory-search-box>svg{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--jj-gray-500);pointer-events:none}.directory-filters .directory-search input{width:100%;min-height:var(--jj-input-h);padding:0 12px 0 38px;font-size:15px;font-weight:400}.directory-filters .jj-select{font-size:14px}.directory-filters .directory-clear{min-height:var(--jj-input-h);color:var(--jj-gray-600)}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.directory-toolbar .homeroom-quick{margin:0}.directory-toolbar .homeroom-quick button{min-height:var(--jj-control-h-sm);padding:0 12px;border-radius:var(--jj-radius-pill);font-size:13px}.directory-result{margin:0 0 0 auto;color:var(--jj-text-secondary);font-size:13px;font-weight:500}.directory-result b{color:var(--jj-text);font-weight:600}.directory-result span{margin-left:6px;color:var(--jj-text-tertiary);font-weight:400}.directory-table-wrap.jj-table-wrap{overflow:auto}.directory-table.jj-table th{top:0}.directory-table.jj-table td{height:52px}.directory-table tbody tr[data-directory-row]{cursor:pointer}.directory-table td button{min-height:32px;padding:0;border:0;background:none;color:var(--jj-text);font-size:15px;font-weight:600;text-align:left}.directory-table td button:hover{background:none;color:var(--jj-primary-hover)}.directory-table tbody tr:hover td button{color:var(--jj-primary-hover)}.student-enrollment.jj-badge{height:22px}.directory-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 0;color:var(--jj-text-secondary);font-size:13px}.directory-pagination small{color:var(--jj-text-tertiary)}.directory-pagination svg{width:16px;height:16px}.directory-empty{padding:0!important;height:auto!important}.directory-table tbody tr:has(.directory-empty):hover td{background:none}.student-detail-navigation{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.student-detail-navigation>div{display:flex;gap:8px}.student-detail-navigation .student-back{margin-left:-10px;padding:0 10px}.student-detail-navigation svg{width:16px;height:16px}.student-detail-heading.jj-page-header{align-items:flex-start}.student-detail-tabs{display:flex;gap:4px;margin:0 0 20px;border-bottom:1px solid var(--jj-border);overflow-x:auto;scrollbar-width:none}.student-detail-tabs button{flex:none;min-height:44px;margin-bottom:-1px;padding:0 14px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--jj-text-tertiary);font-size:14px;font-weight:500}.student-detail-tabs button:hover{background:transparent;color:var(--jj-text)}.student-detail-tabs button[aria-current=page]{border-bottom-color:var(--jj-gray-900);color:var(--jj-text);font-weight:600}.student-detail-tabs button:focus-visible{outline-offset:-2px}.student-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.student-detail-card{min-width:0;padding:20px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface)}.student-detail-card+.student-detail-card,.student-detail-columns+.student-detail-card{margin-top:16px}.student-detail-card h2{margin:0 0 16px;font:var(--jj-text-section);font-size:17px}.student-detail-card h2 small{margin-left:4px;color:var(--jj-text-tertiary);font-size:13px;font-weight:400}.student-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:0 0 20px}.student-info-grid dt{margin-bottom:4px;color:var(--jj-text-tertiary);font-size:12px}.student-info-grid dd{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.student-feature-card{display:grid;gap:8px}.student-feature-card h2{margin-bottom:8px}.student-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;justify-content:stretch;gap:2px 12px;width:100%;min-height:64px;margin:0;padding:12px 16px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);text-align:left;white-space:normal}.student-feature strong{color:var(--jj-text);font-size:15px;font-weight:600}.student-feature span{grid-column:1;color:var(--jj-text-tertiary);font-size:13px;font-weight:400}.student-feature>svg{grid-column:2;grid-row:1 / span 2;width:18px;height:18px;color:var(--jj-gray-400)}.student-feature:hover{background:var(--jj-gray-50)}.directory-class{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 0;border-bottom:1px solid var(--jj-divider)}.directory-class:last-of-type{border-bottom:0}.directory-class strong{font-size:14px;font-weight:600}.directory-class p{margin:2px 0 0;color:var(--jj-text-tertiary);font-size:13px}.directory-class button{min-height:var(--jj-control-h-sm);padding:0 10px;font-size:13px;white-space:nowrap}.student-detail .exam-embedded{padding:0;max-width:none}.exam-embedded .exams-layout{display:block}.exam-embedded .exam-student-heading>div:first-child{display:none}.exam-embedded .exam-student-heading{justify-content:flex-start}.exam-embedded .exam-title{display:none}.student-detail .homework-presets{padding:0;border:0}.student-detail .homework-presets>h3{margin-top:0}@media(max-width:1180px){.directory-filters,.directory-filters:not(:has(select[name=homeroom])){grid-template-columns:repeat(4,minmax(0,1fr))}.directory-filters .directory-search{grid-column:span 2}}@media(max-width:1023px){#main>.students-page{padding:24px 24px 40px}.student-detail-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){#main>.students-page{padding:16px 16px 32px}.directory-filters,.directory-filters:not(:has(select[name=homeroom])){padding:0;border:0;background:transparent}.directory-filter-fields{display:grid}.directory-filters .directory-filter-toggle{display:inline-flex}.directory-filter-fields .directory-clear{grid-column:1 / -1}.directory-toolbar{align-items:flex-start}.directory-result{margin-left:0}.directory-table-wrap.jj-table-wrap{overflow:hidden}.directory-table.jj-table td{height:auto}.directory-table tbody tr:hover td{background:none}.directory-table thead{display:none}.directory-table tbody,.directory-table tr,.directory-table td{display:block}.directory-table tr[data-directory-row]{border-top:1px solid var(--jj-divider)}.directory-table tr:first-child{border-top:0}.directory-pagination small{display:none}#main .directory-filters,#main .directory-filters:not(:has(select[name=homeroom])){grid-template-columns:minmax(0,1fr) auto;gap:8px}#main .directory-filters .directory-search{grid-column:auto}#main .directory-filters .directory-filter-toggle{min-height:var(--jj-input-h);font-size:13px}#main .students-heading.jj-page-header{flex-wrap:nowrap;align-items:flex-start}#main .students-heading .jj-page-header-text{flex:1 1 auto}#main .students-heading .jj-page-actions{width:auto;margin-left:0}#main .directory-table tr[data-directory-row]{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;padding:12px 16px}#main .directory-table tr[data-directory-row] td{color:var(--jj-text-tertiary);font-size:13px}#main .directory-table tr[data-directory-row] td:first-child{flex:1 0 calc(100% - 56px);order:0}#main .directory-table td[data-label=\c0c1\d0dc]{order:1}#main .directory-table td[data-label=\d559\b144]{order:2}#main .directory-table td[data-label=\d559\ad50]{order:3}#main .directory-table td:is([data-label=\b2f4\c784],[data-label=\ad6c\bd84]){order:4}#main .directory-table td:is([data-label=\d559\ad50],[data-label=\b2f4\c784],[data-label=\ad6c\bd84]):before{display:inline;content:"\b7  ";margin:0;color:var(--jj-gray-400);font-size:13px}#main .directory-table td[data-label="\c774\bc88  \c8fc  \c218\c5c5"]{order:5;margin-left:auto}.student-detail-navigation .student-back{margin-left:-8px}.student-detail-navigation button{min-height:40px}.student-detail-tabs{margin:0 -16px 16px;padding:0 12px}#main .student-detail-tabs{flex-wrap:nowrap;gap:0}#main .student-detail-tabs button{flex:none;min-width:auto;padding:0 12px;font-size:14px}#main .student-detail-navigation button{padding:0 10px;font-size:13px}.student-detail-card{padding:16px}.student-info-grid{gap:14px}}.student-detail .exam-fields>label,.student-detail .exam-fields input,.student-detail .exam-fields select{min-width:0;width:100%}@media(max-width:380px){.student-detail .exam-fields{grid-template-columns:minmax(0,1fr)}}.students-page .help-disclosure>div{right:0;left:auto;max-width:calc(100vw - 40px)}.students-heading .help-disclosure{position:relative}.students-heading .help-disclosure>div{top:calc(100% + 8px);right:0;left:auto;z-index:20;width:min(360px,calc(100vw - 32px))}.directory-table th,.directory-table td{text-align:left}.student-inline-profile{border:1px solid var(--line);border-radius:var(--jj-radius-card);background:#fff;margin:16px 0}.student-inline-profile>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:14px;font-size:14px;font-weight:600;list-style:none}.student-inline-profile>summary:after{content:"\ff0b";margin-left:auto;color:var(--muted)}.student-inline-profile[open]>summary:after{content:"\2212"}.student-inline-profile>form{padding:0 14px 16px}.student-inline-profile .profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.student-inline-profile input,.student-inline-profile textarea,.student-inline-profile select{width:100%;min-width:0}.student-inline-profile .availability-row{display:flex;flex-wrap:wrap;gap:6px}.student-inline-profile .availability-row label{flex:1 1 80px}.student-inline-profile .availability-row>input{flex:1 1 130px;width:auto}.student-inline-profile .profile-save{flex-wrap:wrap}.student-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.student-quick-actions button{flex:1 1 auto;font-size:13px}.profile-memo{margin:18px 0}@media(max-width:420px){.student-inline-profile .profile-fields{grid-template-columns:1fr}}.video-plan{display:grid;gap:14px;min-width:0}.video-plan-heading h3,.video-plan-history h4{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.video-plan-heading svg,.video-plan-history h4 svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:2}.video-plan-heading p,.video-plan-note{margin:4px 0 0;color:var(--muted);font-size:13px}.video-plan form fieldset{border:0;margin:0;padding:0;display:grid;gap:12px;min-width:0}.video-plan-mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.video-plan-mode label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer}.video-plan-mode label:has(input:checked){border-color:var(--accent);background:var(--soft)}.video-plan-mode span{display:grid;gap:2px}.video-plan-mode small{color:var(--muted);font-size:12px}.video-plan-courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.video-plan-courses[hidden]{display:none}.video-plan-group{border:1px solid var(--line)!important;border-radius:var(--radius);padding:10px 12px!important;display:grid;gap:6px;align-content:start}.video-plan-group legend{display:flex;gap:6px;align-items:baseline;padding:0 4px;font-weight:700;font-size:14px}.video-plan-group legend small,.video-plan-history h4 small{color:var(--muted);font-weight:500;font-size:12px}.video-plan .video-plan-group label,.video-plan .video-plan-mode label{flex-direction:row;justify-content:flex-start;text-align:left;margin:0}.video-plan input[type=checkbox],.video-plan input[type=radio]{width:18px;height:18px;min-height:0;flex:none;margin:2px 0 0}.video-plan-group label{display:flex;gap:8px;align-items:center;font-size:14px;min-height:32px}.video-plan-group label span{flex:1;min-width:0;overflow-wrap:anywhere}.video-plan-group em{font-style:normal;font-size:11px;color:var(--accent);background:var(--soft);border-radius:var(--jj-radius-pill);padding:2px 8px;white-space:nowrap}.video-plan-save{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.video-plan-save [role=status]{color:var(--muted);font-size:13px}.video-plan-history{display:grid;gap:8px}.video-plan-history article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.video-plan-history article>div{display:grid;gap:3px;min-width:0}.video-plan-history article small{color:var(--muted);font-size:12px}.video-plan-history progress{width:100%;height:6px;accent-color:var(--accent)}.video-plan-state{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.video-plan-state.is-progress{color:var(--accent)}.video-plan-state.is-done{color:var(--jj-success-fg);font-weight:700}.video-plan-state svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}.video-plan-more{font-size:13px}.video-plan-more summary{cursor:pointer;color:var(--muted);padding:6px 0}.video-plan-more[open]{display:grid;gap:8px}.video-plan-more select{width:100%}.profile-homeroom{margin-top:10px}@media(max-width:640px){.video-plan-history article{grid-template-columns:minmax(0,1fr) auto}.video-plan-history article>button{grid-column:1 / -1}}.student-video-plan{border-top:1px solid var(--jj-gray-150);padding-top:20px;margin-top:12px}.student-detail .student-profile-form fieldset{min-width:0;margin:0;padding:0;border:0}.student-detail .student-profile-form .section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.student-detail .student-profile-form .section-heading h2{margin:0}.student-detail .student-profile-form .section-heading small{color:var(--jj-text-tertiary)}.student-detail :is(input,select,textarea):not([type=checkbox],[type=radio]),.directory-filters :is(input,select){font-weight:400}.student-detail .student-profile-form h3{font-size:15px;font-weight:600}.directory-table.jj-table :is(th,td){border-left:0;border-right:0}.profile-publisher{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.profile-publisher-box{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--jj-control-h, 44px);padding:8px 8px 8px 14px;border:1px dashed var(--jj-border);border-radius:var(--jj-radius-control, 10px);background:var(--jj-surface-subtle, var(--jj-gray-50))}.profile-publisher-box>div{display:flex;flex-direction:column;min-width:0}.profile-publisher-box strong{font-size:15px;font-weight:700;color:var(--jj-text)}.profile-publisher-box strong.is-empty{font-weight:500;color:var(--jj-text-secondary)}.profile-publisher-box small{font-size:12px;font-weight:400;color:var(--jj-text-tertiary)}.profile-publisher-box .jj-btn{flex:none;border-radius:999px;text-decoration:none}.students-new{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 18px 0 12px;border-radius:999px;background:linear-gradient(135deg,#3155e7,#6a8bff);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 24px -14px #3155e7;transition:transform .14s ease}.students-new:hover{transform:translateY(-1px)}.students-new img{border-radius:8px;background:#ffffffeb}.students-new svg{width:16px;height:16px}.voca-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.voca-stats>div{display:grid;gap:4px;align-content:start;min-width:0;padding:14px 16px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface)}.voca-stats span{color:var(--jj-text-tertiary);font-size:13px;font-weight:500}.voca-stats strong{color:var(--jj-text);font-size:22px;font-weight:700;line-height:30px;font-variant-numeric:tabular-nums}.voca-stats small,.voca-foot,.voca-book header p,.voca-book-meta{color:var(--jj-text-tertiary);font-size:12px}.voca-week{display:inline-flex;gap:4px}.voca-week i{width:12px;height:12px;border-radius:4px;background:var(--jj-gray-100)}.voca-week i.is-on{background:var(--jj-primary)}.voca-book{padding:16px 0;border-top:1px solid var(--jj-divider)}.voca-book header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.voca-book h3,.voca-note h3{margin:0 0 2px;color:var(--jj-text);font-size:15px;font-weight:600}.voca-book header p,.voca-book-meta{margin:0}.voca-book-num{flex:none;color:var(--jj-text);font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}.voca-book-num small{margin-left:2px;color:var(--jj-text-tertiary);font-size:12px;font-weight:500}.voca-bar{height:8px;margin:10px 0 6px;overflow:hidden;border-radius:var(--jj-radius-pill);background:var(--jj-gray-100)}.voca-bar i{display:block;height:100%;border-radius:inherit;background:var(--jj-primary)}.voca-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.voca-day{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-control);background:var(--jj-surface)}.voca-day strong{font-size:13px}.voca-day span{color:var(--jj-text-tertiary);font-size:12px;line-height:16px}.voca-day.is-good{border-color:var(--jj-success-bg);background:var(--jj-success-bg)}.voca-day.is-good strong{color:var(--jj-success-fg)}.voca-day.is-weak{border-color:var(--jj-warning-bg);background:var(--jj-warning-bg)}.voca-day.is-weak strong{color:var(--jj-warning-fg)}.voca-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px;border-top:1px solid var(--jj-divider)}.voca-note ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.voca-note li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14px}.voca-note li span,.voca-note li small{color:var(--jj-text-tertiary);font-size:13px}.voca-words li small{margin-left:auto;font-size:12px}.voca-foot{margin:16px 0 0;line-height:18px}.voca-overview .voca-foot{margin:0 0 12px}.voca-scope{margin-bottom:12px}.voca-list{display:grid;margin:0;padding:0;list-style:none}.voca-list li{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.6fr);align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--jj-divider)}.voca-list li:last-child{border-bottom:0}.voca-list li>button{display:grid;justify-items:start;justify-content:start;width:auto;min-width:0;height:auto;min-height:0;box-shadow:none;padding:6px 0;border:0;background:none;color:var(--jj-text);text-align:left;cursor:pointer}.voca-rest{margin-top:8px;border-top:1px solid var(--jj-divider)}.voca-rest summary{padding:12px 0;color:var(--jj-text-secondary);font-size:13px;cursor:pointer}.voca-list button strong{font-size:14px}.voca-list button:hover strong{color:var(--jj-primary)}.voca-list button small,.voca-list-now{overflow:hidden;color:var(--jj-text-tertiary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.voca-list-week{display:inline-flex;align-items:center;gap:6px}.voca-list-week em{min-width:24px;color:var(--jj-text-secondary);font-size:12px;font-style:normal;font-variant-numeric:tabular-nums}@media(max-width:640px){.voca-stats{grid-template-columns:1fr 1fr;gap:8px}.voca-stats>div:first-child{grid-column:1 / -1}.voca-notes{grid-template-columns:1fr}.voca-days{grid-template-columns:1fr 1fr}.voca-list li{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:6px 0}.voca-list-now{grid-column:1 / -1;padding-bottom:4px}}.profile-timetable:empty{display:none}.profile-timetable{margin:4px 0 14px}.profile-timetable-leave{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--jj-warning);border-radius:var(--jj-radius-card);background:var(--jj-warning-bg)}.profile-timetable-leave label{display:grid;gap:4px;max-width:220px;font-weight:600}.profile-timetable-leave .hint{margin:0;color:var(--jj-warning-fg)}.profile-timetable-pick{display:grid;gap:8px;margin:0;padding:12px 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:var(--jj-surface-subtle);min-width:0}.profile-timetable .profile-timetable-pick h3{margin:0;font-size:15px}.profile-timetable-more{margin:4px 0 0;font-weight:600}.profile-timetable-ask .profile-timetable-group{margin-top:6px;color:var(--jj-text, var(--jj-gray-900))}.profile-timetable-pick .hint{margin:0}.profile-timetable-ask{display:grid;gap:2px;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-info-bg);color:var(--jj-info-fg)}.profile-timetable-search input{width:100%}.profile-timetable-list{display:grid;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.profile-timetable-group{display:grid;gap:4px}.profile-timetable-group[hidden]{display:none}.profile-timetable-row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:start;padding:6px 8px;border-radius:var(--jj-radius-control);background:var(--jj-surface);font-weight:500}.profile-timetable-row input{margin-top:3px}.profile-timetable-row small{grid-column:2;color:var(--jj-gray-600)}.profile-timetable-row em{font-style:normal}.profile-timetable-count{margin:0;font-weight:600}.roster-review{color:var(--jj-warning-fg)}.srec{--srec-present: var(--jj-success);--srec-late: var(--jj-warning);--srec-absent: var(--jj-danger);--srec-makeup: #7a4fd6;--srec-check: var(--jj-gray-500);display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.srec svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.srec button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.srec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.srec-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}.srec-head h3 svg{width:18px;height:18px;stroke:var(--accent)}.srec-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.srec-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.srec-modes{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--jj-radius-control);background:var(--surface)}.srec-modes button{border:0;min-height:34px;padding:0 12px;border-radius:var(--jj-radius-control);background:transparent;color:var(--muted);font-weight:600}.srec-modes button[aria-pressed=true]{background:var(--soft);color:var(--accent)}.srec-search{display:flex;gap:6px;flex:1 1 260px;min-width:0;max-width:440px;margin:0}.srec-search label{display:flex;flex-direction:row;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:0 10px;border:1px solid var(--line);border-radius:var(--jj-radius-control);background:var(--surface);color:var(--muted)}.srec-search input{flex:1;min-width:0;border:0;outline:0;min-height:36px;padding:0;background:transparent;font:inherit}.srec-search label:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.srec-month{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.srec-month-nav{display:flex;align-items:center;gap:6px}.srec-month-nav strong{min-width:108px;text-align:center;font-size:16px}.srec-month-nav button{min-height:34px;min-width:34px;padding:0 10px}.srec-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0}.srec-summary div{display:flex;gap:5px;align-items:baseline;padding:5px 10px;border-radius:var(--jj-radius-pill);background:var(--soft);font-size:12px}.srec-summary dt{color:var(--muted)}.srec-summary dd{margin:0;font-weight:700}.srec-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:16px;align-items:start}.srec-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.srec-weekday{padding:4px 0;text-align:center;color:var(--muted);font-size:12px;font-weight:600}.srec-weekday:first-child{color:var(--srec-absent)}.srec button.srec-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:78px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:var(--jj-radius-control);background:var(--surface);text-align:left;color:inherit;overflow:hidden;cursor:pointer}.srec-cell:hover{border-color:var(--accent)}.srec-cell b{font-size:13px;line-height:1}.srec-cell.is-today b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin:-3px 0 0 -3px;border-radius:var(--jj-radius-pill);background:var(--accent);color:#fff}.srec-cell.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--soft)}.srec-cell.att-present{border-left:3px solid var(--srec-present)}.srec-cell.att-late{border-left:3px solid var(--srec-late)}.srec-cell.att-absent{border-left:3px solid var(--srec-absent)}.srec-cell.att-unconfirmed,.srec-cell.att-not_arrived{border-left:3px solid var(--srec-check)}.srec-att{display:flex;flex-wrap:wrap;gap:2px}.srec-att i{padding:1px 5px;border-radius:var(--jj-radius-xs);font-size:10.5px;font-style:normal;font-weight:700;line-height:1.4;white-space:nowrap;color:#fff;background:var(--srec-check)}.srec i.att-present{background:var(--srec-present)}.srec i.att-late{background:var(--srec-late)}.srec i.att-absent{background:var(--srec-absent)}.srec i.att-makeup{background:var(--srec-makeup)}.srec i.att-excused{background:var(--jj-gray-600)}.srec-dots{display:flex;flex-wrap:wrap;gap:3px}.srec-dots i,.srec-legend i{display:inline-block;width:7px;height:7px;border-radius:var(--jj-radius-pill);background:var(--muted)}.srec .dot-lesson{background:var(--jj-primary)}.srec .dot-homework{background:var(--jj-warning)}.srec .dot-activity{background:var(--jj-success)}.srec .dot-consultation{background:#c2418e}.srec .dot-delivery{background:#1b9aaa}.srec .dot-exam{background:var(--jj-warning-fg)}.srec .dot-schoolExam{background:#3155e7}.srec .dot-mockExam{background:#7a4fd6}.srec-video{color:var(--jj-danger);font-size:10.5px;font-weight:600;white-space:nowrap}.srec-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;color:var(--muted);font-size:12px}.srec-legend span{display:inline-flex;align-items:center;gap:5px}.srec-legend i[class^=att-]{width:10px;height:10px;border-radius:3px}.srec-day{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--jj-radius-card);background:var(--surface)}.srec-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.srec-day h4,.srec-group h4{margin:0;font-size:15px}.srec-day>header button{min-height:32px;padding:0 10px;font-size:13px}.srec-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--line)}.srec-item time{padding-top:2px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.srec-item>div{display:grid;gap:4px;min-width:0}.srec-item p{margin:0}.srec-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.srec-item-head strong{font-size:14px;overflow-wrap:anywhere}.srec-kind{padding:1px 7px;border-radius:var(--jj-radius-xs);background:var(--soft);color:var(--accent);font-size:11.5px;font-weight:700;white-space:nowrap}.kind-attendance .srec-kind,.kind-schedule.status-present .srec-kind{background:var(--jj-success-bg);color:var(--srec-present)}.kind-schedule.status-late .srec-kind{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.kind-schedule.status-absent .srec-kind{background:var(--jj-danger-bg);color:var(--srec-absent)}.kind-homework .srec-kind{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.kind-activity .srec-kind,.kind-videoComplete .srec-kind{background:var(--jj-success-bg);color:var(--jj-success-fg)}.kind-consultation .srec-kind{background:#f9e4f0;color:#a3306f}.kind-delivery .srec-kind{background:var(--jj-gray-150);color:var(--jj-gray-600)}.kind-video .srec-kind{background:var(--jj-danger-bg);color:var(--jj-danger)}.kind-exam .srec-kind,.kind-schoolExam .srec-kind{background:#e8edfd;color:#2a46c0}.kind-mockExam .srec-kind{background:#f1ebfd;color:#6a3fc6}:root[data-theme=dark] .kind-mockExam .srec-kind{background:#221a33;color:#b39af0}.kind-note .srec-kind{background:var(--jj-gray-150);color:var(--jj-gray-700)}.srec-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.srec-item dl{display:grid;gap:3px;margin:0;font-size:13px}.srec-item dl div{display:grid;grid-template-columns:minmax(64px,max-content) minmax(0,1fr);gap:8px}.srec-item dt{color:var(--muted)}.srec-item dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.srec-next{display:flex;align-items:center;gap:4px;color:#a3306f;font-size:13px;font-weight:600}.srec-next svg{width:13px;height:13px}.srec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:12px}.srec-meta button{min-height:26px;padding:0 8px;font-size:12px}.srec-empty,.srec-note{margin:0;padding:10px 0;color:var(--muted);font-size:13px}.srec-list-head{display:flex;align-items:baseline;gap:8px}.srec-list-head span{color:var(--muted);font-size:13px}.srec-group{padding:10px 12px 2px;border:1px solid var(--line);border-radius:var(--jj-radius-card);background:var(--surface);margin-bottom:8px}.srec-group h4 button{border:0;background:none;padding:0 0 6px;font:inherit;font-weight:700;color:inherit;cursor:pointer}.srec-group h4 small{color:var(--muted);font-weight:500}.srec-group h4 svg{width:13px;height:13px;color:var(--muted)}.srec-consult{display:grid;gap:10px;padding:12px;border:1px solid #e7bcd6;border-radius:var(--jj-radius-card);background:#fdf6fa}.srec-consult h4{display:flex;align-items:center;gap:6px;margin:0;color:#a3306f}.srec-consult label{display:grid;gap:4px;margin:0;font-size:13px;font-weight:600}.srec-consult input,.srec-consult select,.srec-consult textarea{width:100%;box-sizing:border-box;font:inherit;font-weight:400;margin-top:0}.srec-consult-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.srec-consult-actions{display:flex;justify-content:flex-end;gap:8px}.srec-form-message{margin:0;color:var(--srec-absent);font-size:13px}.srec-form-message:empty{display:none}@media(max-width:900px){.srec-layout{grid-template-columns:1fr}}@media(max-width:560px){.srec-head{flex-direction:column;align-items:stretch}.srec-search{max-width:none}.srec button.srec-cell{min-height:54px;padding:4px;align-items:center}.srec-att i{width:8px;height:8px;padding:0;border-radius:var(--jj-radius-pill);font-size:0}.srec-video{font-size:0}.srec-video:before{content:"\25b6";font-size:9px}.srec-item{grid-template-columns:38px minmax(0,1fr)}}.homeroom-chips{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}.homeroom-chip{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border:1px solid var(--jj-primary-200);border-radius:var(--jj-radius-pill);background:var(--soft);color:var(--jj-primary-hover);font-size:13px;font-weight:600;cursor:pointer}.homeroom-chip em{font-style:normal;color:var(--muted);font-weight:500}.homeroom-chip.is-assistant{background:var(--jj-gray-100);border-color:#d9cff5;color:#5a3cb0}.homeroom-chip.is-empty{background:transparent;border-style:dashed;color:var(--muted);cursor:default}.homeroom-role{display:inline-block;padding:1px 6px;border-radius:var(--jj-radius-xs);background:var(--soft);color:var(--accent);font-size:11.5px;font-weight:700}.homeroom-role.is-assistant{background:var(--jj-gray-100);color:#5a3cb0}.homeroom-board{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--jj-radius-card);background:var(--surface)}.homeroom-board>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.homeroom-board h2,.homeroom-board h3{margin:0;font-size:16px}.homeroom-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.homeroom-teacher{display:grid;gap:6px;align-content:start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--jj-radius-control)}.homeroom-teacher.is-me{border-color:var(--accent);background:var(--jj-gray-50)}.homeroom-teacher>button{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border:0;padding:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.homeroom-teacher>button strong{font-size:14px}.homeroom-teacher>button span{color:var(--muted);font-size:12px;white-space:nowrap}.homeroom-names{display:flex;flex-wrap:wrap;gap:4px}.homeroom-names button{min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:var(--jj-radius-pill);background:var(--surface);font-size:12.5px;cursor:pointer}.homeroom-names button.is-assistant{border-style:dashed;color:#5a3cb0}.homeroom-names .homeroom-none{color:var(--muted);font-size:12px}.homeroom-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.homeroom-quick button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);color:var(--accent)}.homeroom-quick .homeroom-select{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--muted)}.homeroom-quick .homeroom-select select{min-height:34px}.homeroom-quick button{display:inline-flex;align-items:center;gap:6px;min-height:34px}.homeroom-quick button small{color:var(--muted)}.homeroom-quick svg,.homeroom-board svg,.student-editor-views svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.homeroom-filter-note{font-size:13px;font-weight:600}.student-registration-tools-wrap{display:grid;gap:10px;margin-bottom:16px}.student-registration-tools-wrap .student-registration-tools{margin-bottom:0}.students-page>.homeroom-quick,.students-page>.homeroom-board{margin:10px 0}.students-heading .homeroom-chips{margin-top:8px}.student-registration-heading .homeroom-chips{margin-top:6px}.student-editor-views{margin:0 0 14px}.student-editor-views button{display:inline-flex;align-items:center;gap:6px}.hw-input-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,2fr) 36px;gap:6px;margin-bottom:8px;align-items:center}.hw-input-row input,.hw-check-row input,.hw-check-row select{min-width:0;width:100%;box-sizing:border-box;font:inherit;padding:10px 8px;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-900)}.hw-input-row button{padding:6px;min-width:0}.homework-presets fieldset,.hw-class-form fieldset,.hw-check-form fieldset{border:0;padding:0;min-width:0;margin:0}.hw-check-row{display:grid;grid-template-columns:minmax(85px,1fr) minmax(90px,1.5fr) 90px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--jj-gray-200)}.hw-check-row strong{font-size:14px}.hw-check-row small{display:block;color:var(--jj-gray-600);font-size:12px;font-weight:400;margin-top:4px}.hw-check-form{margin-top:22px}.hw-class-form textarea{min-height:64px;width:100%;box-sizing:border-box}.hw-class-form label{display:block;margin-bottom:10px}.hw-check-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.hw-check-actions button{flex:1}.hw-class-form,.homework-presets{padding-block:14px;border-bottom:1px solid var(--jj-gray-200)}.hw-mode-tabs{display:flex;gap:8px;margin:12px 0}.hw-mode-tabs button[aria-pressed=true]{background:var(--jj-primary-50);color:var(--jj-primary);border-color:var(--jj-primary)}@media(max-width:480px){.hw-input-row{grid-template-columns:minmax(80px,1fr) minmax(90px,1.5fr) 32px}.hw-check-row{grid-template-columns:minmax(70px,1fr) minmax(80px,1.4fr) 80px}.hw-check-row select,.hw-input-row button{min-height:44px}}@media(max-width:480px){.hw-check-row{grid-template-columns:minmax(0,1fr) 106px}.hw-check-row strong{grid-column:1/-1}.hw-check-row small{display:inline;margin-left:8px}.hw-check-row select{padding-inline:6px}}.hw-check-controls{display:grid;gap:4px}.hw-missing{display:flex!important;align-items:center;gap:6px;font-size:13px!important;white-space:nowrap}.hw-check-row .hw-missing input{width:18px;height:18px;margin:0;accent-color:var(--jj-primary)}.hw-check-controls select{font-size:12px}.hw-input-row textarea[data-hw-title]{width:100%;min-width:0;box-sizing:border-box;resize:none;height:48px;min-height:48px;margin:0;padding:5px 7px;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-900);font-family:inherit;font-size:13px;line-height:18px;overflow:auto;white-space:pre-wrap;word-break:keep-all}.hw-check-controls .hw-missing{flex-direction:row!important;justify-content:flex-start;align-items:center;margin:0!important;min-height:28px;gap:6px}.hw-choice-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.hw-choice-chips button{padding:7px 10px;font-size:12px;border-radius:var(--jj-radius-control)}.hw-choice-chips button[aria-pressed=true]{background:var(--jj-primary-50);border-color:var(--jj-primary);color:var(--jj-primary-hover);opacity:1}.hw-student-group{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:12px;margin:12px 0}.hw-student-group>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.hw-student-group h4 small{font-size:12px;color:var(--jj-gray-600);font-weight:400}.hw-student-group .hw-check-actions{margin:0;gap:4px}.hw-check-actions button{white-space:nowrap;padding:6px 8px;font-size:12px;flex:initial}.hw-student-group .hw-check-row{grid-template-columns:minmax(80px,1fr) minmax(100px,1.5fr);gap:6px 10px;padding:9px 0}.hw-status-buttons{grid-column:1/-1;display:flex;gap:4px}.hw-status-buttons button{flex:1;min-width:0;padding:7px 5px;font-size:12px}.hw-status-buttons button[aria-pressed=true]{background:var(--jj-primary-50);color:var(--jj-primary-hover);border-color:var(--jj-primary);font-weight:700}.hw-status-buttons button[data-hw-set-status=notdone][aria-pressed=true]{color:var(--jj-danger-fg);background:var(--jj-danger-bg);border-color:var(--jj-danger)}.hw-check-row input[type=hidden]{display:none}.hw-exam-presets{margin:16px 0;padding-top:10px;border-top:1px solid var(--jj-gray-200)}.hw-exam-presets summary{cursor:pointer;font-weight:600}.homework-navigation,.hw-student-steps{display:flex;justify-content:space-between;gap:6px;margin:6px 0 12px}.homework-navigation button,.hw-student-steps button{font-size:12px;padding:8px}.compact-homework-items .homework-check{padding:10px;margin:8px 0}.hw-individual-top{display:grid;grid-template-columns:minmax(100px,1fr) minmax(180px,1.6fr);gap:10px;align-items:center}.hw-individual-top .homework-status{margin:0}.compact-homework-items textarea[name=progress]{min-height:40px;height:40px;padding:8px}.hw-more-fields{color:var(--jj-gray-600);font-size:12px}.hw-item-picker h4{margin:20px 0 8px}.hw-check-form{container-type:inline-size}@container (min-width: 650px){.hw-student-group .hw-check-row{grid-template-columns:minmax(80px,1fr) minmax(110px,1.3fr) minmax(230px,2fr)}.hw-status-buttons{grid-column:auto}}@media(max-width:480px){.hw-individual-top{grid-template-columns:minmax(0,1fr);gap:4px}.hw-student-group{padding:8px}.hw-student-group .hw-check-row strong{grid-column:auto}}.hw-check-row input,.hw-input-row input,.hw-input-row textarea{font-family:inherit;font-size:14px;line-height:1.5;min-width:0}.hw-student-group{border:1px solid var(--line);border-radius:var(--jj-radius-card);padding:16px;margin-bottom:14px}.hw-student-group header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.hw-student-group h4{margin:0;font-size:16px}.hw-student-group h4 small{font-size:12px;font-weight:400;color:var(--muted)}.hw-student-group .hw-check-actions{margin:0;gap:5px}.hw-student-group .hw-check-actions button{font-size:12px;padding:6px 9px}.hw-status-buttons button{font-family:inherit}.hw-status-buttons [data-hw-set-status=done][aria-pressed=true]{background:var(--jj-success-bg);border-color:#a6d5bf;color:var(--jj-success-fg)}.hw-status-buttons [data-hw-set-status=notdone][aria-pressed=true]{background:var(--jj-danger-bg);border-color:#efbeb1;color:var(--jj-danger-fg)}.hw-status-buttons [data-hw-set-status=partial][aria-pressed=true]{background:var(--jj-warning-bg);border-color:#e5cf9c;color:var(--jj-warning-fg)}[data-hw-reason-label]{grid-column:1/-1;display:grid;gap:6px;font-size:13px}[data-hw-reason-label][hidden]{display:none}[data-hw-reason]{width:100%;box-sizing:border-box;min-height:68px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);padding:10px;font:inherit}.hw-input-row>.hw-video,.hw-input-row>.hw-video-add,.hw-input-row>.hw-video-summary{grid-column:1/-1}.hw-video-add{justify-self:start;display:inline-flex;align-items:center;gap:5px;margin-top:-2px;padding:3px 9px;min-height:0;font-size:12px;color:var(--accent);border-style:dashed}.hw-video-add svg,.hw-video-summary svg,.hw-video-target svg,.hw-video-course svg,.hw-video-warning svg{width:13px;height:13px;flex:none}.hw-video[hidden],.hw-video-add[hidden],[data-hw-video-lectures][hidden],.hw-video-warning[hidden]{display:none}.hw-video{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--jj-primary-100);border-radius:var(--jj-radius-control);background:var(--soft)}.hw-class-form .hw-video label{display:grid;gap:4px;margin:0;font-size:12px;color:var(--muted)}.hw-video label>span:first-child{display:inline-flex;align-items:center;gap:4px}.hw-video select{min-width:0;width:100%;font:inherit;font-size:14px;padding:9px 8px;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-control);background:#fff;color:var(--jj-gray-900)}.hw-video-range{display:flex;align-items:center;gap:4px}.hw-video-range em{font-style:normal;color:var(--muted)}.hw-input-row .hw-video-range input{width:56px;padding:9px 6px;text-align:center}.hw-video-remove{font-size:12px;padding:9px 10px;white-space:nowrap}.hw-video-summary,.hw-video-target{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;color:var(--jj-primary-hover)}@media(max-width:560px){.hw-video{grid-template-columns:1fr 1fr}.hw-video-course,.hw-video-remove{grid-column:1/-1}}.hw-video-evidence{grid-column:1/-1;display:grid;gap:4px;padding:9px 11px;border-radius:var(--jj-radius-control);border:1px solid var(--line);background:var(--jj-gray-50)}.hw-video-evidence p{margin:0}.hw-video-verdict{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.hw-video-verdict strong{font-size:13px}.hw-check-row .hw-video-verdict small{display:inline;margin:0}[data-hw-video-state=done]{background:var(--jj-success-bg);border-color:#b9dfcc}[data-hw-video-state=done] .hw-video-verdict strong{color:var(--jj-success-fg)}[data-hw-video-state=watching] .hw-video-verdict strong{color:var(--jj-warning-fg)}[data-hw-video-state=none] .hw-video-verdict strong,[data-hw-video-state=unavailable] .hw-video-verdict strong{color:var(--jj-danger-fg)}.hw-video-parts{display:flex;flex-wrap:wrap;gap:4px}.hw-video-parts span{font-size:11px;padding:2px 7px;border-radius:var(--jj-radius-pill);background:#fff;border:1px solid var(--line);color:var(--muted)}.hw-video-parts span[data-done=true]{color:var(--jj-success-fg);border-color:#b9dfcc}.hw-video-warning{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--jj-danger-fg)}@font-face{font-family:Pretendard;src:url(/public/fonts/pretendard/rare-0ba44bd021.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+AC00-D7A3}@font-face{font-family:Pretendard;src:url(/public/fonts/pretendard/extra-4bb8b2ee71.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0-ABFF,U+D7A4-10FFFF}@font-face{font-family:Pretendard;src:url(/public/fonts/pretendard/ko-83aea48ca9.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+AC00-AC01,U+AC04,U+AC07-AC0A,U+AC10-AC17,U+AC19-AC1D,U+AC20,U+AC24,U+AC2C-AC2D,U+AC2F-AC31,U+AC38-AC39,U+AC3C,U+AC40,U+AC4B,U+AC4D,U+AC54,U+AC58,U+AC5C,U+AC70-AC71,U+AC74,U+AC77-AC78,U+AC7A,U+AC80-AC81,U+AC83-AC86,U+AC89-AC8C,U+AC90,U+AC94,U+AC9C-AC9D,U+AC9F-ACA1,U+ACA8-ACAA,U+ACAC,U+ACAF-ACB0,U+ACB8-ACB9,U+ACBB-ACBD,U+ACC1,U+ACC4,U+ACC8,U+ACCC,U+ACD5,U+ACD7,U+ACE0-ACE1,U+ACE4,U+ACE7-ACE8,U+ACEA,U+ACEC,U+ACEF-ACF1,U+ACF3,U+ACF5-ACF6,U+ACFC-ACFD,U+AD00,U+AD04,U+AD06,U+AD0C-AD0D,U+AD0F,U+AD11,U+AD18,U+AD1C,U+AD20,U+AD29,U+AD2C-AD2D,U+AD34-AD35,U+AD38,U+AD3C,U+AD44-AD45,U+AD47,U+AD49,U+AD50,U+AD54,U+AD58,U+AD61,U+AD63,U+AD6C-AD6D,U+AD70,U+AD73-AD76,U+AD7B-AD7D,U+AD7F,U+AD81-AD82,U+AD88-AD89,U+AD8C,U+AD90,U+AD9C-AD9D,U+ADA4,U+ADB7,U+ADC0-ADC1,U+ADC4,U+ADC8,U+ADD0-ADD1,U+ADD3,U+ADDC,U+ADE0,U+ADE4,U+ADF8-ADF9,U+ADFC,U+ADFF-AE01,U+AE08-AE09,U+AE0B,U+AE0D,U+AE14,U+AE30-AE31,U+AE34,U+AE37-AE38,U+AE3A,U+AE40-AE41,U+AE43,U+AE45-AE46,U+AE4A,U+AE4C-AE4E,U+AE50,U+AE54,U+AE56,U+AE5C-AE5D,U+AE5F-AE61,U+AE65,U+AE68-AE69,U+AE6C,U+AE70,U+AE78-AE79,U+AE7B-AE7D,U+AE84-AE85,U+AE8C,U+AEBC-AEBE,U+AEC0,U+AEC4,U+AECC-AECD,U+AECF-AED1,U+AED8-AED9,U+AEDC,U+AEE8,U+AEEB,U+AEED,U+AEF4,U+AEF8,U+AEFC,U+AF07-AF08,U+AF0D,U+AF10,U+AF2C-AF2D,U+AF30,U+AF32,U+AF34,U+AF3C-AF3D,U+AF3F,U+AF41-AF43,U+AF48-AF49,U+AF50,U+AF5C-AF5D,U+AF64-AF65,U+AF79,U+AF80,U+AF84,U+AF88,U+AF90-AF91,U+AF95,U+AF9C,U+AFB8-AFB9,U+AFBC,U+AFC0,U+AFC7-AFC9,U+AFCB,U+AFCD-AFCE,U+AFD4,U+AFDC,U+AFE8-AFE9,U+AFF0-AFF1,U+AFF4,U+AFF8,U+B000-B001,U+B004,U+B00C,U+B010,U+B014,U+B01C-B01D,U+B028,U+B044-B045,U+B048,U+B04A,U+B04C,U+B04E,U+B053-B055,U+B057,U+B059,U+B05D,U+B07C-B07D,U+B080,U+B084,U+B08C-B08D,U+B08F,U+B091,U+B098-B09A,U+B09C,U+B09F-B0A2,U+B0A8-B0A9,U+B0AB-B0AF,U+B0B1,U+B0B3-B0B5,U+B0B8,U+B0BC,U+B0C4-B0C5,U+B0C7-B0C9,U+B0D0-B0D1,U+B0D4,U+B0D8,U+B0E0,U+B0E5,U+B108-B109,U+B10B-B10C,U+B110,U+B112-B113,U+B118-B119,U+B11B-B11D,U+B123-B125,U+B128,U+B12C,U+B134-B135,U+B137-B139,U+B140-B141,U+B144,U+B148,U+B150-B151,U+B154-B155,U+B158,U+B15C,U+B160,U+B178-B179,U+B17C,U+B180,U+B182,U+B188-B189,U+B18B,U+B18D,U+B192-B194,U+B198,U+B19C,U+B1A8,U+B1CC,U+B1D0,U+B1D4,U+B1DC-B1DD,U+B1DF,U+B1E8-B1E9,U+B1EC,U+B1F0,U+B1F9,U+B1FB,U+B1FD,U+B204-B205,U+B208,U+B20B-B20C,U+B214-B215,U+B217,U+B219,U+B220,U+B234,U+B23C,U+B258,U+B25C,U+B260,U+B268-B269,U+B274-B275,U+B27C,U+B284-B285,U+B289,U+B290-B291,U+B294,U+B298-B29A,U+B2A0-B2A1,U+B2A3,U+B2A5-B2A6,U+B2AA,U+B2AC,U+B2B0,U+B2B4,U+B2C8-B2C9,U+B2CC,U+B2D0,U+B2D2,U+B2D8-B2D9,U+B2DB,U+B2DD,U+B2E2,U+B2E4-B2E6,U+B2E8,U+B2EB-B2EF,U+B2F3-B2F5,U+B2F7-B2FB,U+B2FF-B301,U+B304,U+B308,U+B310-B311,U+B313-B315,U+B31C,U+B354-B356,U+B358,U+B35B-B35C,U+B35E-B35F,U+B364-B365,U+B367,U+B369,U+B36B,U+B36E,U+B370-B371,U+B374,U+B378,U+B380-B381,U+B383-B385,U+B38C,U+B390,U+B394,U+B3A0-B3A1,U+B3A8,U+B3AC,U+B3C4-B3C5,U+B3C8,U+B3CB-B3CC,U+B3CE,U+B3D0,U+B3D4-B3D5,U+B3D7,U+B3D9,U+B3DB,U+B3DD,U+B3E0,U+B3E4,U+B3E8,U+B3FC,U+B410,U+B418,U+B41C,U+B420,U+B428-B429,U+B42B,U+B434,U+B450-B451,U+B454,U+B458,U+B460-B461,U+B463,U+B465,U+B46C,U+B480,U+B488,U+B49D,U+B4A4,U+B4A8,U+B4AC,U+B4B5,U+B4B7,U+B4B9,U+B4C0,U+B4C4,U+B4C8,U+B4D0,U+B4D5,U+B4DC-B4DD,U+B4E0,U+B4E3-B4E4,U+B4E6,U+B4EC-B4ED,U+B4EF,U+B4F1,U+B4F8,U+B514-B515,U+B518,U+B51B-B51C,U+B524-B525,U+B527-B52A,U+B530-B531,U+B534,U+B538,U+B540-B541,U+B543-B545,U+B54B-B54D,U+B550,U+B554,U+B55C-B55D,U+B55F-B561,U+B5A0-B5A1,U+B5A4,U+B5A8,U+B5AA-B5AB,U+B5B0-B5B1,U+B5B3-B5B5,U+B5BB-B5BD,U+B5C0,U+B5C4,U+B5CC-B5CD,U+B5CF-B5D1,U+B5D8,U+B5EC,U+B610-B611,U+B614,U+B618,U+B625,U+B62C,U+B634,U+B648,U+B664,U+B668,U+B69C-B69D,U+B6A0,U+B6A4,U+B6AB-B6AC,U+B6B1,U+B6D4,U+B6F0,U+B6F4,U+B6F8,U+B700-B701,U+B705,U+B728-B729,U+B72C,U+B72F-B730,U+B738-B739,U+B73B,U+B744,U+B748,U+B74C,U+B754-B755,U+B760,U+B764,U+B768,U+B770-B771,U+B773,U+B775,U+B77C-B77D,U+B780,U+B784,U+B78C-B78D,U+B78F-B792,U+B796-B799,U+B79C,U+B7A0,U+B7A8-B7A9,U+B7AB-B7AD,U+B7B4-B7B5,U+B7B8,U+B7C7,U+B7C9,U+B7EC-B7ED,U+B7F0,U+B7F4,U+B7FC-B7FD,U+B7FF-B801,U+B807-B809,U+B80C,U+B810,U+B818-B819,U+B81B,U+B81D,U+B824-B825,U+B828,U+B82C,U+B834-B835,U+B837-B839,U+B840,U+B844,U+B851,U+B853,U+B85C-B85D,U+B860,U+B864,U+B86C-B86D,U+B86F,U+B871,U+B878,U+B87C,U+B88D,U+B8A8,U+B8B0,U+B8B4,U+B8B8,U+B8C0-B8C1,U+B8C3,U+B8C5,U+B8CC,U+B8D0,U+B8D4,U+B8DD,U+B8DF,U+B8E1,U+B8E8-B8E9,U+B8EC,U+B8F0,U+B8F8-B8F9,U+B8FB,U+B8FD,U+B904,U+B918,U+B920,U+B93C-B93D,U+B940,U+B944,U+B94C,U+B94F,U+B951,U+B958-B959,U+B95C,U+B960,U+B968-B969,U+B96B,U+B96D,U+B974-B975,U+B978,U+B97C,U+B984-B985,U+B987,U+B989-B98A,U+B98D-B98E,U+B9AC-B9AD,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE-B9D2,U+B9D8-B9D9,U+B9DB,U+B9DD-B9DE,U+B9E1,U+B9E3-B9E5,U+B9E8,U+B9EC,U+B9F4-B9F5,U+B9F7-B9FA,U+BA00-BA01,U+BA08,U+BA15,U+BA38-BA39,U+BA3C,U+BA40,U+BA42,U+BA48-BA49,U+BA4B,U+BA4D-BA4E,U+BA53-BA55,U+BA58,U+BA5C,U+BA64-BA65,U+BA67-BA69,U+BA70-BA71,U+BA74,U+BA78,U+BA83-BA85,U+BA87,U+BA8C,U+BAA8-BAA9,U+BAAB-BAAC,U+BAB0,U+BAB2,U+BAB8-BAB9,U+BABB,U+BABD,U+BAC4,U+BAC8,U+BAD8-BAD9,U+BAFC,U+BB00,U+BB04,U+BB0D,U+BB0F,U+BB11,U+BB18,U+BB1C,U+BB20,U+BB29,U+BB2B,U+BB34-BB36,U+BB38,U+BB3B-BB3E,U+BB44-BB45,U+BB47,U+BB49,U+BB4D,U+BB4F-BB50,U+BB54,U+BB58,U+BB61,U+BB63,U+BB6C,U+BB88,U+BB8C,U+BB90,U+BBA4,U+BBA8,U+BBAC,U+BBB4,U+BBB7,U+BBC0,U+BBC4,U+BBC8,U+BBD0,U+BBD3,U+BBF8-BBF9,U+BBFC,U+BBFF-BC00,U+BC02,U+BC08-BC09,U+BC0B-BC0D,U+BC0F,U+BC11,U+BC14-BC18,U+BC1B-BC1F,U+BC24-BC25,U+BC27,U+BC29,U+BC2D,U+BC30-BC31,U+BC34,U+BC38,U+BC40-BC41,U+BC43-BC45,U+BC49,U+BC4C-BC4D,U+BC50,U+BC5D,U+BC84-BC85,U+BC88,U+BC8B-BC8C,U+BC8E,U+BC94-BC95,U+BC97,U+BC99-BC9A,U+BCA0-BCA1,U+BCA4,U+BCA7-BCA8,U+BCB0-BCB1,U+BCB3-BCB5,U+BCBC-BCBD,U+BCC0,U+BCC4,U+BCCD,U+BCCF-BCD1,U+BCD5,U+BCD8,U+BCDC,U+BCF4-BCF6,U+BCF8,U+BCFC,U+BD04-BD05,U+BD07,U+BD09,U+BD10,U+BD14,U+BD24,U+BD2C,U+BD40,U+BD48-BD49,U+BD4C,U+BD50,U+BD58-BD59,U+BD64,U+BD68,U+BD80-BD81,U+BD84,U+BD87-BD8A,U+BD90-BD91,U+BD93,U+BD95,U+BD99-BD9A,U+BD9C,U+BDA4,U+BDB0,U+BDB8,U+BDD4-BDD5,U+BDD8,U+BDDC,U+BDE9,U+BDF0,U+BDF4,U+BDF8,U+BE00,U+BE03,U+BE05,U+BE0C-BE0D,U+BE10,U+BE14,U+BE1C-BE1D,U+BE1F,U+BE44-BE45,U+BE48,U+BE4C,U+BE4E,U+BE54-BE55,U+BE57,U+BE59-BE5B,U+BE60-BE61,U+BE64,U+BE68,U+BE6A,U+BE70-BE71,U+BE73-BE75,U+BE7B-BE7D,U+BE80,U+BE84,U+BE8C-BE8D,U+BE8F-BE91,U+BE98-BE99,U+BEA8,U+BED0-BED1,U+BED4,U+BED7-BED8,U+BEE0,U+BEE3-BEE5,U+BEEC,U+BF01,U+BF08-BF09,U+BF18-BF19,U+BF1B-BF1D,U+BF40-BF41,U+BF44,U+BF48,U+BF50-BF51,U+BF55,U+BF94,U+BFB0,U+BFC5,U+BFCC-BFCD,U+BFD0,U+BFD4,U+BFDC,U+BFDF,U+BFE1,U+C03C,U+C051,U+C058,U+C05C,U+C060,U+C068-C069,U+C090-C091,U+C094,U+C098,U+C0A0-C0A1,U+C0A3,U+C0A5,U+C0AC-C0AD,U+C0AF-C0B0,U+C0B3-C0B6,U+C0BC-C0BD,U+C0BF-C0C1,U+C0C5,U+C0C8-C0C9,U+C0CC,U+C0D0,U+C0D8-C0D9,U+C0DB-C0DD,U+C0E4-C0E5,U+C0E8,U+C0EC,U+C0F4-C0F5,U+C0F7,U+C0F9,U+C100,U+C104,U+C108,U+C110,U+C115,U+C11C-C120,U+C123-C124,U+C126-C127,U+C12C-C12D,U+C12F-C131,U+C136,U+C138-C139,U+C13C,U+C140,U+C148-C149,U+C14B-C14D,U+C154-C155,U+C158,U+C15C,U+C164-C165,U+C167-C169,U+C170,U+C174,U+C178,U+C185,U+C18C-C18E,U+C190,U+C194,U+C196,U+C19C-C19D,U+C19F,U+C1A1,U+C1A5,U+C1A8-C1A9,U+C1AC,U+C1B0,U+C1BD,U+C1C4,U+C1C8,U+C1CC,U+C1D4,U+C1D7-C1D8,U+C1E0,U+C1E4,U+C1E8,U+C1F0-C1F1,U+C1F3,U+C1FC-C1FD,U+C200,U+C204,U+C20C-C20D,U+C20F,U+C211,U+C218-C219,U+C21C,U+C21F-C220,U+C228-C229,U+C22B,U+C22D,U+C22F,U+C231-C232,U+C234,U+C248,U+C250-C251,U+C254,U+C258,U+C260,U+C265,U+C26C-C26D,U+C270,U+C274,U+C27C-C27D,U+C27F,U+C281,U+C288-C289,U+C290,U+C298,U+C29B,U+C29D,U+C2A4-C2A5,U+C2A8,U+C2AC-C2AD,U+C2B4-C2B5,U+C2B7,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E3-C2E4,U+C2EB-C2ED,U+C2EF,U+C2F1,U+C2F6,U+C2F8-C2F9,U+C2FB-C2FC,U+C300,U+C308-C309,U+C30C-C30D,U+C313-C315,U+C318,U+C31C,U+C324-C325,U+C328-C329,U+C345,U+C368-C369,U+C36C,U+C370,U+C372,U+C378-C379,U+C37C-C37D,U+C384,U+C388,U+C38C,U+C3C0,U+C3D8-C3D9,U+C3DC,U+C3DF-C3E0,U+C3E2,U+C3E8-C3E9,U+C3ED,U+C3F4-C3F5,U+C3F8,U+C408,U+C410,U+C424,U+C42C,U+C430,U+C434,U+C43C-C43D,U+C448,U+C464-C465,U+C468,U+C46C,U+C474-C475,U+C479,U+C480,U+C494,U+C49C,U+C4B8,U+C4BC,U+C4E9,U+C4F0-C4F1,U+C4F4,U+C4F8,U+C4FA,U+C4FF-C501,U+C50C,U+C510,U+C514,U+C51C,U+C528-C529,U+C52C,U+C530,U+C538-C539,U+C53B,U+C53D,U+C544-C545,U+C548-C54A,U+C54C-C54E,U+C553-C555,U+C557-C559,U+C55D-C55E,U+C560-C561,U+C564,U+C568,U+C570-C571,U+C573-C575,U+C57C-C57D,U+C580,U+C584,U+C587,U+C58C-C58D,U+C58F,U+C591,U+C595,U+C597-C598,U+C59C,U+C5A0,U+C5A9,U+C5B4-C5B5,U+C5B8-C5B9,U+C5BB-C5BE,U+C5C4-C5CA,U+C5CC,U+C5CE,U+C5D0-C5D1,U+C5D4,U+C5D8,U+C5E0-C5E1,U+C5E3,U+C5E5,U+C5EC-C5EE,U+C5F0,U+C5F4,U+C5F6-C5F7,U+C5FC-C601,U+C605-C608,U+C60C,U+C610,U+C618-C619,U+C61B-C61C,U+C624-C625,U+C628,U+C62C-C62E,U+C630,U+C633-C635,U+C637,U+C639,U+C63B,U+C640-C641,U+C644,U+C648,U+C650-C651,U+C653-C655,U+C65C-C65D,U+C660,U+C66C,U+C66F,U+C671,U+C678-C679,U+C67C,U+C680,U+C688-C689,U+C68B,U+C68D,U+C694-C695,U+C698,U+C69C,U+C6A4-C6A5,U+C6A7,U+C6A9,U+C6B0-C6B1,U+C6B4,U+C6B8-C6BA,U+C6C0-C6C1,U+C6C3,U+C6C5,U+C6CC-C6CD,U+C6D0,U+C6D4,U+C6DC-C6DD,U+C6E0-C6E1,U+C6E8-C6E9,U+C6EC,U+C6F0,U+C6F8-C6F9,U+C6FD,U+C704-C705,U+C708,U+C70C,U+C714-C715,U+C717,U+C719,U+C720-C721,U+C724,U+C728,U+C730-C731,U+C733,U+C735,U+C737,U+C73C-C73D,U+C740,U+C744,U+C74A,U+C74C-C74D,U+C74F,U+C751-C758,U+C75C,U+C760,U+C768,U+C76B,U+C774-C775,U+C778,U+C77C-C77E,U+C783-C785,U+C787-C78A,U+C78E,U+C790-C791,U+C794,U+C796-C798,U+C79A,U+C7A0-C7A1,U+C7A3-C7A6,U+C7AC-C7AD,U+C7B0,U+C7B4,U+C7BC-C7BD,U+C7BF-C7C1,U+C7C8-C7C9,U+C7CC,U+C7CE,U+C7D0,U+C7D8,U+C7DD,U+C7E4,U+C7E8,U+C7EC,U+C800-C801,U+C804,U+C808,U+C80A,U+C810-C811,U+C813,U+C815-C816,U+C81C-C81D,U+C820,U+C824,U+C82C-C82D,U+C82F,U+C831,U+C838,U+C83C,U+C840,U+C848-C849,U+C84C-C84D,U+C854,U+C870-C871,U+C874,U+C878,U+C87A,U+C880-C881,U+C883,U+C885-C887,U+C88B-C88D,U+C894,U+C89D,U+C89F,U+C8A1,U+C8A8,U+C8BC-C8BD,U+C8C4,U+C8C8,U+C8CC,U+C8D4-C8D5,U+C8D7,U+C8D9,U+C8E0-C8E1,U+C8E4,U+C8F5,U+C8FC-C8FD,U+C900,U+C904-C906,U+C90C-C90D,U+C90F,U+C911,U+C918,U+C92C,U+C934,U+C950-C951,U+C954,U+C958,U+C960-C961,U+C963,U+C96C,U+C970,U+C974,U+C97C,U+C988-C989,U+C98C,U+C990,U+C998-C999,U+C99B,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C7-C9C8,U+C9CA,U+C9D0-C9D1,U+C9D3,U+C9D5-C9D6,U+C9D9-C9DA,U+C9DC-C9DD,U+C9E0,U+C9E2,U+C9E4,U+C9E7,U+C9EC-C9ED,U+C9EF-C9F1,U+C9F8-C9F9,U+C9FC,U+CA00,U+CA08-CA09,U+CA0B-CA0D,U+CA14,U+CA18,U+CA29,U+CA4C-CA4D,U+CA50,U+CA54,U+CA5C-CA5D,U+CA5F-CA61,U+CA68,U+CA7D,U+CA84,U+CA98,U+CABC-CABD,U+CAC0,U+CAC4,U+CACC-CACD,U+CACF,U+CAD1,U+CAD3,U+CAD8-CAD9,U+CAE0,U+CAEC,U+CAF4,U+CB08,U+CB10,U+CB14,U+CB18,U+CB20-CB21,U+CB41,U+CB48-CB49,U+CB4C,U+CB50,U+CB58-CB59,U+CB5D,U+CB64,U+CB78-CB79,U+CB9C,U+CBB8,U+CBD4,U+CBE4,U+CBE7,U+CBE9,U+CC0C-CC0D,U+CC10,U+CC14,U+CC1C-CC1D,U+CC21-CC22,U+CC27-CC29,U+CC2C,U+CC2E,U+CC30,U+CC38-CC39,U+CC3B-CC3E,U+CC44-CC45,U+CC48,U+CC4C,U+CC54-CC55,U+CC57-CC59,U+CC60,U+CC64,U+CC66,U+CC68,U+CC70,U+CC75,U+CC98-CC99,U+CC9C,U+CCA0,U+CCA8-CCA9,U+CCAB-CCAD,U+CCB4-CCB5,U+CCB8,U+CCBC,U+CCC4-CCC5,U+CCC7,U+CCC9,U+CCD0,U+CCD4,U+CCE4,U+CCEC,U+CCF0,U+CD01,U+CD08-CD09,U+CD0C,U+CD10,U+CD18-CD19,U+CD1B,U+CD1D,U+CD24,U+CD28,U+CD2C,U+CD39,U+CD5C,U+CD60,U+CD64,U+CD6C-CD6D,U+CD6F,U+CD71,U+CD78,U+CD88,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4-CDA5,U+CDA7,U+CDA9,U+CDB0,U+CDC4,U+CDCC,U+CDD0,U+CDE8,U+CDEC,U+CDF0,U+CDF8-CDF9,U+CDFB,U+CDFD,U+CE04,U+CE08,U+CE0C,U+CE14,U+CE19,U+CE20-CE21,U+CE24,U+CE28,U+CE30-CE31,U+CE33,U+CE35,U+CE58-CE59,U+CE5C,U+CE5F-CE61,U+CE68-CE69,U+CE6B,U+CE6D,U+CE74-CE75,U+CE78,U+CE7C,U+CE84-CE85,U+CE87,U+CE89,U+CE90-CE91,U+CE94,U+CE98,U+CEA0-CEA1,U+CEA3-CEA5,U+CEAC-CEAD,U+CEC1,U+CEE4-CEE5,U+CEE8,U+CEEB-CEEC,U+CEF4-CEF5,U+CEF7-CEF9,U+CF00-CF01,U+CF04,U+CF08,U+CF10-CF11,U+CF13,U+CF15,U+CF1C,U+CF20,U+CF24,U+CF2C-CF2D,U+CF2F-CF31,U+CF38,U+CF54-CF55,U+CF58,U+CF5C,U+CF64-CF65,U+CF67,U+CF69,U+CF70-CF71,U+CF74,U+CF78,U+CF80,U+CF85,U+CF8C,U+CFA1,U+CFA8,U+CFB0,U+CFC4,U+CFE0-CFE1,U+CFE4,U+CFE8,U+CFF0-CFF1,U+CFF3,U+CFF5,U+CFFC,U+D000,U+D004,U+D011,U+D018,U+D02D,U+D034-D035,U+D038,U+D03C,U+D044-D045,U+D047,U+D049,U+D050,U+D054,U+D058,U+D060,U+D06C-D06D,U+D070,U+D074,U+D07C-D07D,U+D081,U+D0A4-D0A5,U+D0A8,U+D0AC,U+D0B4-D0B5,U+D0B7,U+D0B9,U+D0C0-D0C1,U+D0C4,U+D0C8-D0C9,U+D0D0-D0D1,U+D0D3-D0D5,U+D0DC-D0DD,U+D0E0,U+D0E4,U+D0EC-D0ED,U+D0EF-D0F1,U+D0F8,U+D10D,U+D130-D131,U+D134,U+D138,U+D13A,U+D140-D141,U+D143-D145,U+D14C-D14D,U+D150,U+D154,U+D15C-D15D,U+D15F,U+D161,U+D168,U+D16C,U+D17C,U+D184,U+D188,U+D1A0-D1A1,U+D1A4,U+D1A8,U+D1B0-D1B1,U+D1B3,U+D1B5,U+D1BA,U+D1BC,U+D1C0,U+D1D8,U+D1F4,U+D1F8,U+D207,U+D209,U+D210,U+D22C-D22D,U+D230,U+D234,U+D23C-D23D,U+D23F,U+D241,U+D248,U+D25C,U+D264,U+D280-D281,U+D284,U+D288,U+D290-D291,U+D295,U+D29C,U+D2A0,U+D2A4,U+D2AC,U+D2B1,U+D2B8-D2B9,U+D2BC,U+D2BF-D2C0,U+D2C2,U+D2C8-D2C9,U+D2CB,U+D2D4,U+D2D8,U+D2DC,U+D2E4-D2E5,U+D2F0-D2F1,U+D2F4,U+D2F8,U+D300-D301,U+D303,U+D305,U+D30C-D30E,U+D310,U+D314,U+D316,U+D31C-D31D,U+D31F-D321,U+D325,U+D328-D329,U+D32C,U+D330,U+D338-D339,U+D33B-D33D,U+D344-D345,U+D37C-D37D,U+D380,U+D384,U+D38C-D38D,U+D38F-D391,U+D398-D399,U+D39C,U+D3A0,U+D3A8-D3A9,U+D3AB,U+D3AD,U+D3B4,U+D3B8,U+D3BC,U+D3C4-D3C5,U+D3C8-D3C9,U+D3D0,U+D3D8,U+D3E1,U+D3E3,U+D3EC-D3ED,U+D3F0,U+D3F4,U+D3FC-D3FD,U+D3FF,U+D401,U+D408,U+D41D,U+D440,U+D444,U+D45C,U+D460,U+D464,U+D46D,U+D46F,U+D478-D479,U+D47C,U+D47F-D480,U+D482,U+D488-D489,U+D48B,U+D48D,U+D494,U+D4A9,U+D4CC,U+D4D0,U+D4D4,U+D4DC,U+D4DF,U+D4E8,U+D4EC,U+D4F0,U+D4F8,U+D4FB,U+D4FD,U+D504,U+D508,U+D50C,U+D514-D515,U+D517,U+D53C-D53D,U+D540,U+D544,U+D54C-D54D,U+D54F,U+D551,U+D558-D559,U+D55C,U+D560,U+D565,U+D568-D569,U+D56B,U+D56D,U+D574-D575,U+D578,U+D57C,U+D584-D585,U+D587-D589,U+D590,U+D5A5,U+D5C8-D5C9,U+D5CC,U+D5D0,U+D5D2,U+D5D8-D5D9,U+D5DB,U+D5DD,U+D5E4-D5E5,U+D5E8,U+D5EC,U+D5F4-D5F5,U+D5F7,U+D5F9,U+D600-D601,U+D604,U+D608,U+D610-D611,U+D613-D615,U+D61C,U+D620,U+D624,U+D62D,U+D638-D639,U+D63C,U+D640,U+D645,U+D648-D649,U+D64B,U+D64D,U+D651,U+D654-D655,U+D658,U+D65C,U+D667,U+D669,U+D670-D671,U+D674,U+D683,U+D685,U+D68C-D68D,U+D690,U+D694,U+D69D,U+D69F,U+D6A1,U+D6A8,U+D6AC,U+D6B0,U+D6B9,U+D6BB,U+D6C4-D6C5,U+D6C8,U+D6CC,U+D6D1,U+D6D4,U+D6D7,U+D6D9,U+D6E0,U+D6E4,U+D6E8,U+D6F0,U+D6F5,U+D6FC-D6FD,U+D700,U+D704,U+D711,U+D718-D719,U+D71C,U+D720,U+D728-D729,U+D72B,U+D72D,U+D734-D735,U+D738,U+D73C,U+D744,U+D747,U+D749,U+D750-D751,U+D754,U+D756-D759,U+D760-D761,U+D763,U+D765,U+D769,U+D76C,U+D770,U+D774,U+D77C-D77D,U+D781,U+D788-D789,U+D78C,U+D790,U+D798-D799,U+D79B,U+D79D}@font-face{font-family:Pretendard;src:url(/public/fonts/pretendard/latin-095e1479c8.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0-FF,U+2000-206F,U+20A9,U+20AC,U+2190-22FF,U+25A0-27BF,U+3000-303F,U+3131-318E}:root{--jj-gray-950: #0f141b;--jj-gray-900: #191f28;--jj-gray-800: #333d4b;--jj-gray-700: #4e5968;--jj-gray-600: #646e7b;--jj-gray-500: #8b95a1;--jj-gray-400: #b0b8c1;--jj-gray-300: #d1d6db;--jj-gray-200: #e5e8eb;--jj-gray-150: #eceff2;--jj-gray-100: #f2f4f6;--jj-gray-50: #f9fafb;--jj-white: #fff;--jj-primary: #3155e7;--jj-primary-hover: #2546d0;--jj-primary-pressed: #1d3bb5;--jj-primary-strong: #1d3aa8;--jj-primary-300: #9fb2f5;--jj-primary-200: #cbd6fb;--jj-primary-100: #e5ebfd;--jj-primary-50: #f1f4fe;--jj-success: #0f8a55;--jj-success-fg: #0b6e44;--jj-success-bg: #e6f6ee;--jj-warning: #e08a00;--jj-warning-fg: #8f5200;--jj-warning-bg: #fff4dc;--jj-danger: #e0364c;--jj-danger-fg: #c0283d;--jj-danger-bg: #fdecee;--jj-info: var(--jj-primary);--jj-info-fg: var(--jj-primary-hover);--jj-info-bg: var(--jj-primary-50);--jj-bg: #f3f5f8;--jj-surface: var(--jj-white);--jj-surface-subtle: var(--jj-gray-50);--jj-surface-hover: var(--jj-gray-100);--jj-text: var(--jj-gray-900);--jj-text-secondary: var(--jj-gray-700);--jj-text-tertiary: var(--jj-gray-600);--jj-text-disabled: var(--jj-gray-400);--jj-border: var(--jj-gray-200);--jj-border-strong: var(--jj-gray-300);--jj-divider: var(--jj-gray-150);--jj-space-1: 4px;--jj-space-2: 8px;--jj-space-3: 12px;--jj-space-4: 16px;--jj-space-5: 20px;--jj-space-6: 24px;--jj-space-8: 32px;--jj-space-10: 40px;--jj-space-12: 48px;--jj-radius-xs: 6px;--jj-radius-control: 8px;--jj-radius-card: 12px;--jj-radius-sheet: 16px;--jj-radius-pill: 999px;--jj-shadow-1: 0 1px 2px rgb(15 20 27 / 5%), 0 1px 3px rgb(15 20 27 / 4%);--jj-shadow-2: 0 12px 32px rgb(15 20 27 / 12%), 0 2px 8px rgb(15 20 27 / 6%);--jj-shadow-pop: 0 18px 50px rgb(20 38 68 / 20%), 0 2px 8px rgb(20 38 68 / 8%);--jj-shadow-coach: 0 24px 60px rgb(0 0 0 / 35%);--jj-shadow-sheet: 0 -18px 50px rgb(20 38 68 / 20%);--jj-glass: rgb(255 255 255 / 96%);--jj-cat-handoff: #3155e7;--jj-cat-handoff-bg: #e5ebfd;--jj-cat-notice: #7b4fd6;--jj-cat-notice-bg: #efe9fb;--jj-cat-request: #d97a00;--jj-cat-request-bg: #fff1dc;--jj-cat-student: #0f8a55;--jj-cat-student-bg: #e6f6ee;--jj-cat-memo: #b7860b;--jj-cat-memo-bg: #fdf4d6;--jj-cat-chat: #0b7ab8;--jj-cat-chat-bg: #e3f2fb;--jj-cat-system: #646e7b;--jj-cat-system-bg: #eceff2;--jj-font: Pretendard, "Pretendard Variable", system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;--jj-text-title: 700 24px/32px var(--jj-font);--jj-text-section: 600 18px/26px var(--jj-font);--jj-text-body: 400 15px/22px var(--jj-font);--jj-text-secondary-size: 13px;--jj-text-caption-size: 12px;--jj-control-h: 40px;--jj-control-h-sm: 32px;--jj-control-h-lg: 48px;--jj-input-h: 44px;--jj-focus-ring: 0 0 0 3px rgb(49 85 231 / 26%);--jj-focus-outline: 2px solid var(--jj-primary);--jj-ease: cubic-bezier(.2, 0, 0, 1);--jj-duration-fast: .12s;--jj-duration: .16s;--jj-duration-slow: .18s;--jj-topbar-h: 56px;--accent: var(--jj-primary);--line: var(--jj-border);--muted: var(--jj-text-tertiary);--surface: var(--jj-surface);--soft: var(--jj-primary-50);--radius: var(--jj-radius-card);font-family:var(--jj-font);color:var(--jj-text);background:var(--jj-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(prefers-reduced-motion:reduce){:root{--jj-duration-fast: 0ms;--jj-duration: 0ms;--jj-duration-slow: 0ms}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--jj-control-h);padding:0 14px;border:1px solid var(--jj-border-strong);border-radius:var(--jj-radius-control);background:var(--jj-surface);color:var(--jj-gray-800);font-size:14px;font-weight:600;line-height:20px;cursor:pointer;white-space:nowrap;transition:background-color var(--jj-duration-fast) var(--jj-ease),border-color var(--jj-duration-fast) var(--jj-ease),color var(--jj-duration-fast) var(--jj-ease),box-shadow var(--jj-duration-fast) var(--jj-ease)}button:hover{background:var(--jj-gray-50);border-color:var(--jj-gray-400)}button:active:not(:disabled){background:var(--jj-gray-100)}button:disabled{opacity:.45;cursor:not-allowed}button.active{background:var(--jj-primary-50);border-color:var(--jj-primary-200);color:var(--jj-primary-hover)}button.primary{background:var(--jj-primary);border-color:var(--jj-primary);color:var(--jj-white)}button.primary:hover{background:var(--jj-primary-hover);border-color:var(--jj-primary-hover)}button.primary:active:not(:disabled){background:var(--jj-primary-pressed)}button.quiet{border-color:transparent;background:transparent}button.quiet:hover{background:var(--jj-gray-100)}button.danger{background:var(--jj-danger);border-color:var(--jj-danger);color:var(--jj-white)}button.danger:hover{background:var(--jj-danger-fg)}.text-danger{color:var(--jj-danger-fg)}.wide{width:100%}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}input,select,textarea{border:1px solid var(--jj-border-strong);border-radius:var(--jj-radius-control);padding:10px 12px;background:var(--jj-surface);color:var(--jj-text);font-weight:400;min-width:0;transition:border-color var(--jj-duration-fast) var(--jj-ease),box-shadow var(--jj-duration-fast) var(--jj-ease)}input,select{min-height:var(--jj-input-h)}input:hover:not(:disabled,:focus),select:hover:not(:disabled,:focus),textarea:hover:not(:disabled,:focus){border-color:var(--jj-gray-400)}input::placeholder,textarea::placeholder{color:var(--jj-gray-500)}input:is([type=checkbox],[type=radio]){min-height:18px;width:18px;height:18px;padding:0;flex-shrink:0;accent-color:var(--jj-primary)}textarea{resize:vertical;line-height:1.6;width:100%;margin-top:8px}label{display:flex;flex-direction:column;gap:6px;color:var(--jj-text-secondary);font-weight:600;font-size:13px}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--jj-focus-outline);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--jj-primary);box-shadow:var(--jj-focus-ring)}input:is([type=checkbox],[type=radio]):focus-visible{outline:var(--jj-focus-outline);outline-offset:2px;box-shadow:none}a{color:var(--jj-primary);text-decoration:none;font-weight:600;text-underline-offset:3px}a:hover{text-decoration:underline}a.button:hover,a.workspace-button:hover,nav a:hover,a[aria-current]:hover,a.brand:hover{text-decoration:none}hr{border:0;height:1px;margin:16px 0;background:var(--jj-divider)}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.4px}h2{font-size:18px;line-height:26px;font-weight:600;letter-spacing:-.2px}h3{font-size:16px;line-height:24px;font-weight:600}p{line-height:1.6}small,.muted,.hint{color:var(--jj-text-tertiary)}small{font-size:12px}.hint{font-size:13px;line-height:1.6}.empty{padding:28px 10px;text-align:center;color:var(--muted);font-size:14px;line-height:1.8}.skip{position:fixed;top:-100px;left:12px;z-index:100}.skip:focus{top:10px;padding:15px;background:#fff}.demo-strip{padding:5px 24px;background:var(--jj-gray-900);color:var(--jj-gray-200);font-size:11px;display:flex;justify-content:space-between;gap:12px}.app-header{height:76px;padding:0 24px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:#fff}.brand{width:160px;flex-shrink:0}.brand img{width:100%;max-height:35px;object-fit:contain;object-position:left}.app-header nav{display:flex;gap:4px}.app-header nav button{border:0;background:transparent;font-size:14px}.app-header nav button.active{color:var(--accent);background:var(--soft)}.global-search{position:relative;margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--jj-gray-50);border:1px solid var(--line);border-radius:var(--jj-radius-control);padding:0 12px;max-width:355px;flex:1}.global-search input{border:0;background:transparent;width:100%;padding:10px 0}.global-search kbd{font-family:inherit;font-size:11px;white-space:nowrap;color:var(--jj-gray-500)}.search-dropdown{position:absolute;top:49px;left:0;right:0;background:#fff;box-shadow:var(--jj-shadow-2);border:1px solid var(--line);padding:8px;z-index:30;border-radius:var(--jj-radius-card);max-height:460px;overflow:auto}.search-dropdown button{display:flex;width:100%;justify-content:space-between;min-height:45px;border:0}.profile{display:flex;align-items:center;gap:9px;font-size:13px;white-space:nowrap}.profile small{display:block;margin-top:4px}.avatar{height:48px;width:48px;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--accent);font-size:23px;border-radius:50%;font-weight:700;flex-shrink:0}.avatar.small{height:34px;width:34px;font-size:16px}main{padding:25px 26px 18px;max-width:2400px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:6px}.heading-actions{display:flex;gap:8px;align-items:center}.count{background:var(--jj-gray-150);border-radius:var(--jj-radius-xs);font-size:11px;padding:2px 5px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.week-nav{display:flex;align-items:center;gap:8px}.week-nav strong{font-size:18px;padding:0 5px;letter-spacing:-.4px}.week-nav>button:has(svg):not(:has(span)){gap:6px}.week-nav>button[data-action=copy-next]{margin-left:12px;font-size:12px}.view-switch{display:flex;padding:4px;gap:3px;background:var(--jj-gray-150);border-radius:var(--jj-radius-control)}.view-switch button{border:0;background:transparent;font-size:13px;min-height:34px;padding:7px 13px}.view-switch button.active{color:var(--accent);background:#fff;box-shadow:var(--jj-shadow-1)}.filterbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.campus-tabs{display:flex;gap:7px;overflow-x:auto;padding:3px 1px;align-items:center}.campus-tabs button{font-size:13px;border-radius:var(--jj-radius-control);flex-shrink:0;min-height:34px}.small-actions{display:flex;gap:12px;align-items:center}.small-actions label{flex-direction:row;align-items:center;font-size:12px;white-space:nowrap;color:var(--muted)}.small-actions select{padding:7px 28px 7px 10px;font-size:12px}.small-actions button{font-size:12px}.board-caption{display:flex;justify-content:space-between;gap:15px;margin:0 0 10px;font-size:12px;color:var(--muted)}.board-caption b{color:var(--accent);font-weight:500}.board-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.board-layout.has-panel{grid-template-columns:minmax(0,1fr) 320px}.board-main{min-width:0}.board-scroll{height:calc(100dvh - 370px);min-height:330px;overflow:auto;border:1px solid var(--line);border-radius:var(--jj-radius-card);background:#fff;scrollbar-width:thin;scrollbar-color:var(--jj-gray-300) transparent;overscroll-behavior:contain}table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed}th{font-weight:600;font-size:13px;background:var(--jj-gray-50);color:var(--jj-gray-800);text-align:center}td,th{border-right:1px solid var(--jj-gray-200);border-bottom:1px solid var(--jj-gray-200)}td:last-child,th:last-child{border-right:0}.master-table{min-width:1270px}.master-table thead th,.week-table thead th{position:sticky;top:0;z-index:5;height:41px;background:var(--jj-gray-50)}.master-table .time-col{width:63px;position:sticky;left:0;z-index:3;background:var(--jj-gray-50);font-size:12px;vertical-align:top;padding-top:12px}.master-table .teacher-col{width:96px;position:sticky;left:63px;z-index:3;background:#fff;white-space:nowrap;font-size:12px}.master-table thead .time-col,.master-table thead .teacher-col{z-index:7;background:var(--jj-gray-50);padding-top:0;vertical-align:middle}.teacher-mark{display:inline-block;width:5px;height:18px;background:var(--teacher);border-radius:3px;vertical-align:middle;margin-right:7px}.master-table td{padding:4px;height:95px;background:#fff;vertical-align:top}.master-table td:nth-last-child(-n+2){background:var(--jj-gray-50)}.master-table .time-start td,.master-table .time-start th{border-top:2px solid var(--jj-gray-300)}.cell-content{height:85px;overflow:auto;scrollbar-width:thin}.class-card{height:85px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:var(--jj-gray-50);padding:7px 8px;overflow:hidden;position:relative;transition:box-shadow .12s}.class-card.selected{background:var(--jj-primary-50);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.class-card.drop-hover{box-shadow:inset 0 0 0 2px var(--accent);background:var(--jj-primary-100)}.class-open{display:flex;justify-content:space-between;gap:4px;width:100%;padding:0;min-height:19px;background:transparent;border:0;border-radius:3px;text-align:left;font-size:13px}.class-open:hover{background:transparent;color:var(--accent)}.class-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.class-open>span{font-size:12px;color:var(--muted);font-weight:500}.class-open small{font-size:10px}.class-meta{font-size:10px;color:var(--jj-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;margin:2px 0 4px}.student-chips{display:flex;gap:4px;height:24px;align-items:center;overflow:hidden;white-space:nowrap}.student-chips button{min-height:23px;max-width:90px;padding:3px 5px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-xs);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;display:block;background:#fff;flex-shrink:1}.student-chips button.chosen{background:var(--accent);color:#fff;border-color:var(--accent)}.student-chips button.more{background:var(--jj-gray-150);color:var(--jj-gray-600);flex-shrink:0}.student-chips .muted{font-size:11px}.empty-slot{height:100%;width:100%;background:transparent;color:var(--jj-gray-400);border:1px dashed transparent;font-weight:400;font-size:18px}.empty-slot:hover{border-color:var(--jj-primary-300);background:var(--jj-gray-50)}.empty-slot:disabled{background:transparent;border:0;color:transparent}.week-table{min-width:1120px}.week-table th:first-child{width:65px}.week-table td{padding:5px;vertical-align:top}.weekly-cell{height:185px;overflow:auto;scrollbar-width:thin}.weekly-cell .class-card+.class-card{margin-top:5px}.weekly-cell>.muted{display:grid;place-items:center;height:100%}.planbar{display:flex;justify-content:space-between;gap:12px;margin-top:12px;align-items:center}.plan-tabs{display:flex;gap:4px;overflow:auto;min-width:0}.plan-tabs button{border-radius:7px 7px 0 0;font-size:13px;min-height:38px;border-bottom:3px solid transparent;flex-shrink:0}.plan-tabs button.active{background:#fff;border-color:var(--line);border-bottom:3px solid var(--accent)}.planbar>.quiet{font-size:12px}.side-panel{background:#fff;border:1px solid var(--line);border-radius:var(--jj-radius-card);max-height:calc(100dvh - 370px);min-height:330px;overflow:hidden;display:flex;flex-direction:column}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);gap:10px;flex-shrink:0}.panel-head h2{font-size:16px}.panel-head .quiet{padding:4px;min-height:28px}.panel-body{padding:18px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.panel-body>h3{margin:24px 0 12px}.panel-body>h3:first-child{margin-top:0}.panel-body>p{font-size:13px;color:var(--muted);margin-bottom:14px}.student-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.student-heading h3{font-size:22px}.student-heading p{font-size:13px;color:var(--muted);margin-top:5px}.assignment-row{padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.assignment-row p{font-size:12px;color:var(--muted);margin:4px 0 9px}.assignment-row button{font-size:12px;min-height:29px;padding:5px 9px;margin-right:4px}.availability>div{display:flex;gap:10px;border-bottom:1px solid var(--jj-gray-150);padding:7px 0;font-size:12px;line-height:1.7}.availability b{background:var(--jj-success-bg);color:var(--jj-success-fg);border-radius:var(--jj-radius-xs);width:25px;text-align:center;height:23px;flex-shrink:0}.panel-body .availability+p{margin-top:12px}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid var(--jj-gray-150);min-height:58px}.roster-row>button:not(.student-name){min-height:30px;font-size:12px;padding:5px 8px}.student-name{border:0;align-items:flex-start;flex-direction:column;padding:10px 3px;font-size:14px;background:transparent}.student-name small{font-weight:400}.roster-row>span{font-size:12px;color:var(--muted)}#roster-search{width:100%;margin-bottom:9px;font-size:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 13px}.history-item{border-left:2px solid var(--jj-primary-100);margin:20px 0 0;padding:0 0 6px 12px}.history-item strong{font-size:14px}.history-item p{font-size:12px;margin:7px 0;color:var(--jj-gray-700);overflow-wrap:anywhere}.history-item small{font-size:11px}.target-row{display:flex;align-items:flex-start;flex-direction:column;text-align:left;width:100%;white-space:normal;gap:5px;padding:12px;margin-bottom:8px}.target-row strong{font-size:13px}.target-row em{font-style:normal;color:var(--jj-danger);font-size:11px}.target-row:disabled{opacity:.6;background:var(--jj-gray-50)}.move-confirm{position:fixed;z-index:40;bottom:30px;right:28px;width:min(490px,calc(100vw - 32px));background:#fff;border:1px solid var(--jj-primary-300);border-top:3px solid var(--accent);border-radius:var(--jj-radius-card);box-shadow:var(--jj-shadow-2);padding:16px 18px;animation:enter .16s ease-out}.move-confirm>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.move-confirm strong{font-size:16px}.move-confirm .quiet{min-height:25px;padding:3px}.move-confirm p{font-size:12px;margin-top:7px;line-height:1.5}.move-confirm .from{color:var(--muted)}.move-confirm .to{color:var(--jj-success-fg);font-weight:600}.move-confirm footer{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:13px}.move-confirm footer small{margin-right:auto;font-size:11px;max-width:190px}.move-confirm footer button{font-size:13px;min-height:34px}.week-empty{border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;text-align:center}.week-empty>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;color:var(--jj-primary);background:var(--jj-primary-50);border-radius:var(--jj-radius-pill)}.week-empty svg{height:22px;width:22px}.week-empty h2{font:var(--jj-text-section)}.week-empty p{max-width:380px;margin-bottom:8px;font-size:14px;line-height:20px;color:var(--jj-text-tertiary)}.week-empty button{min-width:220px}.campus-board{display:flex;gap:14px;padding:14px;width:max-content;min-width:100%}.campus-lane{width:310px;flex:1;min-width:280px}.campus-lane h3{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.campus-time{min-height:130px;border-top:1px solid var(--line);padding:10px 0}.campus-time>time{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.campus-time .class-card+.class-card{margin-top:5px}.campus-time>.muted{font-size:12px}.day-switch{display:flex;gap:5px;padding:10px 14px;background:#fff;position:sticky;top:0;z-index:6;border-bottom:1px solid var(--line)}.day-switch button{flex:1}.inline-editor{position:fixed;right:28px;bottom:27px;z-index:45;width:min(420px,calc(100vw - 30px));background:#fff;border:1px solid var(--jj-primary-300);border-radius:var(--jj-radius-card);box-shadow:var(--jj-shadow-2)}.inline-editor form{padding:20px;display:grid;gap:18px}.inline-editor .row{display:flex;gap:8px}.inline-editor .checkbox{flex-direction:row;align-items:center;font-size:13px;font-weight:400}.checkbox input{min-height:20px}.inline-editor [role=alert]{color:var(--jj-danger);padding:0 20px 14px;font-size:12px}.form-columns{display:grid;grid-template-columns:1fr 1fr 80px;gap:12px}.lessons-page{max-width:1200px;margin:auto}body:is([data-route=settings],[data-route=schools],[data-route=source]) #main{max-width:none;padding:0}.settings-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.settings-section.jj-card{padding:24px}.settings-section>h2{font:var(--jj-text-section)}.settings-section>h2:not(:first-child){margin-top:28px}.settings-section>p{font-size:14px;line-height:20px;color:var(--jj-text-tertiary);margin:4px 0 16px}.campus-form{display:flex;gap:8px;align-items:end;margin:0 0 12px}.campus-form label{flex:1}.campus-form span{font-size:13px;color:var(--jj-text-secondary)}.settings-section form button{min-height:var(--jj-input-h)}.settings-section #campus-add{display:flex;align-items:end;gap:8px;border-top:1px solid var(--jj-divider);padding-top:16px;margin-top:16px}.settings-section #campus-add label{flex:1}.lesson-list{background:#fff;border:1px solid var(--line);border-radius:var(--jj-radius-card);padding:0 22px;margin-top:20px}.lesson-list-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;display:flex;gap:22px;padding:20px 0;text-align:left;white-space:normal}.lesson-list-row:last-child{border-bottom:0}.lesson-list-row>div{flex:1}.lesson-list-row p{font-size:13px;color:var(--muted);margin:5px 0}.date-stamp{background:var(--jj-gray-100);padding:12px;min-width:74px;text-align:center;font-size:13px;color:var(--jj-gray-700);border-radius:var(--jj-radius-control);align-self:center}.date-stamp strong{display:block;margin-top:4px;font-size:15px}.tag{display:inline-block;font-size:11px;font-weight:500;padding:6px 8px;border-radius:var(--jj-radius-xs);background:var(--soft);color:var(--jj-primary-hover);white-space:nowrap}.tag.good{background:var(--jj-success-bg);color:var(--jj-success-fg)}.lesson-editor{max-width:1180px;margin:auto}.editor-nav{display:flex;justify-content:space-between;gap:14px;margin-bottom:23px}.editor-nav>div{display:flex;gap:8px}.lesson-heading{padding:18px 0 27px}.lesson-heading h1{margin:14px 0 10px;font-size:32px}.lesson-heading p{font-size:14px;color:var(--muted)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;align-items:start}.lesson-form{background:#fff;border:1px solid var(--line);border-radius:var(--jj-radius-card);padding:26px 30px}.lesson-form .section-heading{margin-top:0}.lesson-form label{margin:25px 0;font-size:15px}.lesson-form textarea{font-size:15px;font-weight:400}.lesson-form textarea[readonly]{background:var(--jj-gray-50);color:var(--jj-gray-700)}.required{color:var(--accent);display:contents}.editor-save{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.editor-save>span,#draft-status{font-size:12px;color:var(--muted);line-height:1.6}.lesson-context section{border:1px solid var(--line);background:#fff;border-radius:var(--jj-radius-card);padding:20px;margin-bottom:18px}.lesson-context h2{font-size:16px;margin-bottom:14px}.lesson-context .hint{font-size:12px}.lesson-students{display:flex;flex-wrap:wrap;gap:7px}.lesson-students span{background:var(--jj-gray-100);border-radius:var(--jj-radius-xs);padding:6px 8px;font-size:12px}.reference-note{margin-top:13px;padding:12px;display:flex;align-items:flex-start;flex-direction:column;text-align:left;white-space:normal;width:100%;gap:6px;font-size:12px}.reference-note span{color:var(--muted)}.permission-note{background:var(--jj-primary-50);padding:12px;font-size:13px;border-radius:var(--jj-radius-control);color:var(--jj-gray-700)}.pull-status:empty{display:none}#form-error{color:var(--jj-danger)}.mobile-agenda{display:none}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,15px);z-index:100;background:var(--jj-gray-900);color:#fff;padding:13px 20px;border-radius:var(--jj-radius-control);box-shadow:var(--jj-shadow-2);font-size:13px;max-width:min(620px,calc(100vw - 30px));line-height:1.6;opacity:0;pointer-events:none;transition:.18s}#toast.visible{opacity:1;transform:translate(-50%)}[hidden]{display:none!important}.print-controls{max-width:1400px;margin:0 auto 25px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.print-controls h1{font-size:23px}.print-controls p{width:100%;font-size:13px;color:var(--muted)}.print-page{overflow-x:hidden}.print-options{width:100%;display:flex;flex-wrap:wrap;gap:10px 22px}.print-option{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.print-option>span{font-size:13px;font-weight:700;color:var(--muted);margin-right:2px}.print-option button{min-height:36px;padding:0 12px;font-size:13px}.print-option button.active{background:var(--jj-primary, #2f54d6);border-color:var(--jj-primary, #2f54d6);color:#fff}.a3-preview{zoom:.92;width:fit-content;margin:0 auto}.a3-preview .a3-sheet{margin:0 auto 24px;box-shadow:var(--jj-shadow-2)}@media(max-width:1500px){.a3-preview{zoom:.78}}@media(max-width:1240px){.a3-preview{zoom:.62}}@media(max-width:1000px){.a3-preview{zoom:.5}}@media(max-width:800px){.a3-preview{zoom:.38}}@media(max-width:600px){.a3-preview{zoom:.27}}@media(max-width:420px){.a3-preview{zoom:.22}}@media(max-width:340px){.a3-preview{zoom:.19}}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:1800px){.master-table{min-width:1400px}.master-table td{height:101px}.cell-content,.class-card{height:91px}.class-open{font-size:14px}.class-meta{font-size:11px;margin:4px 0 6px}.student-chips button{font-size:12px}.board-layout.has-panel{grid-template-columns:minmax(0,1fr) 355px}}@media(max-width:1200px){.app-header{gap:15px;padding:0 18px}.brand{width:130px}.profile>span:last-child{display:none}.global-search{max-width:290px}.global-search kbd{display:none}main{padding:22px 18px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.heading-actions button{font-size:12px}.board-layout.has-panel{grid-template-columns:minmax(0,1fr) 300px}.board-scroll,.side-panel{height:calc(100dvh - 410px);max-height:unset;min-height:320px}.toolbar{gap:12px}.editor-layout{grid-template-columns:minmax(0,1fr) 260px}.lesson-form{padding:24px}.small-actions label{display:none}}@media(max-width:800px){.app-header{gap:12px;height:68px}.app-header nav button{padding:8px}.app-header nav span{display:none}.brand{width:125px}.global-search{max-width:none}.profile{display:none}.page-heading{align-items:flex-start}.heading-actions{gap:5px}.heading-actions button{padding:8px;font-size:11px}.heading-actions [data-action=undo],.heading-actions .count{display:none}h1{font-size:22px;line-height:30px}.board-caption{font-size:11px}.board-caption>span:last-child{display:none}.board-layout.has-panel{grid-template-columns:minmax(0,1fr)}.side-panel{position:fixed;right:15px;top:140px;bottom:75px;width:320px;height:auto;max-height:calc(100dvh - 210px);z-index:20;box-shadow:var(--jj-shadow-2)}.editor-layout{grid-template-columns:1fr}.lesson-context{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-layout{grid-template-columns:1fr}.week-nav strong{font-size:16px}.week-nav>button[data-action=copy-next]{font-size:11px;padding:9px;margin-left:0}.planbar>.quiet{font-size:11px}.demo-strip{font-size:10px;padding:5px 18px}}@media(max-width:600px){.demo-strip{padding:5px 12px;font-size:9px}.demo-strip span:last-child{max-width:60%;text-align:right}.app-header{padding:12px 13px 10px;height:auto;min-height:105px;flex-wrap:wrap;gap:8px;justify-content:space-between}.brand{width:139px}.app-header nav{margin-left:auto}.app-header nav button{min-height:37px;min-width:39px}.global-search{flex-basis:100%;max-width:none;margin:0;order:4}.global-search input{font-size:14px;min-height:38px}.global-search svg{width:16px}main{padding:20px 13px 90px}.page-heading{flex-wrap:wrap;gap:14px;margin-bottom:18px}.breadcrumb{font-size:11px}.heading-actions{width:100%;justify-content:space-between}.heading-actions button{min-height:42px;padding:9px 11px;font-size:12px}.heading-actions button svg{width:16px}.week-nav{width:100%;flex-wrap:wrap;gap:6px;justify-content:space-between}.week-nav strong{font-size:16px}.week-nav>button{min-height:40px}.week-nav>button[data-action=copy-next]{width:100%;margin-top:3px;font-size:13px}.view-switch{width:100%;gap:0;padding:3px}.view-switch button{flex:1;min-height:42px;font-size:12px;padding:8px 7px}.filterbar{flex-wrap:wrap;margin-bottom:11px}.campus-tabs{max-width:100%}.campus-tabs button{min-height:40px}.small-actions{display:none}.board-caption{font-size:11px}.board-scroll{height:55dvh;min-height:330px}.board-scroll:not(.is-campus){display:none}body:has([data-action=view][data-id=master].active) .board-scroll{display:block}body:has([data-action=view][data-id=master].active) .mobile-agenda{display:none}.mobile-agenda{display:block}.mobile-agenda section{margin:20px 0}.mobile-agenda h3{margin-bottom:10px;color:var(--jj-gray-600);font-size:13px}.mobile-agenda .class-card{height:106px;padding:11px;margin-bottom:9px}.mobile-agenda .class-open{font-size:16px;min-height:24px}.mobile-agenda .class-meta{font-size:12px;margin:5px 0 7px}.mobile-agenda .student-chips button{min-height:25px;font-size:12px}.day-switch{padding:8px 0;gap:3px}.day-switch button{font-size:13px;min-height:42px;padding:7px}.board-layout.has-panel{display:block}.side-panel{top:164px;bottom:80px;right:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 244px);min-height:240px;border:1px solid var(--jj-primary-300)}.panel-body{padding:18px}.panel-head button{min-height:40px;min-width:40px}.roster-row{min-height:64px}.roster-row>button:not(.student-name),.assignment-row button{min-height:40px;font-size:13px}.target-row{min-height:70px}.planbar{position:fixed;bottom:0;left:0;right:0;z-index:12;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));margin:0;gap:5px}.planbar button{min-height:42px}.planbar>.quiet{font-size:10px;max-width:85px;white-space:normal;padding:4px}.plan-tabs{flex:1}.plan-tabs button{font-size:12px}.move-confirm{right:10px;bottom:80px;width:calc(100vw - 20px);padding:14px}.move-confirm footer{flex-wrap:wrap}.move-confirm footer small{max-width:none;flex:1;font-size:10px}.move-confirm footer button{min-height:42px}.inline-editor{bottom:82px;right:10px;width:calc(100vw - 20px)}.week-empty{padding:25px 17px;min-height:340px}.week-empty h2{font-size:19px}.week-empty p{font-size:13px}.campus-lane{width:275px;min-width:275px}.campus-board{padding:10px}.lesson-heading{padding:12px 0 22px}.lesson-heading h1{font-size:28px}.lesson-heading p{font-size:13px}.editor-nav{gap:6px}.editor-nav>div{gap:5px}.editor-nav button{font-size:12px;min-height:44px;padding:8px 9px}.editor-nav svg{width:14px}.lesson-form{padding:20px 16px}.lesson-form textarea{font-size:16px}.lesson-form label{font-size:15px}.editor-save{align-items:stretch;flex-direction:column}.editor-save button{min-height:48px}.lesson-context{display:block}.lesson-list{padding:0 12px}.lesson-list-row{gap:11px;padding:18px 0}.lesson-list-row h3{font-size:15px}.lesson-list-row p{font-size:12px}.lesson-list-row>svg{display:none}.date-stamp{min-width:61px;padding:10px 8px}.lesson-list-row .tag{font-size:10px;padding:5px}.settings-section.jj-card{padding:20px 16px}.settings-section input{width:100%}.campus-form button,#campus-add button{padding:0 12px}.print-controls{gap:12px}.print-controls h1{font-size:20px}.print-controls .view-switch{order:4}.print-controls p{order:5}.form-columns{grid-template-columns:1fr 1fr}.form-columns label:last-child{grid-column:1/-1}#toast{bottom:85px}}@page{size:A3 landscape;margin:10mm}@media print{body{background:#fff!important}.demo-strip,.app-header,.print-controls,#toast,.skip{display:none!important}main{padding:0!important;margin:0!important;max-width:none}.print-page{overflow:visible}.a3-preview{zoom:1;width:auto}.a3-preview .a3-sheet{margin:0;box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.class-tools{display:flex;gap:7px;margin:12px 0}.class-tools button{font-size:12px;flex:1;padding:9px}.roster-drop{border:1px dashed var(--jj-primary-300);background:var(--jj-gray-50);border-radius:var(--jj-radius-control);min-height:92px;padding:14px 10px;margin:17px 0 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;color:var(--jj-gray-600)}.roster-drop strong{font-size:12px}.roster-drop small{font-size:10px}.roster-drop.drop-hover{background:var(--jj-primary-100);border:2px solid var(--accent);color:var(--accent)}.work-window{position:fixed;z-index:28;width:380px;max-width:calc(100vw - 20px);height:min(610px,65dvh);min-height:180px;border:1px solid var(--jj-primary-300);border-radius:var(--jj-radius-card);background:rgba(255,255,255,var(--window-alpha, 1));box-shadow:var(--jj-shadow-2);display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.work-window>header{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:57px;padding:10px 12px;border-bottom:1px solid var(--jj-primary-200);background:rgba(240,244,255,var(--window-alpha, 1))}.work-window>header>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.work-window header strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.work-window header small{font-size:10px;white-space:nowrap}.drag-grip{font-size:20px;color:var(--jj-gray-500)}.window-actions{display:flex;gap:2px}.window-actions button{min-height:30px;width:28px;padding:3px;font-size:20px}.window-actions svg{width:16px}.window-toolbar{padding:10px 14px;display:flex;justify-content:space-between;gap:9px;font-size:10px;color:var(--jj-gray-600);border-bottom:1px solid var(--jj-gray-200)}.window-toolbar label{flex-direction:row;align-items:center;font-size:10px;font-weight:400;gap:6px}.window-toolbar input{width:70px;min-height:0;padding:0;accent-color:var(--accent)}.window-toolbar output{width:28px}.work-window .panel-body{padding:17px;flex:1}.work-window .panel-body>h3{margin:0 0 7px}.work-window .panel-body>p{font-size:12px;color:var(--jj-gray-700);margin-bottom:10px}.work-window .class-tools{margin:10px 0}.work-window.minimized{height:57px;min-height:57px}.work-window [data-search] button.student-name{background:transparent}[data-window-handle]{cursor:grab;touch-action:none;user-select:none}[data-window-handle].is-dragging{cursor:grabbing}.transfer-modes{display:flex;align-items:center;gap:5px;margin:10px 0 3px}.transfer-modes button{min-height:29px;font-size:11px;padding:5px 9px}.transfer-modes small{font-size:10px;margin-left:4px}.move-confirm .transfer-error{background:var(--jj-danger-bg);color:var(--jj-danger);border-radius:var(--jj-radius-xs);padding:8px 10px;font-size:11px;line-height:1.5}.move-confirm{z-index:42}.move-confirm>div[data-window-handle]{padding:2px 0 5px}.move-confirm>div strong{font-size:15px}.work-window .roster-row{background:transparent}.work-window .roster-row button{background:#ffffffb3}@media(max-width:600px){.work-window{max-height:62dvh;width:360px}.work-window .window-actions button{min-width:35px;min-height:35px}.work-window .class-tools button{min-height:42px}.work-window .roster-drop strong{font-size:12px}.window-toolbar input{min-height:28px}.window-toolbar{padding:6px 14px}.work-window header small{display:none}.move-confirm .transfer-modes button{min-height:37px}.roster-drop{min-height:85px}.work-window .panel-body{padding:14px}}@media print{.work-window,.move-confirm,.inline-editor{display:none!important}}.enriched-row{min-height:78px;align-items:center;padding:9px 0}.student-summary{min-width:0;flex:1}.enriched-row .student-name{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0;min-height:26px;text-align:left;white-space:normal;width:100%;justify-content:flex-start}.student-name .school-grade{font-size:11px;font-weight:400;color:var(--jj-gray-600)}.student-name strong{font-size:14px}.student-schedule{font-size:11px;line-height:1.7;color:var(--jj-gray-600);margin-top:4px;word-break:keep-all}.student-schedule>span{font-size:10px;color:var(--jj-gray-500);margin-right:4px}.student-flags{display:flex;gap:5px;align-items:center;margin-top:5px;flex-wrap:wrap}.mini-tag{font-size:9px;color:var(--jj-gray-600);background:var(--jj-primary-50);padding:2px 5px;border-radius:4px;white-space:nowrap}.mini-tag.warn{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.student-flags small{font-size:10px;line-height:1.5}.enriched-row>button{flex-shrink:0}.work-window .enriched-row button.student-name{background:transparent}.work-window .student-summary{min-width:0}@media(max-width:600px){.enriched-row{min-height:84px}.student-schedule,.student-name .school-grade{font-size:12px}.enriched-row .student-name{min-height:35px}.enriched-row>button{min-height:42px}.enriched-row .student-flags small{font-size:11px}}.target-card{background:var(--jj-gray-50);border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:13px;margin:18px 0}.target-summary{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.7}.target-badge{font-size:10px;padding:4px 6px;border-radius:var(--jj-radius-xs);white-space:nowrap;font-weight:600}.target-badge.short{background:var(--jj-warning-bg);color:var(--jj-warning-fg)}.target-badge.complete{background:var(--jj-success-bg);color:var(--jj-success-fg)}.target-badge.over{background:var(--jj-gray-150);color:var(--jj-gray-700)}.target-card details{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.target-card summary{cursor:pointer;font-size:12px;font-weight:600;display:list-item}.target-card summary small{font-size:10px;font-weight:400;margin-left:5px}#target-form{display:grid;gap:12px;padding-top:16px}#target-form label{font-size:12px}#target-form .row{display:flex;flex-wrap:wrap;gap:6px}#target-form button{font-size:12px}#target-form .hint{font-size:11px}.target-roster-row{padding:10px 0;align-items:center}.target-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.target-actions button{min-height:28px;font-size:10px;padding:5px 2px}.color-settings{margin-top:16px}.color-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.color-settings h3{font-size:15px;line-height:22px;margin:4px 0;color:var(--jj-text-secondary)}.color-form{border-bottom:1px solid var(--jj-divider);padding:12px 0}.color-form:last-child{border-bottom:0}.color-row{display:flex;align-items:center;gap:8px}.color-row strong{flex:1;font-size:14px;font-weight:600;min-width:50px}.color-row input[name=hex]{font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;width:96px;min-height:var(--jj-control-h);padding:0 10px}.color-picker{width:40px;height:40px;display:block;flex-shrink:0}.color-picker input{width:40px;height:40px;padding:3px;min-height:0;cursor:pointer}.settings-section .color-row button{min-height:var(--jj-control-h);font-size:13px;padding:0 12px}.swatches{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}@media(max-width:420px){.color-row{flex-wrap:wrap}.color-row strong{flex-basis:100%}.color-row input[name=hex]{flex:1}.swatches{justify-content:flex-start;flex-wrap:wrap}}.swatch{width:25px;height:25px;min-height:25px;border:3px solid white;box-shadow:0 0 0 1px var(--jj-gray-200);border-radius:50%;padding:0;background:var(--swatch)}.swatch:hover{background:var(--swatch);transform:scale(1.1);border-color:var(--jj-gray-200)}.color-mode{display:flex;align-items:center;gap:4px;font-size:11px}.color-mode>span{color:var(--muted);margin-right:3px}.color-mode button{font-size:11px;min-height:29px;padding:5px 8px}@media(max-width:1000px){.color-settings-grid{grid-template-columns:1fr}}@media(max-width:600px){.small-actions{display:flex;width:100%;justify-content:space-between}.small-actions .color-mode button{min-height:38px}.small-actions>button{min-height:38px}.swatch{width:30px;height:30px;min-height:30px}.swatches{gap:8px;justify-content:flex-start}.color-row input[name=hex]{width:88px}.color-row{gap:6px}.color-row strong{font-size:12px}.color-row button{min-height:42px}.target-actions button{min-height:37px;font-size:11px}.target-badge{font-size:11px}}.class-tools{flex-wrap:wrap}.class-tools button{min-width:75px}.work-window .roster-drop{min-height:70px;padding:9px;margin:10px 0 6px;gap:5px}.work-window.drop-hover{border:2px solid var(--accent);background:var(--jj-primary-50)}.work-window .roster-drop>span{display:none}.color-form .swatch{width:30px;min-width:30px;height:30px;min-height:30px}.work-window{height:auto;max-height:min(650px,65dvh)}.work-window .panel-body{min-height:0}.work-window.minimized{height:57px;max-height:57px}.source-details{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:var(--jj-radius-control);background:var(--jj-gray-50)}.source-details summary{cursor:pointer;font-weight:600}.source-details pre{white-space:pre-wrap;font:inherit;line-height:1.65;margin:12px 0}.source-details p{font-size:13px;line-height:1.7}.source-scroll{overflow:auto;max-height:calc(100dvh - 240px);border:1px solid var(--jj-border);border-radius:var(--jj-radius-card);background:var(--jj-surface)}.source-table{border-collapse:collapse;table-layout:fixed;width:2100px}.source-table th{position:sticky;top:0;background:var(--jj-gray-50);color:var(--jj-text-tertiary);font-size:12px;font-weight:600;z-index:1}.source-table td,.source-table th{border:1px solid var(--jj-border);padding:8px;vertical-align:top}.source-table td small{display:block;font-size:10px;color:var(--jj-gray-700)}.source-table td pre,.source-cell{white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.6;margin:0;text-align:left}.source-cell{display:block;width:100%;height:auto;min-height:44px;background:transparent;border:0;padding:6px 0}.source-table th:first-child{width:42px}.source-table td:nth-child(2),.source-table td:nth-child(3){width:90px}.source-page .hint{margin:12px 0}.help-disclosure{display:inline-block;position:relative;vertical-align:middle;font:400 14px Pretendard,sans-serif}.help-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--jj-gray-300);border-radius:50%;font-weight:600;color:var(--jj-gray-600);background:#fff;cursor:pointer}.help-disclosure>summary::-webkit-details-marker{display:none}.help-disclosure>div{position:absolute;z-index:100;top:40px;left:0;width:310px;max-width:calc(100vw - 40px);padding:18px;background:#fff;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-card);box-shadow:var(--jj-shadow-2);color:var(--jj-gray-800);font-size:13px;line-height:1.65;text-align:left}.help-disclosure p{margin:9px 0 0;font-size:13px}.help-disclosure strong{font-size:15px}.help-disclosure summary:focus-visible{outline:var(--jj-focus-outline);outline-offset:2px}.jj-page-actions .help-disclosure>div{left:auto;right:0}@media(max-width:600px){.help-disclosure>summary{min-width:44px;min-height:44px}.help-disclosure>div{position:fixed;top:100px;left:20px}}.exams-page{max-width:1560px;margin:auto}.exam-title{display:flex;align-items:center;gap:12px}.exam-title>img{width:52px;height:52px;object-fit:contain}.exams-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.exam-students{background:#fff;border:1px solid var(--line);border-radius:var(--jj-radius-card);padding:16px;height:calc(100dvh - 185px);position:sticky;top:95px;display:flex;flex-direction:column;gap:14px}.exam-student-list{overflow:auto;min-height:0}.exam-student-option{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--jj-gray-150);border-radius:var(--jj-radius-xs);padding:12px;background:#fff}.exam-student-option small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.exam-student-option.active{background:var(--jj-primary-50);color:var(--jj-primary)}.exam-student-option[hidden]{display:none}.exam-detail{min-width:0}.exam-student-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.exam-student-heading h2{font-size:23px}.exam-student-heading p{font-size:13px;color:var(--muted);margin-top:6px}.exam-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.exam-metrics>div{padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--jj-radius-control)}.exam-metrics span{display:block;font-size:12px;color:var(--muted)}.exam-metrics strong{display:block;font-size:28px;margin-top:5px}.exam-metrics small,.exam-score small{font-size:13px;margin-left:4px;color:var(--muted);font-weight:400}.exam-metrics .warning{color:var(--jj-warning-fg)}.exam-trend,.exam-entry,.exam-history{padding:20px;border:1px solid var(--line);background:#fff;border-radius:var(--jj-radius-card);margin-bottom:16px}.exam-trend .section-heading{margin:0}.exam-trend .section-heading span{font-size:12px;color:var(--muted)}.exam-chart-scroll{overflow:auto;margin-top:8px}.exam-chart{width:100%;height:218px;display:block}.exam-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.exam-empty img{width:65px;height:65px;object-fit:contain}.exam-empty strong{font-size:14px;color:var(--text)}.exam-empty p{font-size:12px}.exam-fields{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr 1fr;gap:12px}.exam-progress-fields{display:flex;align-items:center;gap:20px;margin-top:18px;flex-wrap:wrap}.exam-progress-fields button{margin-left:auto}.exam-attempt{display:flex;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid var(--jj-gray-150)}.exam-attempt>div:first-child{flex:1}.exam-attempt p{font-size:12px;color:var(--muted);margin-top:6px}.exam-score{font-size:24px;color:var(--jj-gray-800)}.exam-checks{display:flex;gap:15px;font-size:12px}.exam-checks input{width:18px;min-height:18px}.exam-attempt:last-child{border:0}button{transition:background-color .14s,box-shadow .14s,transform .12s}button:active:not(:disabled){transform:translateY(1px)}@media(prefers-reduced-motion:reduce){button{transition:none;transform:none!important}}@media(max-width:1000px){.exams-layout{grid-template-columns:210px 1fr;gap:16px}.exam-fields{grid-template-columns:repeat(3,1fr)}.exam-attempt{flex-wrap:wrap}.exam-checks{width:100%}.exam-metrics>div{padding:12px}.exam-metrics strong{font-size:22px}}@media(max-width:650px){.exams-layout{display:block}.exam-students{position:static;height:200px;margin-bottom:20px}.exam-fields{grid-template-columns:repeat(2,1fr)}.exam-metrics{gap:6px}.exam-metrics span{font-size:10px}.exam-metrics>div{padding:10px 7px}}.grade-badge{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 4px;flex:none;border-radius:6px;border:1px solid var(--grade-line);background:var(--grade-bg);color:var(--grade-ink);font:800 11.5px/1 var(--jj-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;vertical-align:middle;white-space:nowrap}.grade-elem{--grade-bg: #e3f6ea;--grade-line: #b9e5c9;--grade-ink: #0f6a3c}.grade-mid{--grade-bg: #e6ecfd;--grade-line: #c3d0fa;--grade-ink: #1f3fbf}.grade-high{--grade-bg: #fdeedd;--grade-line: #f5d3ab;--grade-ink: #8a4a12}.grade-text{display:inline-block;font-size:10px;color:var(--jj-gray-600);white-space:nowrap}.student-chips button{display:inline-flex;align-items:center;gap:3px;padding:1px 4px 1px 1px;min-height:27px}.student-chips button>span:last-child{overflow:hidden;text-overflow:ellipsis}.student-name>.grade-badge{float:left;margin-right:5px}.class-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-form{display:flex;gap:8px 12px;align-items:end;padding:12px 0;border-bottom:1px solid var(--jj-divider);flex-wrap:wrap}.settings-section .directory-form:last-child{border-bottom:0;padding-bottom:0}.directory-form label{flex:1;min-width:140px}.directory-form button{min-height:44px}.settings-page>.settings-section{margin-top:16px}.settings-layout{align-items:start}.student-chips{height:30px}.inline-editor{max-height:calc(100dvh - 24px);overflow:auto;right:12px;bottom:12px;width:min(440px,calc(100vw - 24px))}.inline-editor form{grid-template-columns:minmax(0,1fr);min-width:0}.inline-editor label,.inline-editor input,.inline-editor select,.inline-editor button,.inline-editor .form-columns{min-width:0;max-width:100%}.inline-editor input,.inline-editor select{width:100%}.inline-editor .form-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(60px,.55fr)}.inline-editor .panel-head{position:sticky;top:0;background:#fff;z-index:1}.board-controls{display:flex;gap:8px;align-items:center;margin-left:auto;color:var(--jj-gray-800);flex-shrink:0}.board-controls button{min-height:36px;font-size:12px;padding:6px 10px}.board-zoom-controls{display:flex;border:1px solid var(--line);border-radius:var(--jj-radius-control);background:#fff;overflow:hidden}.board-zoom-controls button{border:0;border-radius:0;min-width:36px;font-size:17px}.board-zoom-controls .zoom-value{font-size:12px;min-width:58px;font-variant-numeric:tabular-nums}.board-caption{align-items:center;margin-bottom:8px}.board-caption .board-tip{display:none}.board-content{min-width:0}.class-card.roster-expanded{height:auto;min-height:82px}.roster-expanded .student-chips{height:auto;overflow:visible;flex-wrap:wrap;align-content:flex-start;gap:5px;padding-bottom:2px}.roster-expanded .student-chips button{flex-shrink:0;max-width:100%}.roster-expanded .student-chips button>span:last-child{overflow:visible;text-overflow:clip}@media(min-width:801px){body[data-route=schedule] main{padding:12px 18px 8px}.schedule-page>.page-heading{margin-bottom:12px}.schedule-page>.page-heading h1{font-size:23px}.schedule-page>.page-heading .breadcrumb{display:none}.schedule-page>.toolbar,.schedule-page>.filterbar{margin-bottom:8px}.schedule-page .board-scroll{min-height:180px}body.board-focus{overflow:hidden}body.board-focus .app-header{display:none}body.board-focus main{max-width:none;padding:10px 12px 0}body.board-focus .schedule-page>.page-heading{display:none}body.board-focus .schedule-page>.toolbar{margin-bottom:6px}body.board-focus .schedule-page>.filterbar{margin-bottom:4px}body.board-focus .planbar{margin-top:6px}}@media(max-width:800px){.board-caption{flex-wrap:wrap}.board-controls{margin-left:0}body.board-focus .app-header,body.board-focus .mobile-bottom-nav{display:none}body.board-focus .board-scroll:not(.is-campus){display:block;min-height:180px}body.board-focus .mobile-agenda{display:none}body.board-focus .schedule-page>.page-heading,body.board-focus .schedule-page>.filterbar{display:none}}@media(max-width:420px){.inline-editor .form-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.inline-editor .form-columns label:last-child{grid-column:auto}.inline-editor form{padding:16px;gap:12px}}@media print{.board-controls{display:none!important}.board-content{zoom:1!important}}.cell-content:has(.roster-expanded){height:auto;overflow:visible}.operations-link{display:inline-flex;align-items:center;padding:8px 10px;border-radius:var(--jj-radius-control);color:inherit;text-decoration:none;font-weight:600;white-space:nowrap}.operations-link:hover{background:var(--soft)}.master-table .time-col time{position:sticky;top:52px;font-variant-numeric:tabular-nums}.week-table .weekly-time{position:sticky;left:0;z-index:3;vertical-align:top;padding-top:12px;font-variant-numeric:tabular-nums}.planbar .sunday-toggle{font-size:12px;white-space:nowrap;flex-shrink:0}.class-window-layer{position:fixed;inset:0;z-index:32;pointer-events:none}.class-window-layer[hidden],.class-window[hidden]{display:none}.class-window{position:absolute;pointer-events:auto;width:min(620px,calc(100vw - 16px));height:min(780px,calc(100dvh - 100px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--jj-gray-300);border-radius:var(--jj-radius-sheet);box-shadow:0 18px 65px #192b5029;overflow:hidden}.class-window.focused{border-color:var(--jj-primary);box-shadow:0 18px 65px #192b503b}.class-window>header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;background:var(--jj-gray-50);border-bottom:1px solid var(--jj-gray-200);cursor:move;touch-action:none}.class-window>header strong{font-size:17px;min-width:0;overflow-wrap:anywhere}.class-window>header button{border:0;background:transparent;padding:6px;flex-shrink:0}.class-window-nav{display:flex;gap:6px;padding:8px 14px;border-bottom:1px solid var(--jj-gray-150);flex-wrap:wrap;flex-shrink:0}.class-window-nav button{font-size:12px;padding:7px 10px;min-height:32px}.class-window-body{overflow:auto;min-height:0;padding:18px;flex:1;overscroll-behavior:contain}.class-window-body>h3{margin:0 0 6px;font-size:19px}.class-window-body>p{margin:0 0 16px;font-size:13px;color:var(--jj-gray-600)}.class-window .class-tools{display:flex;gap:8px}.class-window .class-tools button{flex:1}.class-window .homework-open{padding:12px;margin:8px 0}.class-window .roster-row{padding:10px 0}.popup-class-settings{border-top:1px solid var(--jj-gray-200);margin-top:18px;padding-top:12px}.popup-class-settings>summary{display:flex;gap:8px;align-items:center;cursor:pointer;color:var(--jj-gray-700);font-size:13px}.popup-class-settings label{display:block;margin:12px 0}.popup-class-settings select{margin-left:10px}.popup-memo{margin:10px 0;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);padding:10px 12px}.popup-memo summary{cursor:pointer;font-size:13px}.popup-memo textarea{width:100%;resize:vertical}.popup-memo pre{white-space:pre-wrap;overflow-wrap:anywhere}.class-window .editor-layout{display:flex;flex-direction:column;gap:16px}.class-window .lesson-form,.class-window .lesson-context section{padding:14px;border-radius:var(--jj-radius-control)}.class-window .lesson-heading{margin:10px 0}.class-window .lesson-heading h3{font-size:20px;margin:8px 0}.class-window .lesson-heading p{font-size:12px;margin:0}.class-window .lesson-form label{margin:0 0 12px;font-size:14px}.class-window .lesson-form textarea{padding:10px;min-height:70px;font-size:14px}.class-window .lesson-form textarea[name=progress]{min-height:120px}.class-window .editor-save{position:static;flex-wrap:wrap;padding:10px 0 0;gap:8px}.class-window .editor-save>span{width:100%;font-size:11px}.class-window .editor-nav{margin:0;gap:8px}.class-window .editor-nav button{font-size:12px;padding:7px}.class-window .lesson-context{display:flex;flex-direction:column;gap:12px}.class-window .lesson-context h2{font-size:15px}.lesson-help{display:inline-block;position:relative;font-size:13px;margin:0 0 10px}.lesson-help summary{list-style:none;cursor:pointer;display:grid;place-items:center;border:1px solid var(--jj-gray-300);color:var(--jj-gray-600);border-radius:50%;width:24px;height:24px}.lesson-help summary::-webkit-details-marker{display:none}.lesson-help p{padding:12px;margin:8px 0;background:var(--jj-gray-50);border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);line-height:1.7}.popup-lesson-nav{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.class-window .server-lesson-editor{padding:0;border:0}.class-window .server-lesson-editor h2{font-size:19px;margin:8px 0}.class-window .server-lesson-form fieldset{border:0;padding:0;min-width:0}.class-window .server-lesson-form label{display:block;font-size:14px;margin:12px 0}.class-window .server-lesson-form textarea{display:block;width:100%;min-height:78px;font-size:14px;padding:10px;margin-top:6px;resize:vertical}.class-window .server-lesson-form textarea[name=progress]{min-height:130px}.class-window .server-lesson-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.popup-lesson-context{border-top:1px solid var(--jj-gray-200);margin:16px 0;padding-top:12px}.popup-lesson-context h3{font-size:15px;margin:8px 0}.popup-lesson-context .reference-note{display:block;width:100%;text-align:left;margin:6px 0;white-space:normal}#side-panel{z-index:40}@media(max-width:600px){.class-window>header{padding:10px 12px}.class-window>header strong{font-size:15px}.class-window-body{padding:12px}}.class-window-body .section-heading{margin:18px 0 10px}.class-window-body input[placeholder="\c774  \bc18  \d559\c0dd  \cc3e\ae30"]{width:100%}@media(max-width:600px){.app-header nav{min-width:0;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.app-header nav>*{flex-shrink:0}}.class-window>header strong{flex:1}.student-profile-form{min-width:0}.student-profile-form fieldset{border:0;margin:0;padding:0;min-width:0}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-fields label{display:grid;gap:5px;font-size:13px;font-weight:600}.profile-fields input,.profile-fields select{width:100%;min-width:0;padding:9px 10px}.profile-grade-preview{margin:10px 0;color:var(--jj-gray-700)}.profile-help{font-size:13px;margin:10px 0 20px}.profile-help summary{cursor:pointer;color:var(--jj-primary)}.profile-school-warning,.availability-warning{display:block;color:var(--jj-warning-fg);background:var(--jj-warning-bg);border-radius:var(--jj-radius-xs);padding:5px 8px;font-size:12px}.student-profile-form h3{margin:22px 0 10px}.availability-row{display:grid;grid-template-columns:52px minmax(80px,1fr) auto minmax(80px,1fr) minmax(85px,1fr) 32px;align-items:center;gap:5px;margin-bottom:8px}.availability-row input,.availability-row select,.availability-row button{min-width:0;width:100%;padding:8px 5px}.availability-row label{min-width:0;margin:0}.profile-save{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:18px 0 12px}.profile-save [role=status]{font-size:12px;color:var(--jj-gray-600)}@media(max-width:600px){.profile-fields{grid-template-columns:minmax(0,1fr)}.availability-row{grid-template-columns:45px minmax(72px,1fr) auto minmax(72px,1fr) 30px}.availability-row>input[data-block-reason]{grid-row:2;grid-column:1 / -1}.availability-row button{grid-column:5;grid-row:1}}@media print{.availability-warning{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-overview{display:block}.profile-overview>.student-detail-card+.student-detail-card{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-overview>.student-detail-card+.student-detail-card h2{grid-column:1 / -1;margin-bottom:0}.profile-overview .student-feature{margin:0}.student-profile-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;grid-template-areas:"heading heading" "basics availability" "basics plan" "save save"}.student-profile-form .section-heading{grid-area:heading}.profile-basics{grid-area:basics}.profile-plan{grid-area:plan}.profile-availability{grid-area:availability}.profile-availability h3{margin-top:0}.profile-save{grid-area:save}@media(max-width:900px){.student-profile-form fieldset{display:block}.profile-availability h3{margin-top:22px}.profile-overview>.student-detail-card+.student-detail-card{grid-template-columns:minmax(0,1fr)}}.split-clock-table .weekend-time-col{width:62px;background:var(--jj-gray-100);border-left:2px solid var(--jj-gray-300);vertical-align:top;padding-top:12px;font-size:12px;font-variant-numeric:tabular-nums}.split-clock-table thead .weekend-time-col{vertical-align:middle;padding-top:0}.split-clock-table .weekend-time-col time{position:sticky;top:52px}.split-clock-table .day-ended{background:var(--jj-gray-50)}th[data-column-day]{padding-right:16px}.day-resizer{position:absolute;right:-5px;top:0;bottom:0;width:12px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;touch-action:none;z-index:9}.day-resizer:after{content:"";position:absolute;top:25%;bottom:25%;left:5px;width:2px;background:var(--jj-gray-400);border-radius:2px}.day-resizer:hover:after,.day-resizer:focus-visible:after{background:var(--jj-primary);width:3px}.day-resizer:focus-visible{outline:2px solid var(--jj-primary);outline-offset:-2px}.board-controls [data-day-equal]{font-size:12px;white-space:nowrap;padding:7px 10px}@media print{.day-resizer,[data-day-equal]{display:none!important}}.class-window{border-top:4px solid var(--class-accent, var(--jj-primary))}.class-window>header{background:#fff;padding:14px 16px 12px}.class-window>header strong{display:flex;align-items:center;gap:10px;flex:1;font-size:15px;line-height:1.5}.class-window-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.class-window-identity small{font-size:13px;font-weight:500;color:var(--jj-gray-600)}.class-window .drag-grip{color:var(--class-accent, var(--jj-primary));flex-shrink:0}.class-window-nav{background:var(--jj-gray-50);padding:8px 12px;gap:4px}.class-window-nav [data-popup-view]{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--jj-gray-700);padding:9px 10px;min-height:38px}.class-window-nav [data-popup-view][aria-pressed=true]{background:#fff;color:var(--jj-gray-800);box-shadow:var(--jj-shadow-1);font-weight:700}.class-window-nav [data-popup-view] svg{width:17px;height:17px}.class-window-nav [data-popup-back],.class-window-nav [data-popup-forward]{border:0;background:transparent;padding:5px 7px;font-size:22px;min-height:36px}.class-window-body{padding:18px 20px}.class-window .class-tools{display:flex;align-items:center;gap:12px;margin:16px 0 24px}.class-window .class-tools>button{flex:0 1 auto;min-height:44px;font-size:14px;padding:10px 16px}.class-window .class-tools .class-message-action{display:flex;align-items:center;gap:8px;border:0;background:var(--jj-gray-50);margin-left:auto;text-align:left;padding:6px 12px}.class-message-action img{width:36px;height:36px;object-fit:contain}.class-message-action span{display:flex;flex-direction:column;gap:3px}.class-message-action small{font-size:11px;font-weight:400;color:var(--jj-gray-600)}.class-window .section-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.class-window .section-heading h3{font-size:15px;margin:0}.class-window .section-heading small{font-size:12px;margin-left:auto}.class-window .section-heading [data-action=roster]{display:inline-flex;align-items:center;gap:4px;font-size:12px;min-height:34px;padding:6px 10px}.class-window .section-heading [data-action=roster] svg{width:15px;height:15px}.class-window .popup-memo{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-control);background:var(--jj-gray-50);margin:0}.class-window .popup-memo>summary{display:flex;align-items:center;gap:8px;padding:11px 12px;font-size:13px;cursor:pointer}.class-window .popup-memo>summary svg{width:16px;height:16px;color:var(--jj-gray-600)}.class-window .popup-memo form{padding:0 12px 12px}.class-window .popup-memo details{padding:0 12px 12px}.class-tool-host{min-width:0}.class-tool-host .homework-navigation{display:none}.homework-session-context{padding:0 0 14px;margin-bottom:18px;border-bottom:1px solid var(--jj-gray-200)}.homework-session-context strong{font-size:17px}.homework-session-context p{margin:6px 0;color:var(--jj-gray-700);font-size:13px}.homework-session-context small{font-size:12px;color:var(--jj-gray-600)}.class-tool-host h3{font-size:16px;margin:12px 0}.class-tool-host .hw-input-row{gap:8px;grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) 34px;align-items:center}.class-tool-host .hw-input-row textarea{font-size:13px;min-height:42px;height:42px;padding:10px;line-height:20px}.class-tool-host .hw-input-row input{font-size:13px;min-height:42px;padding:10px}.class-tool-host .hw-input-row button{min-height:34px;padding:4px}.class-tool-host .ops-hint{font-size:12px;line-height:1.65}.class-tool-host .hw-class-form fieldset{display:flex;flex-direction:column;gap:10px}.class-tool-host .hw-class-form fieldset>button{align-self:flex-start}.class-tool-host .homework-heading{display:none}@media(max-width:600px){.class-window-body{padding:14px}.class-window-nav [data-popup-view]{padding:8px 6px;font-size:12px}.class-window-nav [data-popup-view] svg{display:none}.class-window .class-tools{flex-wrap:wrap;gap:8px}.class-window .class-tools .class-message-action{margin-left:0}}@media(max-width:800px){.board-controls [data-day-equal]{display:none}}.class-window.focused{border-top-color:var(--class-accent, var(--jj-primary))}.jj-loading{display:grid;justify-items:center;align-content:center;gap:14px;min-height:220px;padding:32px 24px;color:var(--muted)}.jj-loading-brand{min-height:80dvh}.jj-loading-brand img{object-fit:contain}.jj-loading-label{font-size:13px;font-weight:500}.jj-loading-ring{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:jj-spin .9s linear infinite}.jj-skeleton{width:min(100%,440px);display:grid;gap:12px;margin-top:12px}.jj-skeleton i{display:block;height:14px;border-radius:var(--jj-radius-xs);background:var(--line);animation:jj-pulse 1.5s ease-in-out infinite alternate}.jj-skeleton i:nth-child(2){height:72px;opacity:.55}.jj-skeleton i:last-child{width:65%}@keyframes jj-spin{to{transform:rotate(360deg)}}@keyframes jj-pulse{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.jj-loading-ring,.jj-skeleton i{animation:none}}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--jj-primary);outline-offset:2px}.student-profile-form fieldset{grid-template-areas:"heading heading" "memo memo" "basics availability" "basics plan" "save save"}.profile-memo{grid-area:memo}.student-inline-profile .student-profile-form fieldset{display:block}.student-inline-profile .profile-availability h3{margin-top:22px}.student-inline-profile .availability-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto minmax(0,1fr) 28px;padding:10px 0;border-bottom:1px solid var(--line)}.student-inline-profile .availability-row>input[data-block-reason]{grid-row:2;grid-column:1 / -1;width:100%}.student-inline-profile .availability-row button{grid-column:5;grid-row:1}.student-inline-profile .profile-fields label{font-size:13px}.student-inline-profile .profile-save{position:sticky;bottom:0;background:#fff;padding:10px 0;z-index:1}.timetable-cloud-status{position:static;background:var(--surface, #fff);color:var(--muted, var(--jj-gray-600));font-size:12px;padding:6px 10px;border-radius:var(--jj-radius-control);max-width:calc(100vw - 120px);box-shadow:var(--jj-shadow-1)}.timetable-cloud-status[data-error=true]{color:var(--jj-warning-fg);border:1px solid #e7bd83}.timetable-cloud-status button{font:inherit;margin-inline-start:8px;border:1px solid var(--jj-gray-200);background:#fff;border-radius:var(--jj-radius-xs);padding:5px 8px;cursor:pointer}.jj-site-navigation{display:flex;gap:6px;flex-shrink:0}.jj-site-navigation button{display:inline-flex;align-items:center;gap:2px;min-height:var(--jj-control-h-sm);padding:0 10px 0 6px;border:1px solid var(--jj-border);border-radius:var(--jj-radius-control);background:var(--jj-surface);color:var(--jj-gray-700);white-space:nowrap;font-size:13px;font-weight:500}.jj-site-navigation [data-site-next]{padding:0 6px 0 10px}.jj-site-navigation svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jj-site-navigation button:disabled{opacity:.4;cursor:default}@media(max-width:480px){.jj-site-navigation button{font-size:12px}.jj-utility-navigation{flex-shrink:0}}.student-profile-form fieldset{grid-template-areas:"heading heading" "basics plan" "memo memo" "available available" "availability availability" "save save"}.profile-available{grid-area:available}.student-registration-editor .student-profile-form>fieldset{display:block}.student-registration-editor .profile-availability{margin:24px 0}.student-registration-editor .profile-memo{margin:20px 0}@media(max-width:480px){.student-registration-editor .availability-row{grid-template-columns:50px minmax(0,1fr) 28px;gap:8px}.student-registration-editor .availability-row>label:nth-child(1){grid-row:1 / 3;grid-column:1}.student-registration-editor .availability-row>label:nth-child(2){grid-row:1;grid-column:2}.student-registration-editor .availability-row>label:nth-child(4){grid-row:2;grid-column:2}.student-registration-editor .availability-row>span{display:none}.student-registration-editor .availability-row>input[data-block-reason]{grid-row:3;grid-column:1 / -1}.student-registration-editor .availability-row>button{grid-column:3;grid-row:1 / 3}}.jj-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:var(--jj-gray-100);color:var(--jj-gray-600);font-size:13px;line-height:1.65;word-break:keep-all}.jj-notice:empty{display:none}.jj-notice-symbol{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:var(--jj-radius-control);color:var(--jj-primary);background:var(--jj-primary-100)}.jj-notice-symbol svg{width:17px;height:17px}.jj-notice-copy{align-self:center}.jj-action-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);color:var(--jj-gray-700);background:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s}.jj-action-link:hover{background:var(--jj-primary-50);border-color:var(--jj-primary-300)}.jj-action-link:focus-visible,.jj-help-panel summary:focus-visible{outline:3px solid var(--jj-primary-300);outline-offset:3px}.jj-action-link svg{width:18px;height:18px;flex:none}.jj-help-panel{border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:#fff;font-size:13px;color:var(--jj-gray-600)}.jj-help-panel summary{display:flex;align-items:center;gap:9px;list-style:none;padding:11px 14px;min-height:44px;cursor:pointer;font-weight:600}.jj-help-panel summary::-webkit-details-marker{display:none}.jj-help-symbol{display:grid;place-items:center;color:var(--jj-primary)}.jj-help-panel summary>svg:last-child{margin-left:auto;width:16px;height:16px;transition:transform .2s}.jj-help-panel[open] summary>svg:last-child{transform:rotate(180deg)}.jj-help-content{display:grid;gap:15px;padding:3px 16px 17px}.jj-help-content>div{display:flex;align-items:flex-start;gap:12px}.jj-help-content>div>svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--jj-gray-600)}.jj-help-content p{margin:0;font-size:12px;line-height:1.65;word-break:keep-all}.jj-help-content strong{display:block;font-weight:600;color:var(--jj-gray-800);margin-bottom:3px}.jj-help-content span{display:block;color:var(--jj-gray-600)}.jj-bootstrap{max-width:420px;margin:15vh auto;padding:22px;align-items:center}.jj-bootstrap img{width:48px;height:48px;border-radius:var(--jj-radius-sheet)}@media(prefers-reduced-motion:reduce){.jj-action-link,.jj-help-panel summary>svg:last-child{transition:none}}.jj-notice svg,.jj-help-panel svg,.jj-action-link svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body details:has(>.jj-disclosure-trigger){border:1px solid var(--line);border-radius:var(--jj-radius-card);background:var(--surface);margin:8px 0;padding:0;min-width:0}body details>summary.jj-disclosure-trigger{list-style:none;display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 12px;margin:0;width:100%;border:0;border-radius:var(--jj-radius-card);background:transparent;color:var(--jj-gray-800);font-size:14px;font-weight:600;line-height:1.45;cursor:pointer;text-align:left;transition:background .16s ease,color .16s ease;-webkit-tap-highlight-color:transparent}body summary.jj-disclosure-trigger:after{content:none}body summary.jj-disclosure-trigger::-webkit-details-marker,body summary.jj-help-trigger::-webkit-details-marker{display:none}body summary.jj-disclosure-trigger::marker,body summary.jj-help-trigger::marker{content:""}.jj-disclosure-symbol,.jj-state-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--jj-radius-control);background:var(--jj-primary-50);color:var(--jj-primary)}.jj-disclosure-label{flex:1;min-width:0;overflow-wrap:anywhere}body .jj-disclosure-label small{display:inline-block;font-size:11px;font-weight:500;margin-left:6px;color:var(--jj-gray-600)}body .jj-disclosure-label .jj-disclosure-count{border-radius:var(--jj-radius-xs);padding:2px 6px;background:var(--jj-gray-150);color:var(--jj-gray-700)}.jj-disclosure-chevron{display:inline-flex;flex:0 0 18px;color:var(--jj-gray-500);transition:transform .18s ease}body :is(.jj-disclosure-trigger,.jj-record-state,.jj-inline-notice,.jj-form-feedback,.jj-help-trigger) svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body details[open]>.jj-disclosure-trigger{background:var(--jj-gray-100);color:var(--jj-primary-hover);border-radius:11px 11px 0 0}body details[open]>.jj-disclosure-trigger .jj-disclosure-chevron{transform:rotate(180deg)}body summary.jj-disclosure-trigger:focus-visible,body summary.jj-help-trigger:focus-visible{outline:3px solid var(--jj-primary);outline-offset:2px}@media(hover:hover){body summary.jj-disclosure-trigger:hover{background:var(--jj-gray-100)}}body details:has(>.jj-disclosure-trigger)>:not(summary){margin:10px 12px}body details:has(>.jj-disclosure-trigger)>.jj-disclosure-body{padding:10px 12px 12px;margin:0}body summary.jj-help-trigger{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;border:0;border-radius:var(--jj-radius-control);padding:6px;color:var(--jj-gray-600);background:var(--jj-gray-100);vertical-align:middle}body .lesson-help:has(.jj-help-trigger){margin:0 0 0 6px}body .jj-record-state{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-50);border:1px solid var(--jj-gray-150);margin:10px 0;color:var(--jj-gray-700);text-align:left}body .jj-record-state>span:last-child{min-width:0}body .jj-record-state strong{display:block;font-size:13px;line-height:1.5;font-weight:600}body .jj-record-state small{display:block;font-size:12px;line-height:1.6;color:var(--jj-gray-600);margin-top:2px;overflow-wrap:anywhere}body .jj-record-state .jj-state-symbol{color:var(--jj-gray-600);background:var(--jj-gray-150)}body .jj-inline-notice{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin:8px 0;border-radius:var(--jj-radius-control);background:var(--jj-gray-50);color:var(--jj-gray-600);font-size:12px;line-height:1.65}body .jj-inline-notice>svg{margin-top:1px}body .jj-form-feedback:not(:empty){display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--jj-radius-control);background:var(--jj-gray-100);font-size:13px}body .jj-form-feedback.ops-error{background:var(--jj-danger-bg);color:var(--jj-danger)}body .jj-form-feedback:empty{display:none}@media(pointer:coarse){body summary.jj-help-trigger{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.jj-disclosure-chevron,body summary.jj-disclosure-trigger{transition:none}}body:has(#jj-utility-dock) #toast{bottom:84px}#toast{z-index:1900}#toast.has-action{display:flex;align-items:center;gap:14px}#toast.has-action.visible{pointer-events:auto}#toast button{flex:none;min-height:30px;padding:4px 12px;border:1px solid rgb(255 255 255 / .35);border-radius:var(--jj-radius-control);background:transparent;color:#fff;font-weight:700}#toast button:hover{background:#ffffff1f}.profile-memo textarea,[data-popup-memo] textarea,textarea[data-autogrow]{field-sizing:content;box-sizing:border-box;width:100%;line-height:1.55;min-height:calc(12.4em + 20px);max-height:60vh;resize:vertical;overflow-y:auto}.panel-head .panel-nav{display:inline-flex;gap:2px;flex-shrink:0}.panel-head .panel-nav button{border:0;background:transparent;padding:5px 7px;min-height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center}.panel-head .panel-nav button:disabled{opacity:.3;cursor:default}.panel-head .panel-nav svg{width:18px;height:18px}.panel-head h2{flex:1;min-width:0}.class-window>header{padding:14px 16px 12px 18px}.class-window .class-window-identity{display:inline-flex;flex-direction:column;gap:2px;vertical-align:middle}.class-window .class-window-identity small{font-size:12px;font-weight:500;color:var(--jj-gray-600)}.class-window-nav{align-items:center;gap:4px;padding:8px 14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.class-window-nav button{min-height:34px;padding:0 12px;font-size:13px;border-color:transparent;background:transparent;color:var(--jj-gray-700);flex-shrink:0}.class-window-nav button:hover:not(:disabled){background:var(--jj-gray-100)}.class-window-nav button[aria-pressed=true]{background:var(--jj-primary-50);color:var(--jj-primary-hover)}.class-window-nav button svg{width:16px;height:16px}.class-window-nav [data-popup-forward]{margin-right:8px;position:relative}.class-window-nav [data-popup-forward]:after{content:"";position:absolute;right:-7px;top:8px;bottom:8px;width:1px;background:var(--jj-gray-200)}.class-window-body{padding:18px 18px 20px;scroll-padding:18px}.class-window .class-tools{align-items:center;margin:12px 0 8px}.class-window .class-tools>button[data-action=lesson]{min-height:36px;padding:0 12px;font-size:13px;background:var(--jj-surface);border-color:var(--jj-border-strong);color:var(--jj-gray-800)}.class-window .class-tools>button[data-action=lesson]:hover{background:var(--jj-gray-50)}.class-window .class-tools>.class-message-action{min-height:40px;padding:4px 12px 4px 8px}.class-window .class-tools>.class-message-action img{width:28px;height:28px}.class-window .popup-server-lesson{position:relative}.class-window .popup-server-lesson .server-lesson-editor{padding:0;border:0;background:none;box-shadow:none}.class-window .server-lesson-editor>h2{margin:0 0 4px;font-size:20px;line-height:1.3;letter-spacing:-.01em}.class-window .server-lesson-editor>.ops-hint{margin:0 0 14px;font-size:13px;color:var(--jj-gray-600)}.class-window .lesson-roster-summary{margin:0 0 16px;padding:10px 12px}.class-window .server-lesson-form label{font-weight:600;color:var(--jj-gray-800)}.class-window .server-lesson-form textarea{font-weight:400;line-height:1.6;border-radius:var(--jj-radius-control)}.class-window .server-lesson-editor .server-lesson-actions{position:sticky;top:auto;bottom:-20px;z-index:3;align-items:center;margin:14px -18px 8px;padding:12px 18px;background:#fffe;backdrop-filter:blur(8px);border-top:1px solid var(--jj-gray-200);border-bottom:0}.class-window .server-lesson-actions .primary{min-width:88px}.class-window .lesson-shortcut{margin-left:auto;font-size:12px;color:var(--jj-gray-500)}@media(min-width:701px){.class-window .popup-lesson-nav{position:absolute;top:-3px;right:0;z-index:1;margin:0}.class-window .popup-lesson-nav button{min-height:32px;padding:0 10px;font-size:12px}.class-window .server-lesson-editor>h2{padding-right:220px}}@media(max-width:700px),(hover:none){.class-window .lesson-shortcut{display:none}}@media(max-width:700px){body .class-window .server-lesson-editor .server-lesson-actions{position:static;margin:0;padding:10px 0;background:transparent;backdrop-filter:none}}.lesson-skeleton{display:grid;gap:14px}.lesson-skeleton i{display:block;height:78px;border-radius:var(--jj-radius-control);background:linear-gradient(100deg,var(--jj-gray-100) 30%,var(--jj-gray-50) 50%,var(--jj-gray-100) 70%);background-size:200% 100%;animation:lesson-skeleton 1.2s ease-in-out infinite}.lesson-skeleton i.tall{height:130px}.lesson-skeleton-head{display:grid;gap:8px}.lesson-skeleton-head i{height:18px;width:55%}.lesson-skeleton-head i+i{height:12px;width:35%}@keyframes lesson-skeleton{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.lesson-skeleton i{animation:none}}.class-window .popup-old-memo{margin:12px 0;padding:12px 14px;border:1px solid var(--jj-gray-200);border-radius:var(--jj-radius-card);background:var(--jj-gray-50);font-size:13px}.class-window .popup-old-memo-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.class-window .popup-old-memo-head button{min-height:32px;padding:0 10px;font-size:12px}.class-window .popup-old-memo p{margin:8px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.class-window .popup-old-memo small{color:var(--jj-gray-600)}.class-window .popup-old-memo details{margin-top:8px}.class-window .popup-old-memo pre{white-space:pre-wrap;overflow-wrap:anywhere}.jj-loading-mascot{position:relative;display:grid;justify-items:center;padding-bottom:10px}.jj-loading-mascot img{display:block;background:none;border-radius:0;transform-origin:50% 100%;animation:jj-mascot-bob 1.8s ease-in-out infinite}.jj-loading-mascot i{position:absolute;bottom:2px;width:58%;height:10px;border-radius:50%;background:radial-gradient(closest-side,rgb(30 41 80 / 22%),transparent);animation:jj-mascot-shadow 1.8s ease-in-out infinite}.jj-loading-mascot canvas{display:block;margin-bottom:-10px}.jj-loading-mascot.is-live img,.jj-loading-mascot.is-live i{display:none}.jj-loading-mascot-sm{padding-bottom:6px}.jj-loading-mascot-sm canvas{margin-bottom:-6px}.jj-loading-mascot+.jj-loading-ring{display:none}.jj-bootstrap .jj-loading-mascot img{width:84px;height:84px;border-radius:0}@keyframes jj-mascot-bob{0%,to{transform:translateY(0) rotate(-1.5deg) scale(1)}45%{transform:translateY(-9px) rotate(1.5deg) scale(.985,1.02)}70%{transform:translateY(0) rotate(.5deg) scale(1.02,.97)}}@keyframes jj-mascot-shadow{0%,to{transform:scaleX(1);opacity:1}45%{transform:scaleX(.78);opacity:.6}}@media(prefers-reduced-motion:reduce){.jj-loading-mascot img,.jj-loading-mascot i{animation:none}}.jj-cat-handoff{--cat: var(--jj-cat-handoff);--cat-bg: var(--jj-cat-handoff-bg)}.jj-cat-notice{--cat: var(--jj-cat-notice);--cat-bg: var(--jj-cat-notice-bg)}.jj-cat-request{--cat: var(--jj-cat-request);--cat-bg: var(--jj-cat-request-bg)}.jj-cat-student{--cat: var(--jj-cat-student);--cat-bg: var(--jj-cat-student-bg)}.jj-cat-memo{--cat: var(--jj-cat-memo);--cat-bg: var(--jj-cat-memo-bg)}.jj-cat-chat{--cat: var(--jj-cat-chat);--cat-bg: var(--jj-cat-chat-bg)}.jj-cat-system{--cat: var(--jj-cat-system);--cat-bg: var(--jj-cat-system-bg)}.class-card.is-notice-focus,.ms-class.is-notice-focus{outline:3px solid var(--jj-primary, #3857f5);outline-offset:2px;animation:jj-notice-focus .9s ease-in-out 2}@keyframes jj-notice-focus{50%{outline-color:transparent}}@media(prefers-reduced-motion:reduce){.class-card.is-notice-focus,.ms-class.is-notice-focus{animation:none}}
