@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#25312c;--muted:#7b857f;--green:#3f735d;--line:#e9ece7;--paper:#fbfaf7}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Apple SD Gothic Neo,Noto Sans KR,sans-serif}button,input{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}.auth-page{background:radial-gradient(circle at 18% 18%,#e9f3ed 0,#0000 30%),radial-gradient(circle at 88% 82%,#faeee2 0,#0000 28%),#f8f7f3;place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card{background:#fffffff0;border:1px solid #e3e8e2;border-radius:26px;width:min(440px,100%);padding:38px;box-shadow:0 24px 70px #2d44381c}.auth-brand{color:#315e4b;align-items:center;gap:10px;font-size:23px;display:flex}.auth-heading{margin:34px 0 25px}.auth-heading p{color:#4f7b66;margin:0 0 8px;font-size:12px;font-weight:800}.auth-heading h1{letter-spacing:-1.2px;margin:0 0 9px;font-size:30px}.auth-heading span{color:#89928c;font-size:12px}.auth-form{gap:14px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form label span{color:#66736c;font-size:11px;font-weight:750}.auth-form input{background:#fafbf9;border:1px solid #dfe5df;border-radius:11px;outline:none;width:100%;padding:12px 13px;font-size:13px}.auth-form input:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.auth-submit{color:#fff;cursor:pointer;background:#47745e;border:0;border-radius:11px;margin-top:5px;padding:13px;font-weight:800}.auth-error{color:#bd6046;background:#fff1ec;border-radius:9px;margin:0;padding:10px 12px;font-size:11px}.auth-switch{color:#4f7b66;cursor:pointer;background:0 0;border:0;margin:20px auto 0;font-size:11px;font-weight:750;display:block}.auth-loading{color:#7f8982;justify-items:center;gap:14px;font-size:12px;display:grid}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.sidebar{border-right:1px solid var(--line);z-index:4;background:#fff;flex-direction:column;height:100vh;padding:28px 20px 24px;display:flex;position:sticky;top:0}.sidebar-toggle{border:1px solid var(--line);color:#778079;cursor:pointer;z-index:5;background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid;position:absolute;top:32px;right:-13px;box-shadow:0 2px 6px #283c3214}.sidebar-toggle:hover{color:var(--ink);background:#f5f7f3}.app-shell.sidebar-collapsed{grid-template-columns:78px 1fr}.app-shell.sidebar-collapsed .sidebar{padding:28px 12px 24px}.app-shell.sidebar-collapsed .brand{padding:0 8px 32px}.app-shell.sidebar-collapsed .brand strong,.app-shell.sidebar-collapsed .nav-item:not(.active){font-size:0}.app-shell.sidebar-collapsed .brand-mark{flex:none}.app-shell.sidebar-collapsed .nav-item{justify-content:center;padding:13px;font-size:0}.app-shell.sidebar-collapsed .nav-item span{font-size:20px}.app-shell.sidebar-collapsed .side-card{display:none}.app-shell.sidebar-collapsed .settings{text-align:center}.brand,.mobile-brand{color:#315e4b;align-items:center;gap:10px;padding:0 8px 36px;font-size:24px;display:flex}.brand-mark{color:#fff;background:#4e8069;border-radius:13px 13px 13px 5px;place-items:center;width:38px;height:38px;font-size:15px;font-weight:800;display:grid;transform:rotate(-3deg)}.brand-mark.logo-mark{background:#fff;border:1px solid #d4e3d9;padding:2px;overflow:hidden;transform:none;box-shadow:0 2px 6px #0000000f}.brand-mark.logo-mark img{object-fit:contain;border-radius:10px;width:100%;height:100%}.brand strong{letter-spacing:-1px}nav{gap:8px;display:grid}.nav-item{color:#778079;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:14px;padding:13px 14px;font-weight:650;display:flex}.nav-item .nav-icon{flex:none;place-items:center;width:22px;height:22px;display:grid}.nav-item .nav-icon svg{width:20px;height:20px}.nav-item:hover{color:var(--ink);background:#f5f7f3}.nav-item.active{color:#396b54;background:#edf4ef}.side-card{background:#f1f6ed;border-radius:18px;margin-top:auto;padding:22px 16px 16px;position:relative;overflow:hidden}.side-card:after{content:"";background:#e3eedb;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-34px;right:-24px}.side-card .sparkle{color:#e0a24a;margin-bottom:8px;font-size:22px;display:block}.side-card strong{font-size:14px}.side-card p{color:#788178;margin:7px 0 14px;font-size:12px;line-height:1.6}.side-card button{color:#40705a;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.settings{margin-top:auto}main{min-width:0}header{border-bottom:1px solid var(--line);z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;justify-content:space-between;align-items:center;height:80px;padding:0 42px;display:flex;position:sticky;top:0}.school-year-picker{flex:none;align-items:center;gap:11px;display:flex}.school-year-picker select{color:#3f6f58;cursor:pointer;background:#f6f9f6;border:1px solid #dce4dd;border-radius:10px;order:1;padding:9px 30px 9px 11px;font-size:12px;font-weight:800}.school-year-info{color:#87918b;order:2;gap:3px;display:grid}.school-year-info strong{font-size:10px}.school-year-info small{color:#737e77;white-space:nowrap;font-size:11px;font-weight:650}.global-search{width:min(420px,40%);position:relative}.search{border:1px solid var(--line);color:#8c958f;background:#fafbf9;border-radius:12px;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.search.active{background:#fff;border-color:#9bc6ad;box-shadow:0 8px 24px #2f56401f}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13px}.search-clear{color:#738078;cursor:pointer;background:#eef3ee;border:0;border-radius:50%;width:22px;height:22px;font-size:16px;line-height:1}.global-search-results{z-index:8;background:#fff;border:1px solid #e1e6e0;border-radius:14px;max-height:min(480px,100vh - 120px);padding:8px;position:absolute;top:calc(100% + 9px);left:0;right:0;overflow:auto;box-shadow:0 18px 44px #23332a2e}.global-search-results>button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;width:100%;padding:10px;display:grid}.global-search-results>button:hover{background:#f5f8f5}.global-search-results strong{color:#24332b;font-size:13px}.global-search-results small,.global-search-results em{color:#808a83;text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;font-size:11px;font-style:normal;overflow:hidden}.search-result-type{color:#fff;text-align:center;border-radius:999px;min-width:42px;padding:3px 7px;font-size:10px;font-weight:800}.search-result-type.student{background:#4f8a6a}.search-result-type.studentNote{background:#6f6b9f}.search-result-type.task{background:#8b6f47}.search-result-type.schedule{background:#4d7f9f}.search-result-type.notice{background:#b56450}.search-result-type.assessment{background:#6b7f3f}.search-result-type.unit{background:#587f72}.search-result-type.advance{background:#9a6940}.search-result-type.resource{background:#607180}.export-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.export-toolbar>span{color:#6c7b70;font-size:11px}.export-toolbar .secondary-button{white-space:nowrap;min-height:30px;padding:7px 10px;font-size:10px}.global-search-empty{color:#87918b;text-align:center;margin:0;padding:18px 12px;font-size:12px}kbd{background:#fff;border:1px solid #e1e4df;border-radius:5px;padding:2px 6px;font-size:10px}.header-actions{align-items:center;gap:18px;display:flex}.icon-button{cursor:pointer;background:#f7f8f6;border:0;border-radius:50%;width:38px;height:38px;font-size:21px;position:relative}.icon-button i{background:#f08c6c;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.profile{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:5px;display:flex}.profile>span{color:#79583e;background:#f4d8bd;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.profile div{gap:3px;display:grid}.profile strong{font-size:13px}.profile small{color:#969d98;font-size:10px}.profile b{color:#a2a9a4;margin-left:6px}.profile-wrap{position:relative}.profile-menu-dismiss{z-index:4;cursor:default;background:0 0;border:0;position:fixed;inset:0}.profile-menu{z-index:5;background:#fff;border:1px solid #e3e7e2;border-radius:14px;width:210px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 14px 40px #21322929}.profile-menu-head{border-bottom:1px solid #edf0ec;gap:3px;padding:10px 10px 12px;display:grid}.profile-menu-head strong{font-size:12px}.profile-menu-head small{color:#9aa19c;font-size:9px}.profile-menu>button{color:#657069;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;margin-top:5px;padding:10px;font-size:11px;font-weight:700;display:flex}.profile-menu>button:hover{color:#3f6f58;background:#f3f6f2}.profile-menu>button span{text-align:center;width:18px}.profile-menu>button.logout-item{color:#b8644e}.profile-menu>button.logout-item:hover{background:#fff2ed}.profile-name-field{margin-bottom:18px}.mobile-brand,.mobile-menu-toggle,.mobile-menu-backdrop{display:none}.content{max-width:1380px;margin:0 auto;padding:42px 44px 32px}.home-tabs{background:#f2f5f1;border:1px solid #e2e7e1;border-radius:13px;gap:6px;width:max-content;margin-bottom:26px;padding:5px;display:flex}.home-tabs button,.calendar-mode button{color:#7e8781;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px 18px;font-size:12px;font-weight:750}.home-tabs button.active,.calendar-mode button.active{color:#3f7058;background:#fff;box-shadow:0 2px 8px #2e433817}.calendar-page{gap:18px;display:grid}.calendar-heading{margin-bottom:0}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.calendar-navigation{align-items:center;gap:10px;display:flex}.calendar-navigation h3{text-align:center;letter-spacing:-.4px;min-width:175px;margin:0;font-size:17px}.calendar-navigation button{color:#527461;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:9px;width:34px;height:34px;font-size:22px;line-height:1}.calendar-mode{background:#f2f5f1;border-radius:11px;padding:4px;display:flex}.academic-actions{align-items:center;gap:9px;display:flex}.calendar-mode button{padding:8px 13px;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{color:#859089;text-align:center;background:#fafbf9;border-bottom:1px solid #eef0ed;border-right:1px solid #eef0ed;padding:11px 8px;font-size:10px;font-weight:800}.calendar-weekday:first-child{color:#c77861}.calendar-weekday:nth-child(7){color:#64869c}.calendar-day{background:#fff;border-bottom:1px solid #eef0ed;border-right:1px solid #eef0ed;min-height:125px;padding:9px}.calendar-day:nth-child(7n){border-right:0}.calendar-day time{color:#56625b;border-radius:50%;place-items:center;width:25px;height:25px;margin-bottom:7px;font-size:11px;font-weight:800;display:grid}.calendar-day.muted{background:#fcfcfa}.calendar-day.muted time{color:#b3bbb5}.calendar-day.today time{color:#fff;background:#47745e}.calendar-day.weekend{background:#fdfaf9}.calendar-day.weekend.muted{background:#fcfaf9}.calendar-events{gap:4px;display:grid}.calendar-event{color:#48745d;text-align:left;background:#edf4ef;border:0;border-radius:6px;gap:5px;width:100%;min-width:0;padding:5px 6px;font-size:9px;line-height:1.2;display:flex}button.calendar-event{cursor:pointer}button.calendar-event:hover{background:#dfeee3}.calendar-event b{flex:none;font-size:8px}.calendar-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.calendar-event{position:relative}.calendar-event-tooltip{z-index:8;color:#526057;white-space:normal;background:#fff;border:1px solid #cfe0d4;border-radius:8px;width:max-content;max-width:210px;padding:8px 9px;font-size:9px;line-height:1.55;display:none;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 20px #2b403429}.calendar-event-tooltip strong{color:#3f7058}button.calendar-event:hover .calendar-event-tooltip,button.calendar-event:focus-visible .calendar-event-tooltip{display:block}.calendar-event.personal{color:#ae715c;background:#f7ece7}.calendar-event.meeting{color:#80699f;background:#f0ebf5}.calendar-event.holiday{color:#c05f3e;background:#fdece7;font-weight:750}.calendar-event.holiday:hover{background:#fbdfd6}.calendar-event.task-event{color:#9a7215;background:#fdf6e0}button.calendar-event.task-event:hover{background:#fbefc4}.calendar-event.task-event.done{color:#a7ada8;background:#f2f3f1;text-decoration:line-through}button.calendar-event.task-event.done:hover{background:#e9eae7}.calendar-events .more-events{color:#8f9792;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin:0;padding:4px 0 0 4px;font-family:inherit;font-size:9px;display:block}.calendar-events .more-events:hover{color:#4f7461;text-decoration:underline}.day-detail-list{gap:6px;max-height:360px;display:grid;overflow-y:auto}.day-detail-list .calendar-event{padding:9px 10px;font-size:11px}.day-detail-list .calendar-event b{font-size:10px}.schedule-type-toggle{gap:8px;margin-bottom:16px;display:flex}.schedule-type-toggle button{color:#69746e;cursor:pointer;background:#fafbf9;border:1px solid #dfe5df;border-radius:9px;flex:1;padding:9px 12px;font-size:12px;font-weight:750}.schedule-type-toggle button.active{color:#3f7058;background:#edf5f0;border-color:#65917a;box-shadow:0 0 0 2px #e5f0e9}.schedule-type-toggle button.active.holiday-choice{color:#c05f3e;background:#fff3ee;border-color:#d5987e;box-shadow:0 0 0 2px #fae8e0}.calendar-events small{color:#8f9792;padding-left:4px;font-size:9px}.calendar-grid.week .calendar-day{min-height:400px}.calendar-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.academic-grid{display:block}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));min-height:125px;display:grid;position:relative}.academic-grid.week .calendar-week{min-height:400px}.calendar-week-cell{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #eef0ed;border-top:0;border-left:0;justify-content:flex-start;align-items:flex-start;margin:0;padding:9px;display:flex}.calendar-week-cell:hover{box-shadow:inset 0 0 0 1px #cfe0d4}.calendar-week-cell:focus-visible{outline-offset:-2px;outline:2px solid #65917a}.calendar-week-cell time{color:#56625b;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.calendar-week-cell.muted{background:#fcfcfa}.calendar-week-cell.muted time{color:#b3bbb5}.calendar-week-cell.today time{color:#fff;background:#47745e}.calendar-week-cell.weekend{background:#fdfaf9}.calendar-week-cell.weekend.muted{background:#fcfaf9}.calendar-week-cell.readonly{cursor:default}.calendar-week-cell.readonly:hover{box-shadow:none}.calendar-bar-more{color:#8f9792;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin:0;padding:0 0 0 2px;font-family:inherit;font-size:8px;display:block}.calendar-bar-more:hover{color:#4f7461;text-decoration:underline}.academic-summary-panel{gap:16px;display:grid}.academic-summary-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.academic-summary-stats>div{background:#fafbf9;border:1px solid #edf0ec;border-radius:12px;gap:8px;padding:19px;display:grid}.academic-summary-stats span{color:#8c9690;font-size:10px;font-weight:700}.academic-summary-stats strong{color:#3f6754;font-size:15px}.academic-summary-dates{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.academic-summary-dates>div{background:#fafbf9;border:1px solid #edf0ec;border-radius:12px;gap:8px;padding:19px;display:grid}.academic-summary-dates dt{color:#8c9690;font-size:10px;font-weight:700}.academic-summary-dates dd{color:#3f6754;margin:0;font-size:15px;font-weight:700}.calendar-bar{color:#48745d;text-align:left;white-space:nowrap;cursor:default;z-index:2;background:#edf4ef;border:0;border-radius:6px;align-items:center;gap:4px;min-width:0;margin:1px 2px;padding:0 7px;font-size:9px;font-weight:700;line-height:1.2;display:flex;position:relative;overflow:hidden}button.calendar-bar{cursor:pointer}.calendar-bar:hover{background:#dfeee3}.calendar-bar b{flex:none;font-size:8px}.calendar-bar-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-bar.holiday{color:#c05f3e;background:#fdece7}.calendar-bar.holiday:hover{background:#fbdfd6}.calendar-bar.personal{color:#ae715c;background:#f7ece7}.calendar-bar.meeting{color:#80699f;background:#f0ebf5}.calendar-bar.continues-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.calendar-bar.continues-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.calendar-loading{color:#89928c;text-align:right;margin:0;padding:12px 24px;font-size:10px}.school-info-panel{min-height:240px}.school-info-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.school-info-grid>div{background:#fafbf9;border:1px solid #edf0ec;border-radius:12px;gap:8px;padding:19px;display:grid}.school-info-grid span{color:#8c9690;font-size:10px;font-weight:700}.school-info-grid strong{color:#3f6754;font-size:15px}.grade-selector{border:0;grid-column:1/-1;margin:0;padding:0}.grade-selector legend{color:#68746d;margin-bottom:8px;font-size:11px;font-weight:750}.grade-selector legend em{color:#9ba29e;font-size:9px;font-style:normal;font-weight:500}.grade-selector>div{flex-wrap:wrap;gap:7px;display:flex}.grade-selector label{cursor:pointer;position:relative}.grade-selector input{opacity:0;pointer-events:none;position:absolute}.grade-selector span{color:#727d76;background:#fafbf9;border:1px solid #dfe5df;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700;display:block}.grade-selector input:checked+span{color:#3f7058;background:#edf4ef;border-color:#6c9b83;box-shadow:0 0 0 2px #e3efe7}.schedule-detail-list{gap:10px;margin:0;display:grid}.schedule-detail-list>div{border-bottom:1px solid #eef0ed;grid-template-columns:72px 1fr;gap:10px;padding:10px 0;display:grid}.schedule-detail-list dt{color:#89928c;font-size:10px;font-weight:750}.schedule-detail-list dd{color:#4b5750;margin:0;font-size:12px;line-height:1.5}.schedule-detail-list dd.detail-description{white-space:pre-wrap}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.danger-button{color:#bd6046;cursor:pointer;background:#fff7f4;border:1px solid #f0d9d2;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:750}.danger-button:hover{background:#fff0eb}.welcome{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.welcome p{color:#8c948f;margin:0 0 8px;font-size:13px;font-weight:600}.welcome h1{letter-spacing:-1.4px;margin:0;font-size:clamp(25px,2vw,34px)}.welcome h1 span{color:#f2b857}.welcome h2{color:#8d9690;margin:9px 0 0;font-size:14px;font-weight:500}.today-button{cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:11px;padding:11px 15px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #283c3208}.today-button span{color:#4d7a65;margin-left:8px}.quick-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.quick-card{cursor:pointer;text-align:left;border:0;border-radius:17px;align-items:center;gap:13px;padding:18px;transition:transform .2s,box-shadow .2s;display:flex}.quick-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #323c3214}.quick-card.mint{background:#e8f3ed}.quick-card.peach{background:#fbede4}.quick-card.yellow{background:#f8f1d9}.quick-card.lilac{background:#f0ebf5}.quick-icon{background:#ffffffb3;border-radius:13px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:700;display:grid}.quick-card>span:nth-child(2){flex:1;gap:5px;display:grid}.quick-card strong{font-size:14px}.quick-card small{color:#7e8780;font-size:10px}.quick-card b{color:#87928b}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:24px;box-shadow:0 5px 22px #36453b09}.panel-head{justify-content:space-between;align-items:start;margin-bottom:20px;display:flex}.panel-head h3{letter-spacing:-.4px;margin:0 0 5px;font-size:17px}.panel-head p{color:#979e99;margin:0;font-size:11px}.panel-head button{color:#7f8982;cursor:pointer;background:0 0;border:0;padding:4px;font-size:11px;font-weight:700}.panel-head button span{color:#4c7c65;margin-left:4px}.panel-collapse-toggle{align-items:center;display:flex}.panel-collapse-toggle .chevron{transition:transform .15s;display:inline-block}.panel-collapse-toggle .chevron.collapsed{transform:rotate(-90deg)}.schedule-list{display:grid}.schedule-list article,.today-schedule-item{text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f1ee;grid-template-columns:64px 7px minmax(0,1fr) 20px;align-items:center;gap:13px;width:100%;min-height:66px;display:grid}.today-schedule-item{cursor:pointer}.today-schedule-item:hover{background:#fafbf9}.schedule-list time{font-size:12px;font-weight:800}.schedule-list i{border-radius:5px;width:7px;height:36px}.schedule-list i.green{background:#75ad91}.schedule-list i.orange{background:#efa97c}.schedule-list i.purple{background:#aa91c6}.schedule-list strong{font-size:13px}.schedule-list p{color:#959d97;margin:5px 0 0;font-size:10px}.schedule-list button{color:#abb1ad;cursor:pointer;background:0 0;border:0}.today-schedule-item>span{color:#9ca79f;font-size:20px}.next-up{color:#89928c;background:#f6f8f4;border-radius:12px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:9px;margin-top:18px;padding:12px 15px;font-size:10px;display:grid}.next-up strong{color:#46725d;font-size:12px}.next-up div{background:#e0e7df;border-radius:8px;height:5px;overflow:hidden}.next-up div i{border-radius:inherit;background:#73a58b;width:64%;height:100%;display:block}.attendance{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f1ee;justify-content:center;align-items:center;gap:35px;width:100%;padding:2px 0 20px;display:flex}.attendance:hover .donut{transform:scale(1.03)}.donut{text-align:center;background:radial-gradient(circle, #fff 53%, transparent 55%), conic-gradient(#79ac90 0 95.8%, #f0b49a 95.8%);border-radius:50%;place-content:center;width:112px;height:112px;transition:transform .15s;display:grid}.donut strong{font-size:27px}.donut small{color:#969e98;font-size:10px}.attendance-legend{gap:10px;min-width:100px;display:grid}.attendance-legend p{color:#89918c;grid-template-columns:8px 1fr auto;gap:8px;margin:0;font-size:10px;display:grid}.attendance-legend i{border-radius:50%;width:7px;height:7px;margin-top:2px}.present{background:#79ac90}.late{background:#e7c272}.absent{background:#efad91}.early{background:#aa91c6}.outing{background:#6493ae}.attendance-legend strong{color:var(--ink)}.attendance-hint{color:#9aa29c;text-align:center;margin:9px 0 0;font-size:9px}.class-holiday-message{text-align:center;border-bottom:1px solid #f0f1ee;padding:31px 16px}.class-holiday-message strong{color:#637369;font-size:13px}.class-holiday-message p{color:#969e98;margin:7px 0 0;font-size:10px}.class-notes{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.class-notes>div,.class-notes>button{text-align:left;cursor:pointer;background:#fafaf8;border:0;border-radius:10px;align-items:center;gap:8px;padding:12px;display:flex}.class-notes>button:hover{background:#f0f5f0}.class-notes>button:disabled{cursor:default;opacity:.65}.class-notes span{font-size:18px}.class-notes p{gap:4px;margin:0;display:grid}.class-notes strong{font-size:10px}.class-notes small{color:#8e9690;font-size:9px}.meal-panel{min-height:260px}.meal-actions{align-items:center;gap:6px;display:flex}.meal-actions input{color:#526057;background:#fafbf9;border:1px solid #dfe5df;border-radius:8px;height:30px;padding:0 7px;font-size:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meal-list{gap:12px;display:grid}.meal-list article{background:#fafcf9;border:1px solid #e8eee8;border-radius:12px;padding:13px 14px}.meal-type{color:#456c55;align-items:center;gap:7px;display:flex}.meal-type span{font-size:15px}.meal-type strong{font-size:12px}.meal-type small{color:#89958d;margin-left:auto;font-size:9px}.meal-list ul{flex-wrap:wrap;gap:6px 8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.meal-list li{color:#66736b;font-size:10px}.meal-list li:before{content:"·";color:#78a089;margin-right:3px}.meal-list li em{color:#b36d52;margin-left:4px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.meal-detail-grid{border-top:1px solid #e8eee8;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:10px;display:grid}.meal-detail-grid>div{min-width:0}.meal-detail-grid b{color:#688071;font-size:9px}.meal-detail-grid p{color:#89958d;overflow-wrap:anywhere;margin:4px 0 0;font-size:9px;line-height:1.45}.allergen-legend{background:#fffaf7;border:1px solid #f0e3da;border-radius:10px;margin-top:12px;padding:10px 12px}.allergen-legend summary{color:#a36d54;cursor:pointer;font-size:10px;font-weight:800}.allergen-legend>div{flex-wrap:wrap;gap:5px 7px;margin-top:9px;display:flex}.allergen-legend span{color:#7e716a;font-size:8px}.allergen-legend b{color:#a4664d;background:#f4dfd3;border-radius:4px;place-items:center;width:14px;height:14px;margin-right:2px;font-size:8px;display:inline-grid}.meal-empty{color:#89948d;text-align:center;place-content:center;min-height:120px;font-size:11px;display:grid}.meal-empty strong{color:#67756c;font-size:12px}.meal-empty p{color:#9aa39d;max-width:270px;margin:6px 0 0;line-height:1.5}.meal-source{color:#a0a8a2;margin:14px 0 0;font-size:9px}.tasks-panel,.notice-panel{min-height:300px}.panel-head .add-task{color:#fff;background:#47745e;border-radius:9px;padding:8px 11px}.task-list{display:grid}.task-month-group+.task-month-group{margin-top:18px}.task-month-group h3{color:#4f7461;border-bottom:1px solid #dfe8e0;margin:0;padding:8px 3px;font-size:13px}.task-list-filter{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.task-list-filter button{color:#6d7970;cursor:pointer;background:#fff;border:1px solid #dce5dd;border-radius:8px;padding:7px 11px;font-size:11px;font-weight:700}.task-list-filter button.active{color:#346d50;background:#edf4ef;border-color:#6f9a7d}.task{border-bottom:1px solid #f0f1ee;grid-template-columns:22px 1fr auto auto;align-items:center;gap:10px;min-height:51px;display:grid}.task-check{cursor:pointer;display:flex}.task input{display:none}.checkmark{color:#0000;border:1px solid #d9ded9;border-radius:6px;place-items:center;width:19px;height:19px;font-size:11px;display:grid}.task input:checked+.checkmark{color:#fff;background:#7ba58f;border-color:#7ba58f}.task-title{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:12px}.task-title:hover{text-decoration:underline}.task em{color:#527461;background:#eff4ef;border-radius:6px;padding:4px 7px;font-size:9px;font-style:normal}.task small{color:#e18b6d;text-align:right;width:34px;font-size:9px}.task.done .task-title{color:#adb3ae;text-decoration:line-through}.task.done small{color:#aab0ac}.dashboard-tasks-panel .task{gap:8px;min-height:46px}.dashboard-tasks-panel .task strong{color:#536158;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.dashboard-tasks-panel .task em{padding:3px 5px;font-size:8px}.dashboard-tasks-panel .task small{color:#929c95;text-overflow:ellipsis;white-space:nowrap;width:auto;max-width:52px;font-size:8px;overflow:hidden}.dashboard-tasks-panel .checkmark{width:17px;height:17px;font-size:10px}.dashboard-task-empty{color:#99a19c;text-align:center;padding:30px 0;font-size:11px}.calendar-bar.task-event{color:#9a7215;background:#fdf6e0}.calendar-bar.task-event:hover{background:#fbefc4}.calendar-bar.task-event.done{color:#a7ada8;background:#f2f3f1;text-decoration:line-through}.calendar-bar.task-event.done:hover{background:#e9eae7}.notice-panel article,.notice-item{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f1ee;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:64px;display:grid}.notice-item:hover{background:#fafbf9}.notice-badge{color:#d46f51;background:#fbeae4;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:800}.notice-badge.normal{color:#527761;background:#edf3ee}.notice-panel article div,.notice-item div{gap:5px;min-width:0;display:grid}.notice-panel article strong,.notice-item strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.notice-panel article p,.notice-panel article time,.notice-item p,.notice-item time{color:#9ca39e;margin:0;font-size:9px}.notice-empty{color:#929a95;text-align:center;padding:24px 0;font-size:12px}.notice-board-panel{padding:0;overflow:hidden}.notice-board-list{display:grid}.notice-board-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ec;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:18px 22px;display:grid}.notice-board-item:hover{background:#fafcf9}.notice-board-item>div{gap:5px;min-width:0;display:grid}.notice-board-item strong{color:#405248;font-size:14px}.notice-board-item p{color:#7d8982;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.notice-board-item small,.notice-board-item time{color:#a0a7a2;font-size:10px}.notice-important-field{align-items:center;gap:7px;display:flex}.notice-important-field>span{flex:1}.notice-important-field input{accent-color:#5c8c70;width:16px;height:16px;margin:0}.notice-important-field em{color:#849088;font-size:10px;font-style:normal}.notice-detail-content{color:#4b5b52;white-space:pre-wrap;min-height:110px;margin:20px 0;font-size:13px;line-height:1.8}.notice-editor-tools{background:#f7faf7;border:1px solid #dfe6df;border-bottom:0;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:4px;padding:7px;display:flex}.notice-editor-tools button{color:#506a58;cursor:pointer;background:#fff;border:1px solid #dbe5dc;border-radius:5px;padding:4px 7px;font-size:10px}.notice-rich-editor{color:#4b5b52;background:#fff;border:1px solid #dfe6df;border-radius:0 0 8px 8px;outline:none;min-height:150px;padding:11px;font-size:12px;line-height:1.7}.notice-rich-editor:focus{border-color:#74a184}.today-lessons-panel{gap:10px;display:grid}.today-lessons-list{gap:6px;display:grid}.today-lessons-list>div{background:#fbfcfb;border:1px solid #e4ece5;border-radius:8px;grid-template-columns:78px 42px 62px minmax(0,1fr);align-items:center;gap:7px;padding:9px;display:grid}.today-lessons-list time{color:#718279;font-size:9px}.today-lessons-list b{color:#4b8060;font-size:10px}.today-lessons-list strong{color:#496153;font-size:11px}.today-lessons-list span{color:#748077;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.admin-summary-grid>div{background:#f8fbf8;border:1px solid #dfe9e0;border-radius:14px;padding:18px}.admin-summary-grid span{color:#829087;font-size:10px;display:block}.admin-summary-grid strong{color:#466d55;margin-top:6px;font-size:20px;display:block}.admin-users-table-wrap{overflow:auto}.admin-users-table{border-collapse:collapse;width:100%;min-width:500px;font-size:11px}.admin-users-table th,.admin-users-table td{text-align:left;border-bottom:1px solid #edf0ed;padding:11px 9px}.admin-users-table thead th{color:#869189;font-size:9px}.admin-users-table tbody th{color:#4d6656}.admin-users-table small{color:#91a198;margin-left:5px;font-size:8px;font-weight:500}.admin-users-table select{color:#4f725b;background:#fff;border:1px solid #dce5dd;border-radius:7px;padding:5px 7px;font-size:10px}.admin-plan-panel{background:#fafcf9;margin-top:18px}.admin-plan-panel h3{color:#506a58;margin:0 0 6px;font-size:14px}.admin-plan-panel p{color:#849087;margin:0;font-size:11px;line-height:1.6}.publisher-plan-create{grid-template-columns:1.1fr .55fr .55fr 1.5fr auto;align-items:center;gap:7px;display:grid}.publisher-plan-create select,.publisher-plan-create input,.publisher-plan-items input,.publisher-plan-current-items input{color:#4b5a51;background:#fff;border:1px solid #dce5dd;border-radius:7px;min-width:0;padding:8px;font-size:10px}.publisher-plan-list{gap:6px;margin-top:14px;display:grid}.publisher-plan-list>p{text-align:center;padding:14px 0}.publisher-plan-list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e8e2;border-radius:9px;grid-template-columns:1fr auto;gap:3px 12px;padding:10px;display:grid}.publisher-plan-list button.active{background:#f0f7f1;border-color:#609070}.publisher-plan-list strong{color:#4d6a56;font-size:11px}.publisher-plan-list span{color:#7e8a82;font-size:10px}.publisher-plan-list small{color:#7d9786;grid-area:1/2/3;align-self:center;font-size:10px}.publisher-plan-editor{border-top:1px solid #e2e9e3;margin-top:16px;padding-top:16px}.publisher-plan-editor h4{color:#4d6956;margin:0 0 4px;font-size:13px}.admin-plan-panel .publisher-plan-editor{display:none}.publisher-plan-editor-current{gap:10px;display:grid}.publisher-plan-items,.publisher-plan-current-items{gap:6px;display:grid}.publisher-plan-table-head{color:#77857c;text-align:center;grid-template-columns:56px 1fr 1fr 1.3fr 1fr .7fr .7fr .7fr;gap:5px;font-size:9px;font-weight:750;display:grid}.publisher-plan-items>div{grid-template-columns:56px 1fr 1fr 1.3fr 1fr .7fr .7fr .7fr;gap:5px;display:grid;position:relative}.publisher-plan-current-items>div{grid-template-columns:56px 1fr 1fr 1.3fr 1fr .7fr .7fr .7fr;gap:5px;display:grid}.publisher-plan-items>div.selected-row{background:#eff8f0;border:1px solid #71a07f;border-radius:8px;padding:4px}.publisher-plan-row-delete{color:#b96755;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;width:28px;height:28px;position:absolute;top:50%;right:-34px;transform:translateY(-50%)}.publisher-plan-items button{color:#bd7057;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;font-size:9px}.publisher-plan-actions{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.publisher-plan-csv-tools{background:#f7fbf7;justify-content:space-between;align-items:center;gap:16px;display:flex}.publisher-plan-csv-tools>div:first-child{gap:5px;display:grid}.publisher-plan-csv-tools strong{color:#4d6a56;font-size:12px}.publisher-plan-csv-tools span{color:#7f8b83;font-size:10px;line-height:1.55}.publisher-plan-csv-tools>div:last-child{flex:none;gap:7px;display:flex}.publisher-plan-csv-tools .secondary-button,.publisher-plan-csv-tools .file-button{white-space:nowrap;align-items:center;display:inline-flex}.publisher-plan-delete-tools{background:#fffbfa;justify-content:space-between;align-items:center;gap:16px;display:flex}.publisher-plan-delete-tools>div:first-child{gap:5px;display:grid}.publisher-plan-delete-tools strong{color:#855b53;font-size:12px}.publisher-plan-delete-tools span{color:#967b74;font-size:10px}.publisher-plan-delete-tools>div:last-child{gap:7px;min-width:min(100%,530px);display:flex}.publisher-plan-delete-tools select{color:#655651;background:#fff;border:1px solid #eadeda;border-radius:8px;flex:1;min-width:0;padding:8px;font-size:10px}.publisher-plan-delete-tools .danger-button:disabled{cursor:not-allowed;opacity:.5}.teacher-assignment-panel{gap:7px;display:grid}.teacher-assignment-panel>div:not(.panel-head){border:1px solid #e2e9e3;border-radius:8px;grid-template-columns:150px 1fr auto;align-items:center;gap:10px;padding:9px;display:grid}.teacher-assignment-panel strong{color:#506a58;font-size:11px}.teacher-assignment-panel small,.teacher-assignment-panel span{color:#7d8982;font-size:10px}.class-curriculum-plans-panel{gap:16px;display:grid}.class-curriculum-plan-filters{gap:8px;display:flex}.class-curriculum-plan-filters label{color:#65746a;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.class-curriculum-plan-filters select{color:#4f6255;background:#fff;border:1px solid #dce5dd;border-radius:7px;padding:7px;font-size:10px}.class-curriculum-source-list,.class-curriculum-plan-list{gap:7px;display:grid}.class-curriculum-source-list>p,.class-curriculum-plan-list>p{color:#7f8b83;text-align:center;margin:0;padding:16px 0;font-size:11px}.class-curriculum-source-list article{background:#f8fbf8;border:1px solid #dce9de;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.class-curriculum-source-list article>div{gap:4px;min-width:0;display:grid}.class-curriculum-source-list strong,.class-curriculum-plan-list strong{color:#4d6a56;font-size:11px}.class-curriculum-source-list span,.class-curriculum-plan-list span{color:#7e8a82;font-size:10px}.class-curriculum-source-list .secondary-button:disabled{cursor:default;opacity:.55}.class-curriculum-plan-list-head{border-top:1px solid #e5ece6;justify-content:space-between;align-items:center;padding-top:4px;display:flex}.class-curriculum-plan-list-head h4{color:#516b59;margin:14px 0 0;font-size:13px}.class-curriculum-plan-list-head span{color:#839087;margin-top:14px;font-size:10px}.class-curriculum-plan-delete{justify-self:end;margin-top:-30px}.class-curriculum-plan-move{background:#f7faf7;border:1px solid #dfe9e0;border-radius:10px;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:7px;padding:10px;display:none}.class-curriculum-plan-row-movers{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:5px;display:grid}.class-curriculum-plan-row-movers>div{background:#fbfcfb;border:1px solid #e2e9e3;border-radius:7px;grid-template-columns:1fr 27px 27px;align-items:center;gap:3px;padding:5px;display:grid}.class-curriculum-plan-row-movers span{color:#5a7162;font-size:9px;font-weight:700}.class-curriculum-plan-row-movers .secondary-button{min-width:0;padding:4px;font-size:12px;line-height:1}.class-curriculum-plan-row-movers .secondary-button:disabled{cursor:not-allowed;opacity:.4}.class-curriculum-plan-move>span{color:#54705d;font-size:10px;font-weight:750}.class-curriculum-plan-move select{color:#526158;background:#fff;border:1px solid #d9e3dc;border-radius:7px;min-width:0;padding:8px;font-size:10px}.class-curriculum-plan-move .secondary-button{padding:8px 10px}.class-curriculum-plan-move .secondary-button:disabled{cursor:not-allowed;opacity:.5}.class-curriculum-plan-list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e8e2;border-radius:9px;grid-template-columns:1fr auto;gap:3px 12px;padding:10px;display:grid}.class-curriculum-plan-list button.active{background:#f0f7f1;border-color:#609070}.class-curriculum-plan-list small{color:#7d9786;grid-area:1/2/3;align-self:center;font-size:10px}.class-curriculum-plan-editor{border-top:1px solid #e2e9e3;gap:10px;padding-top:16px;display:grid}.class-curriculum-plans-panel>.class-curriculum-plan-editor{display:none}.class-curriculum-plan-detail{border-top:1px solid #dfe8e0;gap:12px;margin-top:16px;padding:16px 0 0;display:grid}.class-curriculum-plan-detail h4{color:#4d6956;margin:0 0 4px;font-size:14px}.class-curriculum-plan-detail-actions{gap:7px;display:flex}.class-curriculum-plan-view{border:1px solid #e1e9e2;border-radius:10px;overflow:auto}.class-curriculum-plan-view>div{border-bottom:1px solid #edf1ed;grid-template-columns:62px 34px .75fr .75fr 1.15fr 1fr .58fr .58fr .58fr .68fr;min-width:0;display:grid}.class-curriculum-plan-view>div:last-child{border-bottom:0}.class-curriculum-plan-view>div.specialized-curriculum-row{background:#eef8f1}.class-curriculum-plan-view>div.specialized-curriculum-row time,.class-curriculum-plan-view>div.specialized-curriculum-row b{color:#397153}.class-curriculum-plan-view>div>*{color:#5d6b62;overflow-wrap:anywhere;min-width:0;padding:9px 7px;font-size:10px;line-height:1.45}.class-curriculum-plan-view-head{background:#f4f8f4}.class-curriculum-plan-view-head span{color:#718178;text-align:center;white-space:nowrap;font-size:8px;font-weight:750}.class-curriculum-plan-view time{color:#668271;white-space:nowrap}.class-curriculum-plan-view b{color:#548064;text-align:center}.class-curriculum-plan-view strong{color:#47594e;font-weight:700}.class-curriculum-plan-view>div>:nth-child(7),.class-curriculum-plan-view>div>:nth-child(8),.class-curriculum-plan-view>div>:nth-child(9){text-align:center}.class-curriculum-plan-view strong:empty:before{content:"수업 주제 미입력";color:#a0aaa3;font-weight:500}.class-curriculum-plan-editor h4{color:#4d6956;margin:0 0 4px;font-size:13px}.class-curriculum-plan-items{gap:6px;display:grid}.class-curriculum-plan-table-head{color:#77857c;text-align:center;grid-template-columns:56px 1fr 1.3fr 1fr .7fr .7fr .7fr 1fr;gap:5px;font-size:9px;font-weight:750;display:grid}.class-curriculum-plan-items>div{grid-template-columns:56px 1fr 1.3fr 1fr .7fr .7fr .7fr 1fr;gap:5px;display:grid}.class-curriculum-plan-items>div.selected-row{background:#eff8f0;border:1px solid #71a07f;border-radius:8px;padding:4px}.class-curriculum-plan-detail .class-curriculum-plan-items>div>button{display:none}.class-curriculum-row-popup{z-index:30;background:#fff;border:1px solid #cbdccc;border-radius:8px;grid-template-columns:32px 32px auto auto 38px 32px;gap:3px;padding:4px;display:grid;position:fixed;box-shadow:0 5px 16px #2d433329}.class-curriculum-row-popup button{color:#47735a;cursor:pointer;background:#eaf3eb;border:0;border-radius:5px;font-size:16px}.class-curriculum-row-popup button:nth-child(3),.class-curriculum-row-popup button:nth-child(4),.class-curriculum-row-popup button:nth-child(5){padding:0 6px;font-size:9px}.class-curriculum-row-popup button.trash{color:#b96755;background:#fbeeea;font-size:13px}.class-curriculum-row-popup button:disabled{cursor:not-allowed;opacity:.4}.class-curriculum-plan-items input{color:#4b5a51;background:#fff;border:1px solid #dce5dd;border-radius:7px;min-width:0;padding:8px;font-size:10px}.class-curriculum-plan-items button{color:#bd7057;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;font-size:9px}.evaluation-settings-panel{gap:16px;display:grid}.evaluation-settings-detail{background:#fbfdfb;border:1px solid #dfebe1;border-radius:12px;gap:18px;padding:16px;display:grid}.evaluation-field-group{gap:8px;display:grid}.evaluation-field-group>span,.evaluation-level-head h4{color:#4d6956;font-size:12px;font-weight:750}.evaluation-field-group small{color:#8a978e;margin-left:4px;font-weight:500}.evaluation-choice-row{gap:6px;display:flex}.evaluation-choice-row button{color:#647268;cursor:pointer;background:#fff;border:1px solid #d8e4da;border-radius:8px;min-width:88px;padding:8px 12px}.evaluation-choice-row button.active{color:#3e6c50;background:#eaf5ec;border-color:#609273;font-weight:750}.evaluation-subject-checks{flex-wrap:wrap;gap:7px;display:flex}.evaluation-subject-checks label{color:#59685e;background:#fff;border:1px solid #dce7de;border-radius:8px;align-items:center;gap:5px;padding:7px 10px;font-size:11px;display:inline-flex}.evaluation-level-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.evaluation-level-head h4,.evaluation-level-head p{margin:0}.evaluation-level-head p{color:#87938a;margin-top:3px;font-size:10px}.evaluation-level-list{gap:6px;display:grid}.evaluation-date-grid{grid-template-columns:minmax(0,220px);gap:10px;display:grid}.evaluation-date-grid label,.evaluation-period-list>label{color:#637167;gap:6px;font-size:11px;font-weight:700;display:grid}.evaluation-date-grid input,.evaluation-period-list select{color:#536157;background:#fff;border:1px solid #dce6de;border-radius:7px;min-width:0;padding:8px}.evaluation-period-list{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;display:grid}.evaluation-period-list>span{color:#4d6956;grid-column:1/-1;font-size:12px;font-weight:750}.evaluation-level-head-row,.evaluation-level-row{grid-template-columns:minmax(0,1fr) 74px 68px 74px 68px 32px;align-items:center;gap:6px;display:grid}.evaluation-level-head-row{color:#7e8c82;text-align:center;font-size:10px;font-weight:700}.evaluation-level-head-row span:first-child{text-align:left}.evaluation-level-row input,.evaluation-level-row select{color:#536157;background:#fff;border:1px solid #dce6de;border-radius:7px;min-width:0;padding:8px;font-size:11px}.evaluation-level-row .icon-button{color:#bd7057;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;width:32px;height:32px}.assessment-panel{gap:16px;display:grid}.unit-assessment-panel.unit-tab-active+.assessment-panel,.unit-assessment-panel.unit-tab-active+.empty-state{display:none}.unit-assessment-list{gap:12px;display:grid}.unit-assessment-list article{background:#fbfdfb;border:1px solid #e1e9e2;border-radius:10px;padding:12px}.unit-assessment-list article p{color:#758078;margin:6px 0 0;font-size:13px}.unit-assessment-list ul{gap:4px;margin:8px 0 0;padding-left:20px;display:grid}.unit-assessment-detail{gap:12px;display:grid}.unit-assessment-detail>label{color:#4d6956;align-items:center;gap:10px;font-weight:700;display:flex}.unit-assessment-detail>label input{width:72px}.unit-assessment-detail .assessment-table td:nth-child(2) input{width:min(100%,360px)}.unit-results-panel{gap:16px;margin-top:32px;display:grid}.unit-correct-check{color:#607268;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:max-content;min-width:0;max-width:100%;font-size:11px;line-height:1;display:flex;overflow:hidden}.unit-correct-check input{width:13px;min-width:13px;margin:0}.unit-correct-check span{text-overflow:clip;white-space:nowrap;text-align:center;min-width:0;display:block;overflow:hidden}.unit-results-table td:last-child strong{color:#2f7c4f}.unit-results-table{table-layout:fixed;min-width:0;font-size:10px}.unit-results-table th,.unit-results-table td{padding:5px 3px}.unit-results-table th:first-child,.unit-results-table td:first-child{width:34px}.unit-results-table th:nth-child(2),.unit-results-table td:nth-child(2){width:52px}.unit-results-table th:nth-last-child(-n+2),.unit-results-table td:nth-last-child(-n+2){width:48px}.unit-results-table td{vertical-align:middle;min-width:0;overflow:hidden}.unit-results-table td .unit-correct-check{margin:0 auto}.unit-results-table .unit-correct-check{gap:2px;font-size:9px}.unit-analysis-grid{grid-template-columns:1fr 1.4fr 1fr;gap:12px;display:grid}.unit-analysis-grid section{background:#fbfdfb;border:1px solid #e1e9e2;border-radius:10px;align-content:start;gap:9px;padding:13px;display:grid}.unit-analysis-grid h4{color:#466d55;margin:0;font-size:13px}.unit-analysis-grid p{color:#7d8b82;margin:0;font-size:11px;line-height:1.5}.unit-support-list{flex-wrap:wrap;gap:6px;display:flex}.unit-support-list span{color:#9a5f36;background:#fff4ea;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.unit-question-analysis{gap:6px;display:grid}.unit-question-analysis>div{color:#5e7064;background:#fff;border-radius:8px;grid-template-columns:58px 74px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;font-size:10px;display:grid}.unit-question-analysis strong{color:#486a55;font-size:10px}.unit-question-analysis span{color:#ad684b;font-weight:800}.unit-question-analysis small{color:#75837a;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.unit-analysis-card-section{gap:7px;padding-top:4px;display:grid}.unit-analysis-card-section strong{color:#466d55;font-size:11px}.unit-analysis-card-section p{color:#748279;margin:0;font-size:10px;line-height:1.5}.unit-analysis-card-section ul{color:#65766a;gap:4px;margin:0;padding-left:16px;font-size:10px;display:grid}.unit-analysis-card-section b{color:#ad684b}.assessment-toolbar{color:#67806f;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.assessment-table-wrap{border:1px solid #e1e9e2;border-radius:10px;overflow:auto}.assessment-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11px}.assessment-table th,.assessment-table td{text-align:center;border-bottom:1px solid #edf1ed;border-right:1px solid #edf1ed;padding:8px}.assessment-table thead th{color:#607268;background:#f4f8f4;font-weight:750}.assessment-table tbody th{color:#4d6956}.assessment-table input{text-align:center;border:1px solid #d8e4da;border-radius:6px;width:52px;padding:6px}.assessment-level{color:#4f7c60;white-space:nowrap;font-weight:700}.curriculum-unit-admin-page{padding-top:0}.curriculum-unit-form{grid-template-columns:1.1fr 1fr .8fr .65fr 1.2fr auto;gap:7px;display:grid}.curriculum-unit-form select,.curriculum-unit-form input{color:#536157;background:#fff;border:1px solid #dce6de;border-radius:8px;min-width:0;padding:9px;font-size:11px}.curriculum-unit-form select:disabled{color:#77867d;background:#f5f8f5}.curriculum-unit-list{gap:6px;margin-top:14px;display:grid}.curriculum-unit-list>div{background:#fbfdfb;border:1px solid #e3ebe4;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(0,1fr) 32px;align-items:center;gap:10px;padding:9px 10px;display:grid}.curriculum-unit-list span{color:#7a897f;font-size:10px}.curriculum-unit-list strong{color:#52685a;font-size:11px}.curriculum-unit-list .icon-button{color:#bd7057;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;width:30px;height:30px}.student-notes-panel{gap:16px;display:grid}.student-note-form{grid-template-columns:160px 180px minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.student-note-form label{color:#627567;gap:6px;min-width:0;font-size:11px;font-weight:750;display:grid}.student-note-form label.full{grid-column:span 1}.student-note-form input,.student-note-form select,.student-note-form textarea{color:#4f6256;min-width:0;font:inherit;background:#fff;border:1px solid #dce7df;border-radius:8px;padding:9px 10px}.student-note-form textarea{resize:vertical;min-height:72px}.student-note-list{gap:9px;display:grid}.student-note-item{background:#fbfdfb;border:1px solid #e1e9e2;border-radius:10px;gap:8px;padding:13px 44px 13px 14px;display:grid;position:relative}.student-note-item>div{align-items:center;gap:8px;display:flex}.student-note-item span{color:#477159;background:#e9f3ed;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.student-note-item time{color:#7c8d82;font-size:11px}.student-note-item p{color:#52645a;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.student-note-item .icon-button{color:#bd7057;cursor:pointer;background:#fbeeea;border:0;border-radius:7px;width:28px;height:28px;position:absolute;top:10px;right:10px}.student-dashboard-panel{gap:16px;display:grid}.student-dashboard-panel.semester-dashboard-enabled .student-dashboard-content,.student-dashboard-panel.semester-dashboard-enabled .evaluation-choice-row{display:none}.student-semester-dashboard-list{gap:20px;margin-top:20px;display:grid}.student-semester-dashboard,.class-assessment-dashboard{gap:16px;display:grid}.class-assessment-dashboard.unit-tab-active>.class-assessment-semesters,.class-assessment-dashboard.unit-tab-active>.monthly-empty{display:none}.class-unit-dashboard{gap:16px;margin-top:20px;display:grid}.class-unit-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.class-unit-dashboard-grid article{background:#fbfdfb;border:1px solid #e1e9e2;border-radius:11px;padding:14px}.class-unit-dashboard-grid article>div>span{color:#748078;font-size:11px}.class-unit-dashboard-grid h4{color:#406c54;margin:4px 0 12px;font-size:14px}.class-unit-dashboard-grid dl{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.class-unit-dashboard-grid dl div{text-align:center;background:#f1f6f1;border-radius:7px;min-width:0;padding:8px 5px}.class-unit-dashboard-grid dt{color:#748078;font-size:9px}.class-unit-dashboard-grid dd{color:#436f57;margin:4px 0 0;font-size:11px;font-weight:800}.class-assessment-semesters{gap:20px;display:grid}.class-assessment-semester{gap:12px;padding-top:4px;display:grid}.class-assessment-semester+.class-assessment-semester{border-top:1px solid #e1eae2;padding-top:20px}.class-assessment-semester-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.class-assessment-semester-head h4{color:#4b6955;margin:0;font-size:15px}.class-assessment-semester-head span{color:#7d8c82;font-size:10px}.class-assessment-summary{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.class-assessment-summary>div{background:#fbfdfb;border:1px solid #e0ebe2;border-radius:10px;gap:3px;padding:12px;display:grid}.class-assessment-summary span,.class-assessment-summary small{color:#7b8c80;font-size:10px}.class-assessment-summary strong{color:#467157;font-size:18px}.class-subject-assessment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;display:grid}.class-subject-assessment-grid article{background:#fff;border:1px solid #e0e9e1;border-radius:10px;gap:10px;padding:12px;display:grid}.class-subject-assessment-head{justify-content:space-between;gap:8px;display:flex}.class-subject-assessment-head strong{color:#4a6854;font-size:12px}.class-subject-assessment-head span,.class-subject-assessment-grid small{color:#78887e;font-size:10px}.achievement-level-counts{gap:4px;display:grid}.achievement-level-counts>div{color:#617264;background:#f4f8f4;border-radius:6px;justify-content:space-between;padding:5px 7px;font-size:10px;display:flex}.achievement-level-counts strong{color:#477457}.achievement-level-counts p{color:#8a968d;margin:0;font-size:10px}.student-dashboard-panel>.panel-head .evaluation-choice-row,.student-dashboard-section-title{display:none}.semester-assessment-overview{gap:10px;padding-top:4px;display:grid}.semester-assessment-overview+.semester-assessment-overview{border-top:1px solid #e2ebe3;padding-top:18px}.semester-assessment-overview h4{color:#4b6955;margin:0;font-size:15px}.student-dashboard-picker{color:#5f7165;grid-template-columns:76px minmax(0,260px);align-items:center;gap:8px;font-size:12px;font-weight:750;display:grid}.student-dashboard-section-title{color:#4b6955;margin:4px 0 -6px;font-size:15px}.student-dashboard-picker select{color:#4c5f52;background:#fff;border:1px solid #d9e5db;border-radius:8px;padding:9px}.student-dashboard-content{gap:16px;display:grid}.student-dashboard-summary{grid-template-columns:1.25fr 1fr 1fr;gap:10px;display:grid}.student-dashboard-summary>div{background:#fbfdfb;border:1px solid #e0ebe2;border-radius:11px;gap:3px;padding:14px;display:grid}.student-dashboard-summary span{color:#7c8d81;font-size:10px}.student-dashboard-summary strong{color:#466c54;font-size:19px}.student-dashboard-summary small{color:#819086;font-size:10px}.student-subject-dashboard{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.student-subject-dashboard article{background:#fff;border:1px solid #e0e9e1;border-radius:10px;gap:10px;padding:13px;display:grid}.student-subject-dashboard article>div:first-child{justify-content:space-between;gap:8px;display:flex}.student-subject-dashboard article strong{color:#4c6955;font-size:12px}.student-subject-dashboard article span{color:#68786d;font-size:10px}.score-bar{background:#e9efea;border-radius:99px;height:10px;position:relative;overflow:visible}.score-bar .class-average{border-radius:inherit;background:#5a9a6e;height:100%;display:block}.score-bar b{background:#8b6d36;border-radius:4px;width:4px;height:18px;position:absolute;top:-4px;transform:translate(-2px)}.score-comparison{justify-content:space-between;align-items:center;display:flex}.score-comparison strong.above{color:#36714f}.score-comparison strong.below{color:#b86857}.curriculum-date-arrangement{gap:10px;display:grid}.curriculum-date-list{gap:5px;max-height:260px;display:grid;overflow:auto}.curriculum-date-list>div{background:#fbfcfb;border:1px solid #e7ede7;border-radius:8px;grid-template-columns:52px minmax(0,1fr) 88px;align-items:center;gap:8px;padding:8px 10px;display:grid}.curriculum-date-list b{color:#548064;font-size:10px}.curriculum-date-list span{color:#59675f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.curriculum-date-list time{color:#718878;text-align:right;font-size:10px}.footer-copy{text-align:center;color:#a1a8a3;margin:0;padding-top:24px;font-size:10px}.footer-copy span{color:#e7a596}.management-page{gap:20px;display:grid}.class-tabs{background:#f2f5f1;border:1px solid #e2e7e1;border-radius:13px;gap:6px;width:max-content;max-width:100%;padding:5px;display:flex}.class-tabs button{color:#7e8781;cursor:pointer;background:0 0;border:0;border-radius:9px;min-width:112px;padding:10px 17px;font-size:12px;font-weight:750}.class-tabs button.active{color:#3f7058;background:#fff;box-shadow:0 2px 8px #2e433817}.page-heading{justify-content:space-between;align-items:end;margin-bottom:5px;display:flex}.page-heading p{color:#4f7b66;margin:0 0 8px;font-size:12px;font-weight:800}.page-heading h1{letter-spacing:-1.2px;margin:0;font-size:clamp(25px,2vw,33px)}.page-heading h2{color:#8d9690;margin:9px 0 0;font-size:13px;font-weight:500}.management-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.management-grid.single{grid-template-columns:1fr}.setup-panel{min-height:280px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field>span{color:#68746d;font-size:11px;font-weight:750}.field em{color:#9ba29e;font-size:9px;font-style:normal;font-weight:500}.field input,.field select,.field textarea{background:#fafbf9;border:1px solid #dfe5df;border-radius:10px;outline:none;width:100%;min-width:0;padding:11px 12px;font-size:12px}.field textarea{resize:vertical;min-height:84px;font:inherit;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.field input[readonly]{color:#637369;cursor:default;background:#f1f5f1}.task-period-options{background:#fafbf9;border:1px solid #dfe5df;border-radius:10px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.task-period-options label{color:#405248;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:6px 8px;font-size:12px;display:inline-flex}.task-period-options input[type=checkbox]{accent-color:#5c8c70;width:15px;min-width:15px;height:15px;margin:0}.task-period-options small{color:#728078;font-size:10px}.task-period-options p{color:#728078;width:100%;margin:2px 0;font-size:12px}.task-category-options{flex-wrap:wrap;gap:7px;padding-top:2px;display:flex}.task-category-options button{color:#6d7970;cursor:pointer;background:#fff;border:1px solid #dce5dd;border-radius:9px;min-width:58px;padding:8px 12px;font-size:12px;font-weight:700}.task-category-options button:hover{color:#3d7055;border-color:#aac4b1}.task-category-options button.active{color:#346d50;background:#edf4ef;border-color:#6f9a7d}.hour-system-toggle{cursor:pointer;background:#f7fbf7;border:1px solid #dce8dd;border-radius:11px;align-items:center;gap:10px;margin:0 0 18px;padding:12px;display:flex}.hour-system-toggle input{accent-color:#5c8c70;width:17px;height:17px}.hour-system-toggle span{gap:3px;display:grid}.hour-system-toggle strong{color:#476c55;font-size:12px}.hour-system-toggle small{color:#839087;font-size:10px}.subject-row:has(.subject-ratio-input){grid-template-columns:1fr auto;display:grid}.subject-ratio-input{color:#68766d;border-top:1px solid #edf1ed;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;width:100%;margin-top:2px;padding-top:8px;font-size:10px;display:flex}.subject-ratio-input label{align-items:center;gap:4px;display:flex}.subject-ratio-input input{text-align:center;background:#fafcf9;border:1px solid #dce5dd;border-radius:6px;width:38px;padding:4px}.subject-ratio-input small{color:#87928a;margin-right:auto;font-size:9px}.subject-publisher-select{margin-left:auto}.subject-publisher-select label{color:#7c8981;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.subject-publisher-select select{color:#526d5b;background:#fafcf9;border:1px solid #dce5dd;border-radius:6px;max-width:100px;padding:4px 6px;font-size:9px}.hour-system-table-wrap{overflow:auto}.hour-system-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11px}.hour-system-table th,.hour-system-table td{text-align:center;border:1px solid #e3eae4;padding:9px 6px}.hour-system-table thead th{color:#587061;background:#eef5ef;font-size:10px}.hour-system-table tbody th{color:#4d6957;text-align:left;background:#fafcf9}.hour-system-term-list{gap:18px;display:grid}.hour-system-term h4{color:#526b5b;margin:0 0 8px;font-size:12px}.hour-system-table tbody th small{color:#99a39c;margin-top:3px;font-size:9px;font-weight:500;display:block}.hour-difference{font-weight:800}.hour-difference.over{color:#bc704f}.hour-difference.short{color:#5680a3}.hour-difference.equal{color:#568067}.hour-subject-tabs{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.hour-subject-tabs button{color:#62736a;cursor:pointer;background:#fff;border:1px solid #dbe6dc;border-radius:8px;padding:6px 10px;font-size:10px}.hour-subject-tabs button.active{color:#3f6f53;background:#edf5ee;border-color:#5e8b6e;font-weight:800}.hour-entry-table{min-width:0}.hour-entry-table td{color:#66746b}.hour-schedule-semester-tabs{gap:4px;margin:0 0 9px;display:flex}.hour-schedule-semester-tabs button{color:#68776e;cursor:pointer;background:#fff;border:1px solid #dbe6dc;border-radius:8px;padding:6px 11px;font-size:10px}.hour-schedule-semester-tabs button.active{color:#fff;background:#5e8b6e;border-color:#5e8b6e;font-weight:800}.input-with-button{gap:8px;display:flex}.input-with-button input{flex:1;min-width:0}.input-with-button button{white-space:nowrap;flex:none}.school-lookup-results{gap:8px;margin-bottom:18px;display:grid}.school-lookup-results>p{color:#68746d;margin:0;font-size:11px;font-weight:700}.school-lookup-result{text-align:left;cursor:pointer;background:#fafbf9;border:1px solid #dfe5df;border-radius:10px;gap:3px;padding:11px 13px;display:grid}.school-lookup-result:hover{background:#edf4ef;border-color:#6c9b83}.school-lookup-result strong{color:#3f6754;font-size:12px}.school-lookup-result span{color:#8c9690;font-size:10px}.school-lookup-empty{color:#8c9690;margin:0 0 18px;font-size:11px}.school-lookup-info{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.school-lookup-info>div{background:#fafbf9;border:1px solid #edf0ec;border-radius:12px;gap:8px;padding:19px;display:grid}.school-lookup-info dt{color:#8c9690;font-size:10px;font-weight:700}.school-lookup-info dd{color:#3f6754;word-break:break-all;align-items:center;gap:6px;margin:0;font-size:15px;font-weight:700;display:flex}.school-lookup-info dd span{min-width:0}.school-lookup-info dd a{color:#3f6754;word-break:break-all;min-width:0;text-decoration:none}.school-lookup-info dd a:hover{text-decoration:underline}.copy-icon-button{color:#9ba29e;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.copy-icon-button:hover{color:#47745e;background:#edf4ef}.primary-button.fit{width:auto;padding:11px 17px}.form-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.secondary-button{color:#47745e;cursor:pointer;background:#f6f9f6;border:1px solid #d9e2dc;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:750}.secondary-button:hover{background:#edf4ef}.roster-panel{padding-bottom:12px}.count-badge{color:#47745e;background:#edf4ef;border-radius:9px;padding:7px 10px;font-size:11px}.student-counts{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.count-badge.male{color:#4f7389;background:#eaf2f7}.count-badge.female{color:#9b6571;background:#f8ecef}button.count-badge{font:inherit;cursor:pointer;opacity:.55;border:0;font-weight:700;transition:opacity .15s,box-shadow .15s}button.count-badge:hover{opacity:.8}button.count-badge.active{opacity:1;box-shadow:inset 0 0 0 1.5px #47745e}button.count-badge.male.active{box-shadow:inset 0 0 0 1.5px #4f7389}button.count-badge.female.active{box-shadow:inset 0 0 0 1.5px #9b6571}.roster-table{display:grid}.roster-head,.roster-row{grid-template-columns:48px minmax(80px,1fr) 55px 150px 100px 110px;align-items:center;gap:12px;padding:11px 14px;display:grid}.roster-head{color:#89928c;background:#f5f7f4;border-radius:9px;font-size:10px;font-weight:700}.roster-row{border-bottom:1px solid #eff1ed;font-size:12px}.roster-row>span{color:#7f8982}.contact-cell{color:#7f8982;align-items:center;gap:7px;min-width:0;display:flex}.guardian-phone{font-variant-numeric:tabular-nums}.contact-cell.empty .guardian-phone{color:#afb5b1;font-size:10px}.contact-cell button{color:#47745e;cursor:pointer;background:#f6f9f6;border:1px solid #d9e2dc;border-radius:6px;flex:none;padding:4px 7px;font-size:9px;font-weight:700}.contact-cell button:hover{background:#edf4ef}.contact-cell button:disabled{color:#c1c6c2;cursor:default;background:#fafafa;border-color:#eceeeb}.gender-badge{background:#f1f2f0;border-radius:999px;width:max-content;padding:4px 8px;font-size:9px;font-weight:750;color:#858d88!important}.gender-badge.male{background:#eaf2f7;color:#4f7389!important}.gender-badge.female{background:#f8ecef;color:#9b6571!important}.roster-row select{color:#3f6754;background:#fff;border:1px solid #dfe5df;border-radius:8px;padding:7px 8px;font-size:11px}.row-actions{justify-content:flex-end;gap:6px;display:flex}.row-actions button{color:#68746d;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:7px;padding:6px 9px;font-size:10px}.row-actions button:hover{background:#f5f7f4}.row-actions .danger{color:#c76d54;border-color:#f0d9d2}.row-actions .danger:hover{background:#fff4f0}.edit-form{margin-bottom:18px}.full-panel{min-height:180px}.monthly-panel{padding:0;overflow:hidden}.monthly-head{justify-content:space-between;align-items:center;gap:18px;padding:23px 24px 17px;display:flex}.monthly-head h3{margin:0 0 5px;font-size:17px}.monthly-head p{color:#929a95;margin:0;font-size:10px}.month-picker{align-items:center;gap:7px;display:flex}.month-picker button{color:#527461;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:9px;width:34px;height:34px;font-size:22px}.month-picker input{color:#425149;background:#fafbf9;border:1px solid #dfe5df;border-radius:9px;height:34px;padding:0 9px;font-size:11px;font-weight:700}.attendance-summary{background:#fafbf9;border-top:1px solid #edf0ec;border-bottom:1px solid #edf0ec;align-items:center;gap:15px;padding:11px 24px;display:flex}.attendance-summary span{color:#727c76;align-items:center;gap:5px;font-size:10px;display:flex}.attendance-summary small{color:#9ca39e;margin-left:auto;font-size:9px}.status-dot{border-radius:50%;width:7px;height:7px}.status-dot.early{background:#aa91c6}.status-dot.outing{background:#6493ae}.timetable-wrap{overflow:auto}.timetable-table{border-collapse:separate;border-spacing:0;width:100%}.timetable-table th,.timetable-table td{text-align:center;border-bottom:1px solid #eef0ed;border-right:1px solid #eef0ed;padding:12px 8px;font-size:11px}.timetable-table th:last-child,.timetable-table td:last-child{border-right:0}.timetable-table thead th{color:#68746d;background:#fafbf9;font-weight:800}.timetable-table thead th small{color:#a0a7a2;margin-top:2px;font-size:9px;font-weight:500;display:block}.timetable-table tbody th{color:#68746d;background:#fafbf9;width:64px;font-weight:750}.timetable-table tbody td{color:#3f6754;font-weight:700}.timetable-table-editable tbody td{padding:6px}.timetable-table-editable tbody td select{width:100%;min-width:0;font:inherit;color:#3f6754;text-align:center;text-align-last:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;outline:none;padding:9px 8px;font-size:11px;font-weight:700}.timetable-table-editable tbody td select:hover{background:#fafbf9}.timetable-table-editable tbody td select:focus{background:#fafbf9;border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.timetable-table-editable tbody td.homeroom{background:#eef4ef}.timetable-table-editable tbody td.homeroom select{color:#3f7058}.timetable-table-editable tbody td.specialized{background:#fbf1e4}.timetable-table-editable tbody td.specialized select{color:#a3701f}.timetable-subject-hint{color:#9ba29e;margin:0;padding:12px 24px 0;font-size:11px}.timetable-legend{gap:14px;padding:12px 24px 0;display:flex}.timetable-legend-item{color:#68746d;padding-left:16px;font-size:10px;font-weight:700;position:relative}.timetable-legend-item:before{content:"";border-radius:3px;width:9px;height:9px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.timetable-legend-item.homeroom:before{background:#7ba58f}.timetable-legend-item.specialized:before{background:#e0a24a}.annual-hours-panel{background:#f8fbf8;border:1px solid #dfeadf;border-radius:13px;gap:12px;margin:16px 24px 24px;padding:15px 16px;display:grid}.annual-timetable-legend{margin-bottom:10px}.annual-hours-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.annual-hours-head h4{color:#426d56;margin:0 0 4px;font-size:12px}.annual-hours-head p,.annual-hours-empty{color:#879189;margin:0;font-size:10px}.annual-hours-head>strong{color:#33664b;font-variant-numeric:tabular-nums;flex:none;font-size:13px}.annual-hours-table-wrap{overflow:hidden}.annual-hours-term-tables{grid-template-columns:1fr;gap:18px;display:grid}.annual-hours-term{min-width:0}.annual-hours-term>h5{color:#4a6f59;margin:0 0 7px;font-size:11px}.annual-hours-table{border-collapse:separate;border-spacing:0;width:100%;min-width:490px;font-size:10px}.annual-hours-table th,.annual-hours-table td{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid #e5ebe5;border-right:1px solid #e5ebe5;padding:8px 7px}.annual-hours-table thead th{color:#587061;background:#edf4ee;font-size:9px;font-weight:800}.annual-hours-table-horizontal{table-layout:fixed;min-width:0}.annual-hours-table-horizontal th,.annual-hours-table-horizontal td{white-space:normal;overflow-wrap:anywhere;word-break:break-all;padding:6px 2px;font-size:9px}.annual-hours-table-horizontal thead th{vertical-align:middle;min-width:0;line-height:1.25}.annual-hours-table-horizontal thead th:first-child,.annual-hours-table-horizontal tbody th{width:38px;min-width:38px;max-width:38px}.annual-hours-table-horizontal tbody th{color:#597061;text-align:center;background:#f5f8f5;font-size:9px}.annual-hours-table-combined thead th:first-child,.annual-hours-table-combined .annual-term-label{width:32px;min-width:32px;max-width:32px}.annual-hours-table-combined thead th:nth-child(2),.annual-hours-table-combined .annual-metric-label{width:30px;min-width:30px;max-width:30px}.annual-hours-table-combined .annual-metric-label{text-align:center}.annual-hours-table-combined tbody+tbody tr:first-child>*{border-top:2px solid #d5e2d6}.annual-hours-table thead tr:first-child th{border-bottom-color:#dce8dd}.annual-hours-table tbody td:first-child{color:#758177;font-size:9px}.annual-hours-table tbody th{color:#496b57;text-align:left;font-weight:800}.annual-hours-table tfoot th,.annual-hours-table tfoot td{color:#3f6650;background:#f0f6f1;border-bottom:0;font-weight:800}.annual-hours-table tr>:last-child{border-right:0}.curriculum-difference{white-space:nowrap;border-radius:5px;justify-content:center;min-width:0;padding:3px 2px;font-size:9px;font-weight:800;display:inline-flex}.curriculum-difference.over{color:#bd624a;background:#fff0eb}.curriculum-difference.short{color:#527c9b;background:#eef4fb}.curriculum-difference.equal{color:#47745e;background:#edf5ef}.annual-hours-groups{gap:10px;display:grid}.annual-hours-groups h5{color:#718078;margin:0 0 6px;font-size:10px}.annual-hours-chips{flex-wrap:wrap;gap:6px;display:flex}.annual-hours-chips span{color:#537260;background:#fff;border:1px solid #e2eae2;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;font-weight:700;display:inline-flex}.annual-hours-chips b{color:#397055;font-variant-numeric:tabular-nums;font-size:10px}.annual-hours-chips.activity span{color:#735f90;background:#fcfaff;border-color:#e7e1ef}.annual-hours-chips.activity b{color:#725a93}.timetable-actions{align-items:center;gap:8px;display:flex}.annual-view-toggle{background:#edf1ed;border-radius:9px;padding:3px;display:flex}.annual-view-toggle button{color:#7d8780;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:750}.annual-view-toggle button.active{color:#3f7058;background:#fff;box-shadow:0 1px 4px #283c321f}.timetable-table-editable tbody td.holiday-cell{text-align:center;background:#fafafa}.timetable-table-editable tbody td.holiday-cell span{color:#c1c6c2;font-size:10px;font-weight:700}.annual-wrap{max-height:none;overflow:auto visible}.annual-table{table-layout:fixed;width:max-content;min-width:100%}.annual-table col.annual-class-week-col{width:30px}.annual-table col.annual-calendar-week-col{width:36px}.annual-table col.annual-week-range-col{width:46px}.annual-table col.annual-col{width:19px}.annual-table th,.annual-table td,.annual-table thead th,.annual-table tbody th,.annual-table tbody td{box-sizing:border-box;padding:0}.annual-table thead th{z-index:2;background:#fafbf9;border-bottom:1px solid #eef0ed;position:sticky}.annual-table thead tr:first-child th{color:#47745e;height:20px;padding:0 1px;font-size:9px;font-weight:800;top:0}.annual-table thead tr:last-child th{color:#9ba29e;height:16px;padding:0 1px;font-size:8px;font-weight:700;top:20px}.annual-table td.annual-day-end{border-right:3px solid #6f927d!important}.annual-table .annual-sticky-col{z-index:1;white-space:nowrap;background:#fafbf9;position:sticky}.annual-table .annual-class-week-header{width:66px;min-width:66px;max-width:66px;left:0}.annual-table .annual-class-week-label{width:30px;min-width:30px;max-width:30px;left:0}.annual-table .annual-calendar-week-label{width:36px;min-width:36px;max-width:36px;left:30px}.annual-table .annual-week-range-header,.annual-table .annual-week-range-label{width:46px;min-width:46px;max-width:46px;left:66px;box-shadow:3px 0 6px #2f41370d}.annual-table thead .annual-sticky-col{z-index:3}.annual-table thead .annual-corner{height:36px;top:0}.annual-table tbody th,.annual-table tbody td{height:25px}.annual-table tbody .annual-week-label{vertical-align:middle;color:#3f6754;text-align:center;padding:0 2px;font-size:9px;font-weight:800;line-height:1.15;display:table-cell}.annual-table tbody .annual-class-week-label{vertical-align:middle;color:#547464;text-align:center;padding:0 3px;font-size:9px;font-weight:800}.annual-table tbody .annual-week-range-label{vertical-align:middle;color:#68746d;text-align:center;padding:0 2px;font-size:8px;font-weight:750;line-height:1.4}.annual-table .annual-week-label span{display:block}.annual-cell{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.annual-cell-label{color:inherit;pointer-events:none;font-size:9px;font-weight:800}.annual-cell-select{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.annual-cell:focus-within{box-shadow:inset 0 0 0 2px #6c9b83}.annual-table tbody td.holiday-cell{text-align:center}.annual-table tbody td.annual-holiday-cell{color:#c74334;background:#fff0ed;font-size:10px;font-weight:800}.annual-table tbody td.annual-holiday-cell span{font-size:10px;font-weight:800;color:#c74334!important}.monthly-table-wrap{max-height:none;overflow:visible}.monthly-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:9px}.monthly-table th,.monthly-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #eef0ed;border-right:1px solid #eef0ed;min-width:0;height:32px;padding:3px 1px}.monthly-table thead th{z-index:2;color:#68746d;background:#f7f9f6;position:sticky;top:0}.monthly-table thead th:first-child,.monthly-table tbody td:first-child{background:#fff;width:32px;position:static}.monthly-table thead th:nth-child(2),.monthly-table tbody th{width:58px;box-shadow:none;text-align:center;text-overflow:ellipsis;background:#fff;padding-left:1px;position:static;overflow:hidden}.monthly-table thead th:first-child,.monthly-table thead th:nth-child(2){text-align:center;background:#f7f9f6;padding-left:1px}.monthly-table thead th>button{width:100%;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.monthly-table thead th strong,.monthly-table thead th small{display:block}.monthly-table thead th small{color:#a0a7a2;margin-top:2px;font-size:8px;font-weight:500}.monthly-table thead th em{color:#c27b60;font-size:7px;font-style:normal;position:absolute;top:2px;right:3px}.monthly-table .holiday{color:#b87861;background:#faf4f1}.monthly-table td>button{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.monthly-table td>button:hover,.monthly-table thead th>button:hover{background:#47745e1a;border-radius:5px}.monthly-table td>button:disabled{opacity:1;color:#c7aaa0;cursor:not-allowed}.monthly-table td>button:disabled:hover{background:0 0}.monthly-table td.present{color:#579075}.monthly-table td.late{color:#c49534;font-weight:800}.monthly-table td.early_leave{color:#8b6fa8;font-weight:800}.monthly-table td.absent{color:#ce7358;font-weight:800}.monthly-table td.outing{color:#4f7f9c;font-weight:800}.monthly-table td.none{color:#c6cbc7}.monthly-empty{color:#929a95;place-items:center;min-height:260px;font-size:11px;display:grid}.advance-page{gap:18px;display:grid}.advance-create-panel{padding-bottom:22px}.advance-create-form{grid-template-columns:1.35fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}.advance-empty{text-align:center;place-content:center;justify-items:center;min-height:280px;display:grid}.advance-empty>span{color:#47745e;background:#edf4ef;border-radius:17px;place-items:center;width:54px;height:54px;margin-bottom:12px;font-size:24px;font-weight:800;display:grid}.advance-empty h3{margin:0 0 7px;font-size:15px}.advance-empty p{color:#929a95;margin:0;font-size:10px}.advance-selector{gap:9px;padding-bottom:3px;display:flex;overflow-x:auto}.advance-selector button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:12px;gap:5px;min-width:180px;padding:13px 15px;display:grid}.advance-selector button strong{font-size:12px}.advance-selector button small{color:#8b948e;font-size:9px}.advance-selector button.active{background:#edf5f0;border-color:#6f9b84;box-shadow:0 0 0 2px #e4efe8}.advance-selector button.active small{color:#47745e}.advance-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.advance-summary-grid article{background:#fff;border:1px solid #e5e9e4;border-radius:15px;gap:8px;padding:19px 20px;display:grid;box-shadow:0 4px 16px #36453b08}.advance-summary-grid span{color:#8c958f;font-size:10px;font-weight:650}.advance-summary-grid strong{font-variant-numeric:tabular-nums;font-size:17px}.advance-summary-grid strong.spent{color:#b66a53}.advance-summary-grid strong.balance{color:#397159}.advance-summary-grid strong.negative{color:#c55246}.expense-form{grid-template-columns:.85fr 1.3fr .85fr 1.25fr auto;align-items:end;gap:11px;display:grid}.expense-list-panel{padding-bottom:13px}.expense-table-wrap{overflow-x:auto}.expense-table{border-collapse:collapse;width:100%;min-width:720px;font-size:11px}.expense-table th,.expense-table td{text-align:left;border-bottom:1px solid #edf0ec;border-right:1px solid #e4e8e3;padding:12px 13px}.expense-table thead th{color:#818b84;background:#f5f7f4;border:0;font-size:9px}.expense-table thead th:not(:last-child){border-right:1px solid #dde3dd}.expense-table th:last-child,.expense-table td:last-child{border-right:0}.expense-table thead th:nth-child(3){text-align:left}.expense-table thead th:first-child{border-radius:9px 0 0 9px}.expense-table thead th:last-child{border-radius:0 9px 9px 0}.expense-table tbody th{font-size:11px}.expense-table tbody td{color:#747e77}.expense-table .expense-amount{color:#35463d;text-align:left;font-variant-numeric:tabular-nums;font-weight:800}.expense-actions{gap:6px;display:flex}.expense-actions button{color:#68746d;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:700}.expense-actions button:hover{background:#f5f7f4}.expense-actions .danger{color:#c76d54;border-color:#f0d9d2}.expense-actions .danger:hover{background:#fff4f0}.expense-empty-row{height:100px;color:#9ba29e!important;text-align:center!important}.period-list{gap:8px;margin-bottom:16px;display:grid}.period-empty{color:#9ba29e;text-align:center;margin:0;padding:30px 0;font-size:12px}.period-row{border:1px solid #edf0eb;border-left:4px solid #dfe5df;border-radius:11px;align-items:center;gap:8px;padding:10px 12px;display:flex}.period-row input,.period-row select{color:#3f6754;background:#fafbf9;border:1px solid #dfe5df;border-radius:8px;outline:none;padding:8px 10px;font-size:12px}.period-row input:focus,.period-row select:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.period-category{flex:none;width:108px}.period-name{flex:1;min-width:0}.period-row span{color:#9ba29e;font-size:11px}.period-row.morning{border-left-color:#e0a24a}.period-row.class{border-left-color:#6c9b83}.period-row.break{border-left-color:#91b4c9}.period-row.lunch{border-left-color:#c98fae}.period-delete{color:#c76d54;cursor:pointer;background:#fff7f4;border:1px solid #f0d9d2;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:700}.period-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.subject-section{margin-bottom:20px}.subject-section h4{color:#68746d;margin:0 0 10px;font-size:12px;font-weight:800}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.subject-row{color:#3f6754;border:1px solid #edf0eb;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.subject-specialized-toggle{color:#89928c;cursor:pointer;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.subject-specialized-toggle input{accent-color:#e0a24a;cursor:pointer;width:14px;height:14px}.curriculum-hours-section{background:#f8fbf8;border:1px solid #dbe8de;border-radius:14px;gap:14px;margin:0 0 26px;padding:18px;display:grid}.backup-panel{gap:16px;display:grid}.backup-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.backup-summary-grid article{background:#fbfdfb;border:1px solid #e1e9e2;border-radius:10px;gap:5px;padding:15px;display:grid}.backup-summary-grid span,.backup-summary-grid small{overflow-wrap:anywhere;color:#7a897f;min-width:0;font-size:10px}.backup-summary-grid strong{color:#416a52;font-size:15px}.backup-guide{background:#fffdf6;border:1px solid #e3e7de;border-radius:10px;gap:6px;padding:14px;display:grid}.backup-guide strong{color:#80693d;font-size:12px}.backup-guide p{color:#786f5d;margin:0;font-size:11px;line-height:1.6}.backup-list{gap:8px;display:grid}.backup-list>p{color:#869187;text-align:center;margin:0;padding:18px;font-size:11px}.backup-list article{background:#fff;border:1px solid #e1e9e2;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.backup-list article div{gap:3px;min-width:0;display:grid}.backup-list strong{color:#465f50;font-size:11px}.backup-list span{color:#89948c;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.backup-list small{color:#74847a;white-space:nowrap;font-size:10px}.curriculum-hours-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.curriculum-hours-head h4{color:#38654f;margin:0 0 5px;font-size:14px}.curriculum-hours-head p{color:#77847c;margin:0;font-size:11px;line-height:1.5}.curriculum-hours-head>span{color:#47745e;background:#e5f0e8;border-radius:7px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.curriculum-group-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.curriculum-group{background:#fff;border:1px solid #e1eae2;border-radius:11px;overflow:hidden}.curriculum-group-head{background:#f3f7f3;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.curriculum-group-head h5{color:#52705e;margin:0;font-size:11px}.curriculum-semester-total{color:#839087;white-space:nowrap;justify-content:flex-end;align-items:center;gap:7px;font-size:9px;display:flex}.curriculum-semester-total b{font-weight:700}.curriculum-semester-total strong{color:#3f7058;font-variant-numeric:tabular-nums;font-size:10px}.curriculum-subject-list{display:grid}.curriculum-subject-row{color:#606e65;border-top:1px solid #f0f2ef;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:700;display:flex}.curriculum-semester-inputs{justify-content:flex-end;align-items:center;gap:6px;display:flex}.curriculum-semester-inputs label{color:#89938d;align-items:center;gap:3px;font-size:9px;font-weight:700;display:flex}.curriculum-semester-inputs input{color:#3f6754;width:49px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;background:#fbfcfa;border:1px solid #dbe4dc;border-radius:7px;outline:none;padding:6px 5px;font-size:11px;font-weight:800}.curriculum-semester-inputs input:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #eaf3ec}.curriculum-annual-hours{color:#8a958e;text-align:right;min-width:50px;font-size:9px;font-weight:700}.curriculum-annual-hours strong{color:#4d705c;font-variant-numeric:tabular-nums;font-size:11px}.creative-activity-hours{grid-column:1/-1}.curriculum-total-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.curriculum-total-summary>div{background:#fff;border:1px solid #e1eae2;border-radius:10px;gap:5px;padding:11px 12px;display:grid}.curriculum-total-summary span{color:#88938c;font-size:9px;font-weight:700}.curriculum-total-summary strong{color:#4a6958;font-variant-numeric:tabular-nums;font-size:11px}.curriculum-total-summary b{color:#587462;font-variant-numeric:tabular-nums;font-size:13px}.curriculum-total-summary .curriculum-grand-total{background:#edf6ef;border-color:#bad3c0}.curriculum-total-summary .curriculum-grand-total strong{color:#2f6548}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.choice-grid button{text-align:left;cursor:pointer;background:#fafbf9;border:1px solid #dfe5df;border-radius:12px;gap:5px;padding:17px 14px;display:grid}.choice-grid strong{font-size:13px}.choice-grid span{color:#8e9791;font-size:9px}.choice-grid button.active{background:#edf5f0;border-color:#65917a;box-shadow:0 0 0 2px #e5f0e9}.choice-grid button.active.holiday-choice{background:#fff3ee;border-color:#d5987e;box-shadow:0 0 0 2px #fae8e0}.attendance-choice-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px;display:grid}.attendance-choice-grid button{color:#69746e;cursor:pointer;background:#fafbf9;border:1px solid #dfe5df;border-radius:10px;padding:12px;font-size:11px;font-weight:750}.attendance-choice-grid button:last-child{grid-column:1/-1}.attendance-choice-grid button.active{color:#47745e;background:#edf5f0;border-color:#7a9e8b;box-shadow:0 0 0 2px #e5f0e9}.attendance-choice-grid button.active.late{color:#a77b22;background:#fff8e8;border-color:#dbbc73}.attendance-choice-grid button.active.early_leave{color:#80649e;background:#f5f0fa;border-color:#b9a4cf}.attendance-choice-grid button.active.absent{color:#be654b;background:#fff1ec;border-color:#e3a28c}.attendance-choice-grid button.active.outing{color:#47738d;background:#eef7fb;border-color:#91b4c9}.attendance-choice-grid button.active.none{color:#7d8580;background:#f3f4f2;border-color:#cfd4d0}.attendance-detail-section{gap:9px;margin-bottom:15px;display:grid}.attendance-detail-section>strong{color:#68746d;font-size:11px}.detail-choice-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.detail-choice-grid button{color:#727c76;cursor:pointer;background:#fafbf9;border:1px solid #dfe5df;border-radius:9px;padding:9px 5px;font-size:10px;font-weight:700}.detail-choice-grid button.active{color:#47745e;background:#edf5f0;border-color:#709982;box-shadow:0 0 0 2px #e5f0e9}.attendance-reason{margin-bottom:18px}.attendance-reason textarea{resize:vertical;width:100%;min-height:82px;font:inherit;background:#fafbf9;border:1px solid #dfe5df;border-radius:10px;outline:none;padding:11px 12px;font-size:11px;line-height:1.5}.attendance-reason textarea:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.empty-state{text-align:center;place-content:center;min-height:330px;display:grid}.empty-state>span{color:#4f7b66;background:#edf4ef;border-radius:17px;place-items:center;width:54px;height:54px;margin:0 auto 14px;font-size:28px;display:grid}.empty-state h3{margin:0 0 8px;font-size:16px}.empty-state p{color:#929a95;margin:0;font-size:11px}.empty-state .secondary-button{margin-top:16px}.toast{z-index:20;color:#fff;background:#2f493d;border-radius:12px;padding:12px 18px;font-size:12px;animation:.25s rise;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #14281e33}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c272259;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(540px,100%);max-height:min(700px,88vh);padding:24px;animation:.2s modal-in;overflow:auto;box-shadow:0 25px 70px #1a2a2238}.small-modal{width:min(440px,100%)}.bulk-modal{width:min(640px,100%)}.modal-head{justify-content:space-between;gap:18px;margin-bottom:20px;display:flex}.modal-head h3{margin:0 0 6px;font-size:19px}.modal-head p{color:#8e9791;margin:0;font-size:11px}.modal-head>button{color:#6e7972;cursor:pointer;background:#f3f5f2;border:0;border-radius:50%;width:32px;height:32px;font-size:21px}.student-list{gap:7px;display:grid}.student-row{border:1px solid #edf0eb;border-radius:11px;grid-template-columns:30px 1fr 92px;align-items:center;gap:10px;padding:10px 12px;display:grid}.student-row>span{color:#919a94;font-size:11px}.student-row strong{font-size:13px}.student-row select{color:#3f6754;background:#f8faf7;border:1px solid #dfe5df;border-radius:8px;outline:none;padding:7px 8px;font-size:11px}.daily-attendance-date{margin-bottom:16px}.daily-attendance-row{margin-bottom:7px}.daily-attendance-detail{grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px 0;display:grid}.daily-attendance-detail select,.daily-attendance-detail input{color:#3f6754;background:#fafbf9;border:1px solid #dfe5df;border-radius:8px;outline:none;padding:7px 8px;font-size:11px}.daily-attendance-holiday{color:#9ba29e;text-align:center;place-items:center;min-height:200px;font-size:12px;display:grid}.modal-input{border:1px solid #dfe5df;border-radius:11px;outline:none;width:100%;margin-bottom:12px;padding:13px 14px}.modal-input:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.primary-button{color:#fff;cursor:pointer;background:#47745e;border:0;border-radius:11px;width:100%;padding:12px;font-weight:750}.bulk-guide{background:#f5f8f4;border-radius:11px;gap:6px;margin-bottom:12px;padding:12px 14px;display:grid}.bulk-guide strong{font-size:11px}.bulk-guide code{color:#426c57;font-size:12px}.bulk-guide small{color:#8d9690;font-size:10px}.bulk-textarea{resize:vertical;border:1px solid #dfe5df;border-radius:12px;outline:none;width:100%;min-height:230px;padding:13px 14px;font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace}.bulk-textarea:focus{border-color:#6c9b83;box-shadow:0 0 0 3px #edf4ef}.bulk-footer{align-items:center;gap:12px;margin-top:13px;display:flex}.bulk-footer>span{color:#6e7972;margin-left:auto;font-size:11px;font-weight:700}.file-button{color:#68746d;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:700}.file-button input{display:none}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (max-width:1050px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding:24px 12px}.brand{padding:0 8px 32px}.brand strong,.nav-item:not(.active){font-size:0}.brand-mark{flex:none}.nav-item{justify-content:center;padding:13px;font-size:0}.nav-item span{font-size:20px}.side-card{display:none}.settings{text-align:center}header{padding:0 26px}.content{padding:34px 28px}.school-year-info{display:none}.quick-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.app-shell{display:block}.sidebar{display:none}.app-shell.mobile-menu-open .sidebar{z-index:20;width:min(290px,86vw);height:100dvh;padding:28px 20px 24px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 42px #20302833}.app-shell.mobile-menu-open .sidebar-toggle{width:32px;height:32px;font-size:20px;top:25px;right:16px}.app-shell.mobile-menu-open .brand{padding-bottom:36px}.app-shell.mobile-menu-open .brand strong,.app-shell.mobile-menu-open .nav-item:not(.active),.app-shell.mobile-menu-open .settings span{font-size:inherit}.app-shell.mobile-menu-open .nav-item{font-size:inherit;justify-content:flex-start;padding:13px 14px}.app-shell.mobile-menu-open .nav-item span{font-size:inherit}.app-shell.mobile-menu-open .side-card{display:block}.app-shell.mobile-menu-open .settings{text-align:left}.mobile-menu-backdrop{z-index:19;background:#1f2b2459;border:0;display:block;position:fixed;inset:0}header{flex-wrap:wrap;gap:14px;height:auto;min-height:70px;padding:12px 18px}.mobile-brand{padding:0;font-size:20px;display:flex}.mobile-menu-toggle{color:#3f6f58;cursor:pointer;background:#fff;border:1px solid #dfe5df;border-radius:10px;place-items:center;width:38px;height:38px;font-size:21px;display:grid}.mobile-brand .brand-mark{width:34px;height:34px}.global-search{order:3;width:100%}.school-year-picker{margin-left:auto}.profile div,.profile b{display:none}.header-actions{gap:6px}.content{padding:25px 17px 28px}.welcome{align-items:start;gap:18px}.welcome h1{font-size:24px}.welcome h2{line-height:1.6}.today-button{display:none}.quick-grid{grid-template-columns:1fr 1fr;gap:9px}.quick-card{padding:14px 12px}.quick-card small,.quick-card b{display:none}.quick-icon{width:36px;height:36px}.dashboard-grid,.management-grid{grid-template-columns:1fr}.class-tabs{width:100%}.class-tabs button{flex:1;min-width:0}.monthly-head{flex-direction:column;align-items:flex-start}.advance-create-form,.expense-form{grid-template-columns:1fr 1fr}.advance-create-form .primary-button,.expense-form .primary-button{grid-column:1/-1;width:100%}.student-note-form{grid-template-columns:1fr}.student-note-form .primary-button{width:100%}.backup-summary-grid,.backup-list article,.student-dashboard-picker,.unit-analysis-grid{grid-template-columns:1fr}.unit-question-analysis>div{grid-template-columns:58px 74px minmax(0,1fr)}.advance-summary-grid{grid-template-columns:1fr 1fr}.attendance-summary{flex-wrap:wrap}.attendance-summary small{width:100%;margin-left:0}.monthly-table{font-size:8px}.monthly-table th,.monthly-table td{height:29px;padding:2px 0}.monthly-table thead th:first-child,.monthly-table tbody td:first-child{width:25px}.monthly-table thead th:nth-child(2),.monthly-table tbody th{width:42px;padding-left:0}.monthly-table thead th small{font-size:7px}.monthly-table thead th em{font-size:6px;right:1px}.page-heading{align-items:start;gap:16px}.panel{padding:20px 17px}.school-info-panel{min-height:0}.school-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.school-info-grid>div{padding:15px}.school-info-grid>div:first-child{grid-column:1/-1}.school-info-grid strong{word-break:keep-all;font-size:14px}.school-lookup-info{grid-template-columns:1fr;gap:9px}.school-lookup-info>div{padding:15px}.school-lookup-info dd{font-size:13px}.academic-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.academic-summary-stats>div{padding:15px}.academic-summary-stats strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.academic-summary-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.academic-summary-dates>div{padding:15px}.academic-summary-dates dd{font-size:13px}.calendar-toolbar{flex-direction:column;align-items:stretch;gap:12px;padding:16px 17px}.calendar-navigation{justify-content:space-between}.calendar-navigation h3{flex:1;min-width:0;font-size:16px}.academic-actions{grid-template-columns:1fr;width:100%;display:grid}.academic-actions .primary-button.fit,.academic-actions .calendar-mode{width:100%}.academic-actions .calendar-mode button{flex:1}.academic-calendar-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.academic-calendar-scroll .calendar-weekday-row,.academic-calendar-scroll .academic-grid{min-width:620px}.academic-calendar .calendar-loading{padding:12px 17px}.annual-hours-panel{margin:14px 17px 22px}.annual-hours-term-tables{grid-template-columns:1fr}.annual-hours-table-horizontal th,.annual-hours-table-horizontal td{letter-spacing:-.4px;padding:5px 1px;font-size:7px}.annual-hours-table-horizontal thead th:first-child,.annual-hours-table-horizontal tbody th{width:28px;min-width:28px;max-width:28px}.annual-hours-table-combined thead th:first-child,.annual-hours-table-combined .annual-term-label,.annual-hours-table-combined thead th:nth-child(2),.annual-hours-table-combined .annual-metric-label{width:25px;min-width:25px;max-width:25px}.curriculum-difference{padding:2px 1px;font-size:7px}.curriculum-hours-section{padding:15px}.curriculum-group-list{grid-template-columns:1fr}.creative-activity-hours{grid-column:auto}.curriculum-total-summary{grid-template-columns:1fr}.curriculum-group-head{flex-direction:column;align-items:flex-start}.curriculum-semester-total{justify-content:flex-start}.curriculum-subject-row{flex-direction:column;align-items:flex-start}.curriculum-semester-inputs{justify-content:space-between;width:100%}.schedule-list article,.today-schedule-item{grid-template-columns:54px 6px minmax(0,1fr) 20px;gap:9px}.next-up small{display:none}.next-up{grid-template-columns:auto auto 1fr}.class-notes{grid-template-columns:1fr}.notice-panel article strong,.notice-item strong{max-width:210px}.notice-board-item{grid-template-columns:auto minmax(0,1fr);padding:15px 16px}.notice-board-item time{display:none}.publisher-plan-create{grid-template-columns:1fr 1fr}.publisher-plan-create input,.publisher-plan-create button{grid-column:1/-1}.publisher-plan-csv-tools{flex-direction:column;align-items:stretch;gap:12px}.publisher-plan-csv-tools>div:last-child{grid-template-columns:1fr 1fr;display:grid}.publisher-plan-csv-tools .secondary-button,.publisher-plan-csv-tools .file-button{justify-content:center}.publisher-plan-delete-tools{flex-direction:column;align-items:stretch;gap:12px}.publisher-plan-delete-tools>div:last-child{min-width:0}.class-curriculum-source-list article{flex-direction:column;align-items:stretch}.class-curriculum-source-list .secondary-button{width:100%}.class-curriculum-plan-detail .panel-head{flex-direction:column;align-items:stretch}.class-curriculum-plan-detail-actions{grid-template-columns:1fr 1fr;display:grid}.class-curriculum-plan-detail-actions button{width:100%}.class-curriculum-plan-move{grid-template-columns:1fr 1fr}.class-curriculum-plan-move>span,.class-curriculum-plan-move select{grid-column:1/-1}.class-curriculum-plan-items{overflow-x:auto}.class-curriculum-plan-items>div{min-width:720px}.publisher-plan-items{overflow-x:auto}.publisher-plan-items>div{min-width:540px}.roster-head{display:none}.roster-row{grid-template-columns:35px 1fr auto;gap:8px;padding:13px 4px}.contact-cell{grid-column:2;font-size:10px}.gender-badge,.roster-row select{grid-column:2}.row-actions{grid-area:1/3/span 4}}.inactivity-warning-modal{text-align:center}.inactivity-countdown-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;align-items:center;gap:6px;margin:20px 0;padding:20px;display:flex}.inactivity-timer{color:#ef4444;letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.inactivity-desc{color:#64748b;margin:0;font-size:13px}.annual-plan-unit-actions-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 16px;display:flex}.annual-plan-unit-actions-bar>span{color:#475569;font-size:13px;font-weight:700}.unit-create-assessment-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);border:none;border-radius:20px;padding:6px 12px;font-size:12px;transition:transform .15s,box-shadow .15s}.unit-create-assessment-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.sub-unit-tag{color:#64748b;font-weight:400}.today-lesson-card{cursor:pointer;transition:all .15s}.today-lesson-card:hover{transform:translateY(-1px);background:#f0f7f2!important;border-color:#2b7a4b!important}.lesson-detail-modal .modal-head{margin-bottom:14px}.lesson-detail-grid{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.lesson-detail-tags{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.lesson-detail-tag{color:#2d6643;background:#e8f3ec;border-radius:12px;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.lesson-detail-item{background:#f8faf8;border:1px solid #e2ebe4;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.lesson-detail-item label{color:#5a7364;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.lesson-detail-item p{color:#1e2923;word-break:break-word;margin:0;font-size:13px;line-height:1.45}.notice-full-list{gap:12px;display:grid}.notice-card{cursor:pointer;background:#fff;border:1px solid #e4ece5;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;transition:all .15s;display:flex}.notice-card:hover{border-color:#2b7a4b;transform:translateY(-1px);box-shadow:0 4px 12px #2b7a4b14}.notice-card.important{background:#fffdfc;border-left:4px solid #d46f51}.notice-card-header{align-items:center;gap:8px;display:flex}.notice-dept{color:#5a7364;background:#f0f5f2;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.notice-card-header time{color:#83948a;margin-left:auto;font-size:12px}.notice-card-title{color:#1e2923;margin:0;font-size:16px;font-weight:700;line-height:1.35}.notice-card-excerpt{color:#58695f;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.notice-card-footer{color:#7b8c82;border-top:1px dashed #edf3ee;justify-content:space-between;align-items:center;padding-top:6px;font-size:12px;display:flex}.notice-detail-link{color:#2b7a4b;font-weight:600}.today-lessons-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.lesson-card{cursor:pointer;background:#fff;border:1px solid #e4ece5;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;transition:all .15s;display:flex}.lesson-card:hover{border-color:#2b7a4b;transform:translateY(-1px);box-shadow:0 4px 12px #2b7a4b14}.lesson-card-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-period-badge{color:#2d6643;background:#e8f3ec;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800}.lesson-card-head time{color:#718279;font-size:11px}.lesson-subject-badge{color:#3b5747;background:#f0f5f2;border-radius:6px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700}.lesson-type-badge{color:#644b93;background:#f1edfa;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.lesson-card-topic{color:#1e2923;margin:2px 0 0;font-size:15px;font-weight:700;line-height:1.35}.lesson-card-unit{color:#5a6e62;font-size:12px}.lesson-card-pages{color:#3b7454;background:#f7faf8;border-radius:6px;padding:6px 10px;font-size:12px}.lesson-card-standard{color:#66786c;font-size:11px;line-height:1.35}.lesson-tools-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.tool-panel .tool-body{flex-direction:column;gap:14px;padding-top:10px;display:flex}.random-display{background:#f7faf8;border:2px dashed #d4e3d9;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:100px;padding:24px;display:flex}.random-display.picking{background:#edf6f0;border-color:#2b7a4b}.student-num{color:#437358;font-size:14px;font-weight:700}.student-name{color:#1e2923;font-size:26px;font-weight:800}.placeholder-text{color:#7d8f84;font-size:13px}.random-pick-btn{width:100%;padding:12px;font-size:15px}.group-actions{gap:6px;display:flex}.generated-groups-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.group-box{background:#f8faf8;border:1px solid #e2ebe4;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.group-box strong{color:#2d6643;font-size:12px}.group-members{color:#2f3d35;flex-direction:column;gap:3px;font-size:12px;display:flex}.timer-display{background:#f7faf8;border:1px solid #e2ebe4;border-radius:12px;justify-content:center;align-items:center;padding:16px;display:flex}.timer-display span{color:#254030;letter-spacing:2px;font-family:monospace;font-size:42px;font-weight:800}.timer-presets{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.materials-filter-bar{background:#f7faf8;border:1px solid #e2ebe4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;padding:16px 18px;display:flex}.materials-filter-bar .filter-item{color:#3b5245;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.materials-filter-bar select{color:#1e2923;background:#fff;border:1px solid #cce0d2;border-radius:8px;outline:none;padding:8px 12px;font-size:13px}.materials-filter-bar select:focus{border-color:#2b7a4b;box-shadow:0 0 0 3px #2b7a4b1a}.materials-unit-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}.unit-card{background:#fff;border:1px solid #e0eae2;border-radius:14px;transition:border-color .15s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.unit-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8faf8;border-bottom:1px solid #edf3ee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.unit-card-header:hover{background:#f2f7f4}.unit-title-group{align-items:center;gap:10px;display:flex}.unit-badge{color:#2b7a4b;background:#e8f3ec;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.unit-title{color:#1e2923;margin:0;font-size:16px;font-weight:750}.unit-toggle-btn{color:#2b7a4b;cursor:pointer;background:#eaf2ed;border:0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.unit-card-body{background:#fff;flex-direction:column;gap:18px;padding:18px 22px;display:flex}.sub-unit-group{flex-direction:column;gap:8px;display:flex}.sub-unit-title{color:#2d6643;border-bottom:1px dashed #e2ebe4;margin:0;padding-bottom:6px;font-size:14px;font-weight:700}.lesson-topic-list{gap:6px;margin:0;padding-left:0;list-style:none;display:grid}.lesson-topic-list li{background:#f9fbf9;border:1px solid #edf3ee;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.lesson-topic-list li:hover{background:#f1f7f3;border-color:#d4e3d9}.lesson-num{color:#557061;white-space:nowrap;background:#e4eee7;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:800}.lesson-topic-list li{cursor:pointer}.lesson-name{color:#233129;font-weight:600}.lesson-open-icon{color:#7b8c82;margin-left:auto;font-size:13px;font-weight:700;transition:color .15s,transform .15s}.lesson-topic-list li:hover .lesson-open-icon{color:#2b7a4b;transform:translate(2px,-2px)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
