@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.col-1{grid-column:1}.row-1{grid-row:1}.row-2{grid-row:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--navy:#002b6b;--blue:#005bd3;--active:#0b7cff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--bg:#f5f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Roboto,Arial,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:5;scrollbar-width:thin;scrollbar-color:#7dd3fc transparent;background:linear-gradient(#002b6b 0%,#004aad 100%);flex-direction:column;width:260px;padding:20px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{border-bottom:1px solid #ffffff24;align-items:center;gap:12px;margin-bottom:8px;padding:2px 10px 23px;display:flex}.brand-mark{width:38px;height:38px;color:var(--navy);background:#fff;border-radius:11px;place-items:center;font-size:20px;font-weight:900;display:grid}.brand strong{letter-spacing:-.3px;font-size:17px;display:block}.brand span,.profile span{color:#d6e6ff;margin-top:3px;font-size:12px;display:block}nav{gap:5px;display:grid}.nav-section{gap:3px;display:grid}.nav-section>.nav-item{width:100%}.nav-item{color:#fff;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;min-height:48px;padding:12px 14px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.nav-item span{text-align:center;width:18px;font-size:17px}.nav-item b{font-weight:inherit;flex:1}.nav-item .nav-caret{color:#d7e7ff;text-align:right;width:16px;font-size:12px;font-style:normal}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{background:var(--active);color:#fff;box-shadow:0 4px 12px #0066ff59}.sidebar-tree{border-left:1px solid #3a4966;gap:3px;margin:-1px 4px 5px 13px;padding:7px 0 7px 13px;display:grid}.sidebar-tree-root{color:#dce7fb;align-items:center;gap:7px;padding:4px 3px 7px;font-size:9px;display:flex}.sidebar-tree-root span{color:#8fb3f2}.sidebar-tree-branch>button{color:#aebbd0;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:12px 1fr auto;align-items:center;gap:5px;width:100%;padding:6px 7px;font-size:9px;display:grid}.sidebar-tree-branch>button:hover,.sidebar-tree-branch>button.expanded{color:#fff;background:#263652}.sidebar-tree-branch>button span{color:#83a9ec}.sidebar-tree-branch>button small{color:#7f90aa;font-size:7px}.sidebar-tree-children{border-left:1px dashed #3e4d68;gap:1px;margin:2px 0 5px 11px;padding-left:7px;display:grid}.sidebar-tree-children button{color:#8f9db3;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:5px 6px;font-size:8px;display:flex}.sidebar-tree-children button:hover{color:#fff;background:#263652}.sidebar-tree-children button span{color:#779ee0;text-align:center;width:11px}.sync-card{text-align:center;background:#ffffff0f;border:1px solid #ffffff59;border-radius:10px;margin-top:auto;padding:16px}.sync-icon{color:#fff;background:#ffffff1c;border-radius:10px;place-items:center;width:38px;height:38px;margin:0 auto 9px;font-size:20px;display:grid}.sync-card p{color:#d6e6ff;margin:7px 0 11px;font-size:11px;line-height:1.7}.sync-card p b{color:#fff;font-weight:600}.sync-card button{color:#c9d7ed;background:0 0;border:1px solid #47618e;border-radius:7px;width:100%;padding:7px;font-size:11px}.profile{border-top:1px solid #ffffff24;align-items:center;gap:9px;margin-top:17px;padding:16px 5px 0;display:flex}.avatar{color:#305aa9;background:#dbe7ff;border-radius:50%;place-items:center;width:33px;height:33px;font-size:11px;font-weight:700;display:grid}.profile strong{font-size:12px;display:block}.profile button{color:#fff;background:#ffffff12;border:0;border-radius:7px;margin-left:auto;padding:6px 8px}.content{width:calc(100% - 260px);max-width:1450px;margin-left:260px;padding:32px 38px 48px}.topbar{justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:1.1px;color:#8490a2;font-size:10px;font-weight:700}h1{letter-spacing:-.8px;margin:7px 0 4px;font-size:27px}.topbar p,.panel-heading p{color:var(--muted);margin:0;font-size:12px}.header-actions{align-items:center;gap:12px;display:flex}.icon-button{border:1px solid var(--line);color:#546174;background:#fff;border-radius:9px;width:39px;height:39px;font-size:19px;position:relative}.icon-button i{box-sizing:content-box;background:#ef4444;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.primary,.save-button{background:var(--blue);color:#fff;border:0;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:650;box-shadow:0 5px 14px #2563eb2b}.primary span{margin-right:5px;font-size:16px}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 3px 14px #1f293708}.metric-icon{border-radius:10px;flex:0 0 39px;place-items:center;height:39px;font-size:17px;font-weight:700;display:grid}.metric-icon.blue{color:#3269da;background:#eaf1ff}.metric-icon.green{color:#139a69;background:#e6f8f1}.metric-icon.red{color:#e24f57;background:#ffedef}.metric-icon.violet{color:#7d5dde;background:#f0ebff}.grid{grid-template-columns:1.16fr .84fr;align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 3px 14px #1f293708}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 21px 16px;display:flex}.panel-heading h2{margin:0 0 4px;font-size:15px}.panel-heading button{color:#3168d6;background:0 0;border:0;font-size:10px;font-weight:650}.lesson{border-bottom:1px solid #edf0f5;align-items:stretch;gap:13px;padding:19px 20px;display:flex}.lesson:last-child{border:0}.lesson.current{background:#fbfdff}.time{width:57px;padding-top:2px}.time strong,.time span{display:block}.time strong{font-size:12px}.time span{color:#94a0b1;margin-top:6px;font-size:9px}.line{background:#d7dce5;border-radius:3px;width:3px}.line.green{background:#15b67b}.line.amber{background:#f1b544}.lesson-main{flex:1}.lesson-title{align-items:center;gap:9px;display:flex}.lesson h3{margin:0 0 6px;font-size:13px}.lesson p{color:#778397;margin:0 0 6px;font-size:10px}.lesson p span{padding:0 5px}.lesson small{color:#a1aab8;font-size:9px}.pill,.live-dot{border-radius:20px;padding:4px 8px;font-size:8px;font-weight:700}.pill.green,.live-dot{color:#09865b;background:#e5f8ef}.pill.amber{color:#aa7415;background:#fff4dc}.outline{color:#2860ce;background:#f5f8ff;border:1px solid #ccdaf6;border-radius:7px;align-self:center;padding:7px 11px;font-size:9px;font-weight:650}.live-dot:before{content:"";background:#16a46e;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.summary{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:13px 18px;display:flex}.summary span{color:#707c8d;font-size:9px}.summary b{color:#344054;margin-left:2px}.dot{border-radius:50%;width:6px;height:6px;margin-right:3px;display:inline-block}.green-dot{background:#19ad79}.amber-dot{background:#ecae39}.red-dot{background:#e85c63}.gray-dot{background:#a8b0bc}.student-list{padding:4px 18px}.student{border-bottom:1px solid #eff2f6;align-items:center;gap:10px;padding:10px 0;display:flex}.student-avatar{color:#57667c;background:#eef2f8;border-radius:50%;place-items:center;width:29px;height:29px;font-size:9px;font-weight:750;display:grid}.student-name{flex:1}.student-name strong{font-size:10px;display:block}.student-name span{color:#9aa4b3;font-size:8px}.status-select{border:1px solid #0000;border-radius:7px;outline:none;padding:5px 7px;font-size:9px;font-weight:650}.status-select.present{color:#0d8b60;background:#e7f8f1}.status-select.late{color:#a87112;background:#fff4db}.status-select.absent{color:#d84850;background:#ffeaec}.status-select.excused{color:#657083;background:#eef1f5}.save-button{width:calc(100% - 36px);margin:13px 18px 18px;padding:10px;display:block}.toast{z-index:20;color:#fff;background:#16233d;border-radius:9px;padding:12px 17px;font-size:12px;animation:.25s ease-out slide;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 30px #0f172a3d}.sync-card-real .sync-source{color:#90a2be;margin-top:9px;font-size:9px;display:block}.source-badge{color:#087e57;background:#e8f8f1;border:1px solid #c9eddd;border-radius:20px;align-items:center;gap:8px;padding:8px 13px;font-size:10px;font-weight:700;display:flex}.source-badge i{background:#12a873;border-radius:50%;width:7px;height:7px}.source-badge.offline{color:#956713;background:#fff5df;border-color:#f0ddb4}.source-badge.offline i{background:#d89a29}.filter-panel{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:120px 140px 170px minmax(210px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px;padding:15px 18px;display:grid;box-shadow:0 3px 14px #1f293708}.filter-panel label{color:#697589;text-transform:uppercase;letter-spacing:.35px;gap:6px;font-size:9px;font-weight:700;display:grid}.filter-panel select{color:#303b4d;background:#fff;border:1px solid #dce2eb;border-radius:8px;outline:none;min-width:0;height:36px;padding:0 10px;font-size:11px}.filter-panel select:focus{border-color:#6994ea;box-shadow:0 0 0 3px #2563eb14}.filter-panel .check-filter{text-transform:none;letter-spacing:0;white-space:nowrap;align-items:center;gap:7px;height:36px;display:flex}.check-filter input{accent-color:var(--blue)}.timetable-data-panel{margin-top:2px}.data-fresh{color:#0c8c61;background:#e8f8f1;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700}.table-wrap{overflow:auto}.schedule-table{border-collapse:collapse;width:100%;min-width:980px}.schedule-table th{border-bottom:1px solid var(--line);color:#788497;text-align:left;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap;background:#f8fafc;padding:12px 13px;font-size:8px}.schedule-table td{vertical-align:top;color:#465267;border-bottom:1px solid #edf0f5;padding:12px 13px;font-size:10px}.schedule-table tbody tr:hover{background:#fbfdff}.schedule-table td strong,.schedule-table td b{color:#273247;max-width:260px;font-size:10px;font-weight:700;display:block}.schedule-table td small{color:#8d98a8;max-width:260px;margin-top:4px;font-size:8px;display:block}.row-status{border-radius:15px;max-width:155px;padding:5px 8px;font-size:8px;font-weight:700;line-height:1.35;display:inline-block}.row-status.published{color:#087e57;background:#e6f7ef}.row-status.draft{color:#9a6912;background:#fff3d9}.empty-result{text-align:center;color:#8c97a8!important;padding:40px!important}.pagination{color:#7a8698;background:#fbfcfe;justify-content:space-between;align-items:center;padding:13px 18px;font-size:9px;display:flex}.pagination div{gap:7px;display:flex}.pagination button{color:#40506a;background:#fff;border:1px solid #dce2eb;border-radius:7px;padding:6px 10px;font-size:9px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.login-link{text-decoration:none}.workflow-strip{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:15px 18px;display:flex;overflow:auto;box-shadow:0 3px 14px #1f293708}.workflow-strip>i{color:#b0bac8;font-style:normal}.workflow-step{align-items:center;gap:9px;min-width:145px;display:flex}.workflow-step>b{color:#7b8798;background:#edf0f5;border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;display:grid}.workflow-step.current>b{color:#2563eb;background:#eaf1ff;box-shadow:0 0 0 4px #eef4ff}.workflow-step.done>b{color:#0b8b61;background:#e5f8ef}.workflow-step span,.workflow-step strong,.workflow-step small{display:block}.workflow-step strong{color:#344054;font-size:10px}.workflow-step small{color:#929cac;margin-top:3px;font-size:8px}.notebook-metrics{margin-bottom:14px}.upload-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.upload-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px;box-shadow:0 3px 14px #1f293708}.upload-card-head{align-items:flex-start;gap:12px;display:flex}.upload-card-head>div{flex:1}.upload-card h2{margin:1px 0 5px;font-size:14px}.upload-card p{color:#8590a1;margin:0;font-size:9px}.upload-icon{color:#108b62;background:#e7f7ef;border-radius:10px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:10px;font-weight:850;display:grid}.upload-icon.attendance{color:#3269da;background:#eaf1ff}.required-pill,.soft-pill{white-space:nowrap;color:#a76e0b;background:#fff3da;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:700}.soft-pill{color:#4168ad;background:#edf3ff}.upload-card ul{grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0;padding:0;list-style:none;display:grid}.upload-card li{color:#677386;background:#f8fafc;border:1px solid #edf0f4;border-radius:7px;padding:8px;font-size:8px}.upload-card li:before{content:"✓";color:#0ba572;margin-right:5px;font-weight:800}.upload-action,.secondary-action{border-radius:8px;padding:9px 13px;font-size:10px;font-weight:700}.upload-action:disabled,.primary:disabled{opacity:.5;cursor:not-allowed}.secondary-action{color:#42516a;background:#fff;border:1px solid #d7deea}.notebook-layout{grid-template-columns:310px 1fr;align-items:start;gap:14px;margin-bottom:14px;display:grid}.notebook-layout-single{grid-template-columns:1fr}.class-tree-panel{min-height:280px}.tree{padding:12px 16px 17px}.tree-root{color:#344054;padding:8px 5px;font-size:10px;font-weight:750}.tree-class{color:#536176;border-radius:7px;grid-template-columns:16px 1fr auto;align-items:center;gap:5px;padding:8px 7px 8px 18px;font-size:9px;display:grid}.tree-class:hover{background:#f5f8fe}.tree-class small{color:#9ba5b4;font-size:7px}.import-table{min-width:650px}.alerts-panel{grid-template-columns:1fr 1fr;gap:12px;display:grid}.alerts-panel>div{background:#f7faff;border:1px solid #dce5f3;border-radius:10px;align-items:flex-start;gap:10px;padding:13px 15px;display:flex}.alerts-panel>div>span{color:#3264c8;background:#e7efff;border-radius:8px;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.alerts-panel p{color:#697589;margin:1px 0;font-size:9px;line-height:1.55}.alerts-panel strong{color:#35445b;margin-bottom:2px;display:block}.modal-backdrop{z-index:50;background:#1118278f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.import-modal{background:#fff;border-radius:15px;flex-direction:column;width:min(1100px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 25px 70px #0f172a66}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:19px 22px;display:flex}.modal-head h2{margin:5px 0 3px;font-size:16px}.modal-head p{color:#8590a1;margin:0;font-size:9px}.modal-head button{color:#5f6b7d;background:#f0f3f7;border:0;border-radius:8px;width:30px;height:30px;font-size:20px}.meta-form{border-bottom:1px solid var(--line);background:#f8fafc;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 22px;display:grid}.meta-form label{color:#697589;text-transform:uppercase;gap:5px;font-size:8px;font-weight:700;display:grid}.meta-form input,.meta-form select{color:#344054;text-transform:none;background:#fff;border:1px solid #d8dee8;border-radius:7px;min-width:0;height:34px;padding:0 9px;font-size:10px}.preview-sheet-picker{border-bottom:1px solid var(--line);background:#eef6ff;justify-content:space-between;align-items:end;gap:16px;padding:12px 22px;display:flex}.preview-sheet-picker label{color:#33506f;gap:5px;min-width:min(360px,70%);font-size:11px;font-weight:700;display:grid}.preview-sheet-picker select{color:#163b65;min-height:40px;font:inherit;background:#fff;border:1px solid #b8cde5;border-radius:8px;padding:0 10px}.preview-sheet-picker span{color:#35628f;font-size:12px;font-weight:700}.validation-box{background:#fffaf0;border:1px solid #f3d19a;border-radius:9px;max-height:130px;margin:12px 22px 0;padding:11px 13px;overflow:auto}.validation-box>b{color:#7f5917;font-size:9px}.validation-box p{color:#806327;margin:6px 0 0;font-size:8px}.validation-box p.error{color:#c5424a}.validation-box small{color:#8c7450;font-size:8px}.preview-table-wrap{flex:1;min-height:220px;overflow:auto}.attendance-meta-form{grid-template-columns:repeat(6,1fr)}.attendance-status{border-radius:15px;padding:5px 8px;font-size:8px;font-weight:700;display:inline-block}.attendance-status.present{color:#087e57;background:#e6f7ef}.attendance-status.excused_absence{color:#566479;background:#eef1f5}.attendance-status.unexcused_absence{color:#c63f49;background:#ffeaec}.attendance-status.late,.attendance-status.early_leave{color:#9a6912;background:#fff3d9}.modal-actions{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:13px 22px;display:flex}.modal-actions>span{color:#8490a2;font-size:8px}.modal-actions>div{gap:8px;display:flex}.academic-content{max-width:none}.module-tree{border-left:1px solid #3a4966;margin:-1px 4px 4px 14px;padding:5px 0 6px 12px}.module-tree-root{color:#d8e4f8;text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:5px 3px;font-size:8px;display:flex}.module-tree-body{color:#92a2ba;gap:2px;font-size:8px;display:grid}.module-tree-body>div{padding:4px 3px}.module-tree-body .tree-level{padding-left:11px}.module-tree-body .tree-level.deep{color:#c4d2e8;padding-left:20px}.module-tree-body button{color:#8e9cb1;text-align:left;background:0 0;border:0;border-radius:5px;padding:5px 5px 5px 27px;font-size:8px}.module-tree-body button:hover,.module-tree-body button.active{color:#fff;background:#263652}.overview-grid{grid-template-columns:1.08fr .92fr;gap:14px;margin-bottom:14px;display:grid}.warning-card{min-height:100%}.warning-list{gap:3px;padding:8px 18px 14px;display:grid}.warning-list>div{border-bottom:1px solid #edf0f5;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.warning-list>div:last-child{border:0}.warning-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:4px}.warning-dot.red{background:#ef5c65}.warning-dot.amber{background:#eeb347}.warning-dot.blue{background:#4d7ee0}.warning-list p,.warning-list b,.warning-list small{margin:0;display:block}.warning-list small{color:#929cac;margin-top:4px;font-size:8px;line-height:1.4}.data-table{border-collapse:collapse;width:100%;min-width:700px}.data-table th{color:#778397;border-bottom:1px solid var(--line);text-align:left;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;background:#f8fafc;padding:11px 13px;font-size:8px}.data-table td{color:#536075;vertical-align:middle;border-bottom:1px solid #edf0f5;padding:11px 13px;font-size:9px}.data-table td b,.data-table td strong{color:#273247;font-size:9px}.data-table th small{color:#9aa4b3;text-transform:none;letter-spacing:0;margin-top:3px;font-size:7px;display:block}.status-chip{white-space:nowrap;border-radius:16px;padding:5px 8px;font-size:8px;font-weight:700;display:inline-block}.status-chip.good{color:#087e57;background:#e6f7ef}.status-chip.bad{color:#c43c46;background:#ffeaec}.status-chip.muted{color:#657083;background:#eef1f5}.filter-panel input{color:#303b4d;background:#fff;border:1px solid #dce2eb;border-radius:8px;outline:none;min-width:0;height:36px;padding:0 10px;font-size:11px}.search-field{min-width:240px}.table-action{color:#2c60c7;background:#edf3ff;border:0;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.notebook-filters{grid-template-columns:105px 120px 160px minmax(230px,1fr) auto}.subtabs{border-bottom:1px solid var(--line);gap:5px;margin-bottom:14px;display:flex;overflow:auto}.subtabs button{color:#778397;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 13px;font-size:9px;font-weight:700}.subtabs button.active{color:#245fce;border-bottom-color:#2563eb}.attendance-panel{overflow:visible}.attendance-grid-wrap{max-height:62vh;overflow:auto}.attendance-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content}.attendance-grid th,.attendance-grid td{text-align:center;background:#fff;border-bottom:1px solid #e6eaf0;border-right:1px solid #e6eaf0;min-width:58px;height:40px;padding:5px 7px;font-size:8px}.attendance-grid th{z-index:3;color:#667287;background:#f4f7fb;font-weight:700;position:sticky;top:0}.attendance-grid th small{color:#97a1b0;margin-top:3px;font-size:7px;line-height:1.3;display:block}.attendance-grid .sticky-col{z-index:2;background:#fff;position:sticky}.attendance-grid th.sticky-col{z-index:5;background:#f4f7fb}.attendance-grid .index-col{width:45px;min-width:45px;left:0}.attendance-grid .code-col{text-align:left;min-width:88px;left:45px}.attendance-grid .name-col{text-align:left;min-width:185px;left:133px;box-shadow:4px 0 7px #1f29370a}.attendance-grid .mark-cell{padding:3px}.attendance-grid .mark-cell input{text-align:center;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:5px;outline:none;width:32px;height:30px;font-size:10px;font-weight:800}.attendance-grid .mark-cell input:focus{border-color:#6090e9;box-shadow:0 0 0 3px #2563eb17}.attendance-grid .mark-P{background:#fff5df}.attendance-grid .mark-K{background:#ffebed}.attendance-grid .mark-T{background:#eeeaff}.attendance-grid .total-cell{color:#4d5a70;background:#f8fafc;font-weight:800}.attendance-grid .summary-row td{color:#536075;background:#f8fafc;font-weight:700}.attendance-grid .summary-label{text-align:right;z-index:2;min-width:318px;left:0}.attendance-actions{border-top:1px solid var(--line);background:#fbfcfe;justify-content:space-between;align-items:center;gap:15px;padding:13px 18px;display:flex}.attendance-actions span{color:#8792a3;font-size:8px}.monthly-export-actions{align-items:center;gap:9px;display:flex}.score-input{text-align:center;border:1px solid #dce2eb;border-radius:6px;width:65px;height:31px;padding:0 6px;font-size:9px}.rule-bar{border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap;gap:12px;padding:14px 18px;display:flex}.rule-bar label{color:#607087;align-items:center;gap:8px;font-size:8px;font-weight:700;display:flex}.rule-bar input{border:1px solid #d8dee8;border-radius:6px;width:70px;height:31px;padding:0 7px}.progress-cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.progress-cards article{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 14px #1f293708}.progress-cards span{color:#3269da;background:#eaf1ff;border-radius:11px;place-items:center;width:40px;height:40px;margin:0 auto 12px;font-weight:800;display:grid}.progress-cards b{color:#263247;font-size:25px;display:block}.progress-cards p{color:#7e899a;margin:5px 0 0;font-size:9px}.export-panel{text-align:center;padding:28px}.export-panel h2{margin:0 0 7px}.export-panel p{color:#758195;max-width:600px;margin:0 auto 18px;font-size:10px;line-height:1.6}.export-panel>div{justify-content:center;gap:8px;display:flex}.monthly-legend{color:#68758a;justify-content:flex-end;align-items:center;gap:12px;font-size:8px;display:flex}.locked-badge{color:#68758a;background:#edf0f4;border-radius:15px;padding:6px 10px;font-size:8px;font-weight:700}.monthly-grid-wrap{max-height:65vh}.monthly-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1700px}.monthly-grid th,.monthly-grid td{text-align:center;background:#fff;border-bottom:1px solid #e6eaf0;border-right:1px solid #e6eaf0;min-width:34px;height:35px;padding:4px;font-size:8px}.monthly-grid th{z-index:2;color:#68758a;background:#f4f7fb;position:sticky;top:0}.monthly-grid th:nth-child(2),.monthly-grid td:nth-child(2){text-align:left;min-width:180px}.monthly-grid td strong,.monthly-grid td small{display:block}.monthly-grid td small{color:#9aa4b3;margin-top:2px;font-size:7px}.month-mark.value-—{color:#a5adba;background:#f0f2f5}.month-mark.value-\!{color:#a67216;background:#fff5df;font-weight:800}.month-mark.value-K{color:#c23d47;background:#ffebed;font-weight:800}.month-mark.value-P{color:#9c6b10;background:#fff5df;font-weight:800}.month-mark.value-T{color:#7656c4;background:#eeeaff;font-weight:800}.report-grid{grid-template-columns:1.25fr .75fr;gap:14px;display:grid}.report-options{gap:6px;padding:14px;display:grid}.report-options button{text-align:left;background:#fff;border:1px solid #e5eaf1;border-radius:8px;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:10px;display:grid}.report-options button:hover{background:#f8faff;border-color:#d4e0f5}.report-options button b{color:#39465a;font-size:9px}.report-options button small{color:#949eac;font-size:7px}.student-edit-modal{background:#fff;border-radius:14px;width:min(620px,100%);overflow:hidden;box-shadow:0 25px 70px #0f172a66}.student-edit-form{grid-template-columns:1fr 1fr;gap:12px;padding:20px 22px;display:grid}.student-edit-form label{color:#68758a;text-transform:uppercase;gap:6px;font-size:8px;font-weight:700;display:grid}.student-edit-form input,.student-edit-form select{text-transform:none;background:#fff;border:1px solid #d8dee8;border-radius:7px;height:36px;padding:0 9px;font-size:10px}.sidebar{width:278px}.content{width:calc(100% - 278px);margin-left:278px}.brand strong{font-size:20px}.brand span,.profile span{font-size:12px}.nav-item{padding:12px 14px;font-size:14px}.nav-item span{font-size:18px}.module-tree-root,.module-tree-body,.module-tree-body button{font-size:12px;line-height:1.35}.module-tree-body button{padding-top:7px;padding-bottom:7px}.sync-card strong{font-size:14px}.sync-card p{font-size:12px}.sync-card-real .sync-source{font-size:11px}.profile strong{font-size:13px}.eyebrow{font-size:11px}.topbar h1,h1{font-size:28px;line-height:1.2}.topbar p,.panel-heading p{font-size:14px;line-height:1.5}.primary,.save-button,.secondary-action,.upload-action{min-height:40px;font-size:13px}.source-badge,.data-fresh,.locked-badge{font-size:12px}.metrics b{font-size:24px}.metrics p{font-size:14px}.metrics small{font-size:12px}.panel-heading h2{font-size:18px}.panel-heading button{font-size:13px}.upload-card h2{font-size:18px}.upload-card p{font-size:13px}.upload-card li{font-size:12px;line-height:1.4}.required-pill,.soft-pill{font-size:11px}.warning-list b{font-size:13px}.warning-list small{font-size:12px}.warning-list>div{padding:12px 0}.filter-panel label,.meta-form label,.student-edit-form label{font-size:11px}.filter-panel select,.filter-panel input,.meta-form input,.meta-form select,.student-edit-form input,.student-edit-form select{min-height:40px;font-size:13px}.data-table th,.schedule-table th{padding:13px 14px;font-size:11px}.data-table td,.schedule-table td{padding:13px 14px;font-size:13px}.data-table td b,.data-table td strong,.schedule-table td strong,.schedule-table td b{font-size:13px}.data-table th small,.schedule-table td small,.status-chip,.row-status,.table-action{font-size:11px}.subtabs button{padding:12px 15px;font-size:13px}.attendance-grid th,.attendance-grid td{min-width:64px;height:44px;font-size:12px}.attendance-grid th small{font-size:10px}.attendance-grid .mark-cell input{width:36px;height:34px;font-size:14px}.attendance-grid .code-col{min-width:100px}.attendance-grid .name-col{min-width:210px}.attendance-actions span,.rule-bar label{font-size:12px}.score-input{width:74px;height:36px;font-size:13px}.progress-cards p,.export-panel p,.monthly-legend{font-size:12px}.monthly-grid th,.monthly-grid td{min-width:38px;height:39px;font-size:11px}.monthly-grid td small{font-size:10px}.modal-head h2{font-size:20px}.modal-head p{font-size:13px}.modal-actions>span{font-size:12px}.validation-box>b{font-size:13px}.validation-box p,.validation-box small{font-size:12px}.toast{font-size:14px}.account-layout{gap:18px;display:grid}.account-fields{grid-template-columns:1.25fr 1fr 1fr .8fr auto;align-items:end;gap:14px;padding:20px;display:grid}.account-fields label{color:#435466;gap:7px;font-size:12px;font-weight:700;display:grid}.account-fields input,.account-fields select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;min-width:0;height:42px;padding:0 11px}.account-fields input:focus,.account-fields select:focus{border-color:#005bd3;box-shadow:0 0 0 3px #005bd31a}.account-fields .primary{white-space:nowrap;height:42px}.auth-shell{background:linear-gradient(135deg,#102d46,#176b70);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:18px;width:min(440px,100%);padding:30px;box-shadow:0 20px 60px #061a2a55}.auth-card.setup-card{width:min(500px,100%)}.auth-school{color:#0f766e;letter-spacing:.12em;margin:0 0 18px;font-size:12px;font-weight:800}.auth-brand{border-bottom:1px solid #d6e0e7;align-items:center;gap:13px;padding-bottom:20px;display:flex}.auth-logo{color:#fff;background:#002b6b;border-radius:12px;place-items:center;width:48px;height:48px;font-size:25px;font-weight:800;display:grid}.auth-brand strong{color:#12304a;font-size:20px;display:block}.auth-brand span{color:#637785;margin-top:3px;font-size:12px;display:block}.auth-heading{padding:24px 0 18px}.auth-heading>span{color:#0f766e;letter-spacing:.9px;font-size:11px;font-weight:800}.auth-heading h1{color:#172033;letter-spacing:-.4px;margin:7px 0 9px;font-size:26px;line-height:1.2}.auth-heading p{color:#637785;margin:0;font-size:14px;line-height:1.6}.auth-heading p b{color:#344054;overflow-wrap:anywhere}.auth-primary{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:46px;font-size:14px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 7px 18px #0f766e2e}.auth-primary:disabled{opacity:.5;cursor:not-allowed}.auth-note{color:#8a95a5;text-align:center;margin:14px 0 0;font-size:12px}.auth-loading{text-align:center}.auth-loading .auth-logo{margin:0 auto}.auth-loading h1{margin:14px 0 4px;font-size:24px}.auth-loading p{color:#758195;font-size:13px}.loading-bar{background:linear-gradient(90deg,#dbe7ff,#2563eb,#dbe7ff) 0 0/200% 100%;border-radius:4px;width:120px;height:4px;margin:18px auto 0;animation:1.2s linear infinite loading;display:block}.setup-steps{justify-content:center;align-items:center;gap:8px;margin:24px 0 0;display:flex}.setup-steps span{color:#7a8697;background:#edf0f5;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.setup-steps span.done{color:#087e57;background:#ddf5e8}.setup-steps span.current{color:#2563eb;background:#e3edff;box-shadow:0 0 0 4px #edf3ff}.setup-steps i{background:#dfe4ec;width:54px;height:2px}.setup-form{gap:14px;margin-bottom:18px;display:grid}.setup-form>label{color:#435466;gap:7px;font-size:13px;font-weight:700;display:grid}.setup-form input{color:#172033;background:#fff;border:1px solid #bdcbd4;border-radius:8px;outline:none;height:44px;padding:0 12px;font-size:14px}.setup-form input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1c}.setup-form input:disabled{color:#778397;background:#f3f5f8}.auth-error{color:#a42c22;min-height:22px;margin:-4px 0 10px;font-size:13px;line-height:1.45}.access-icon{color:#b66b11;background:#fff0e1;border-radius:50%;place-items:center;width:54px;height:54px;margin:28px auto 0;font-size:25px;font-weight:800;display:grid}@keyframes loading{to{background-position:-200% 0}}@media print{.sidebar,.topbar .source-badge,.filter-panel,.subtabs,.attendance-actions,.toast{display:none!important}.content{width:100%;margin:0;padding:10px}.panel{box-shadow:none}.attendance-grid-wrap{max-height:none;overflow:visible}}@keyframes slide{0%{opacity:0;transform:translateY(12px)}}@media (width<=1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.account-fields{grid-template-columns:1fr 1fr}.account-fields .primary{width:100%}.filter-panel{grid-template-columns:repeat(2,1fr)}.filter-panel .check-filter{grid-column:1/-1}.notebook-layout{grid-template-columns:1fr}.meta-form,.attendance-meta-form{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.upload-grid,.alerts-panel,.upload-card ul{grid-template-columns:1fr}.workflow-strip{align-items:flex-start}.workflow-strip>i{display:none}.meta-form{grid-template-columns:1fr 1fr}}@media (width<=1050px){.overview-grid,.report-grid{grid-template-columns:1fr}.student-filters,.notebook-filters,.monthly-filters,.report-filters{grid-template-columns:repeat(2,1fr)}.monthly-legend{justify-content:flex-start}.progress-cards{grid-template-columns:1fr}.attendance-actions{flex-direction:column;align-items:flex-start}.monthly-export-actions{flex-wrap:wrap;width:100%}}@media (width<=720px){.sidebar{width:68px;padding:20px 10px}.brand{padding:0 5px 25px}.brand>div:last-child,.nav-item{font-size:0}.nav-item{justify-content:center;padding:11px}.nav-item span{font-size:11px}.sidebar-tree,.sync-card,.profile div:not(.avatar),.profile button{display:none}.profile{justify-content:center}.content{width:calc(100% - 68px);margin-left:68px;padding:23px 16px}.topbar{align-items:flex-start}.topbar h1{font-size:21px}.topbar p,.icon-button,.source-badge{display:none}.topbar .primary{font-size:9px}.primary{padding:10px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metrics article{gap:9px;padding:12px}.metric-icon{flex-basis:34px;height:34px}.grid{gap:12px}.lesson{padding:15px 13px}.outline{display:none}.summary{gap:8px}.status-select{max-width:85px}.filter-panel{grid-template-columns:1fr}.filter-panel .check-filter{grid-column:auto}.panel-heading{padding:15px}.workflow-step{min-width:130px}.meta-form{grid-template-columns:1fr}.modal-backdrop{padding:8px}.import-modal{max-height:calc(100vh - 16px)}.modal-actions{align-items:flex-start}.modal-actions>span,.nav-item .nav-caret{display:none}}.bmtc-sidebar{background:linear-gradient(#063574 0%,#06448f 54%,#0a57aa 100%)!important;flex-direction:column!important;gap:0!important;width:318px!important;padding:8px 5px!important;display:flex!important;overflow:hidden!important}.bmtc-sidebar .side-brand{text-align:center;border-bottom:1px solid #ffffff38;flex:none;margin:0 0 11px;padding:0 12px 16px;display:block}.bmtc-logo-card{justify-content:center;align-items:center;width:86%;height:78px;margin:0 auto 8px;display:flex}.bmtc-logo-card img{object-fit:contain;width:100%;height:100%;display:block}.bmtc-sidebar .side-brand h3{color:#fff;margin:4px 0 0;font-size:18px;font-weight:850;line-height:1.32}.bmtc-sidebar .sidebar-menu{scrollbar-width:thin;scrollbar-color:#7dd3fc #ffffff1f;flex-direction:column;flex:auto;gap:4px;min-height:0;padding:6px 3px 8px 10px;display:flex;overflow:hidden auto}.bmtc-sidebar .sidebar-menu::-webkit-scrollbar{width:8px}.bmtc-sidebar .sidebar-menu::-webkit-scrollbar-track{background:#ffffff1a;border-radius:9px}.bmtc-sidebar .sidebar-menu::-webkit-scrollbar-thumb{background:#7dd3fc;border-radius:9px}.bmtc-tab{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-content:center;width:100%;min-height:51px;padding:9px 34px 9px 10px;display:grid;position:relative}.bmtc-tab:hover{background:#1b6fc8a8}.bmtc-tab.active{background:#0874e8}.bmtc-tab span{font-size:16px;font-weight:800;line-height:1.25}.bmtc-tab small{color:#d7e9ff;margin:2px 0 0 27px;font-size:12px;font-weight:650;line-height:1.25}.bmtc-tab i{color:#fff;font-size:12px;font-style:normal;position:absolute;top:15px;right:12px}.bmtc-nav-group{gap:3px;display:grid}.bmtc-submenu{border-left:1px solid #ffffff47;gap:5px;margin:0 0 5px 17px;padding-left:10px;display:grid}.bmtc-subtab{color:#fff;text-align:left;cursor:pointer;background:#0c59a8;border:0;border-radius:10px;width:100%;padding:9px 11px;display:grid}.bmtc-subtab:hover{background:#1768b8}.bmtc-subtab.active{background:#1a67b9;box-shadow:inset 3px 0 #7dd3fc}.bmtc-subtab span{font-size:14px;font-weight:800;line-height:1.25}.bmtc-subtab small{color:#dbeaff;margin:2px 0 0 17px;font-size:11px;font-weight:650;line-height:1.25}.bmtc-nav-tree{border-left:1px solid #ffffff40;gap:2px;margin-left:6px;padding-left:8px;display:grid}.bmtc-side-node{margin:2px 0}.bmtc-side-node summary{color:#fff;cursor:pointer;background:#1f6abab3;border-radius:7px;padding:7px 9px 7px 22px;font-size:13px;font-weight:800;line-height:1.25;list-style:none;position:relative}.bmtc-side-node summary::-webkit-details-marker{display:none}.bmtc-side-node summary:before{content:"▸";color:#fff;font-size:11px;transition:transform .16s;position:absolute;top:7px;left:8px}.bmtc-side-node[open]>summary:before{transform:rotate(90deg)}.bmtc-side-node summary:hover{background:#2b7ed6cc}.bmtc-side-node.side-program{margin-left:8px}.bmtc-side-node.side-term{margin-left:10px}.bmtc-tree-months{gap:3px;margin:3px 0 3px 12px;display:grid}.bmtc-tree-month{color:#fff;text-align:left;cursor:pointer;background:#165dace6;border:0;border-radius:5px;width:100%;padding:7px 10px;font-size:13px;font-weight:750}.bmtc-tree-month:hover{background:#2478cd}.bmtc-tree-month.active{background:#1681f5;box-shadow:inset 3px 0 #b8e4ff}.bmtc-current-branch{color:#fff;background:#05306d4d;border-left:1px solid #ffffff47;border-radius:0 8px 8px 0;gap:3px;margin:3px 0 5px 17px;padding:10px 12px;display:grid}.bmtc-current-branch span{font-size:12px;font-weight:800}.bmtc-current-branch small{color:#cfe6ff;font-size:11px}.bmtc-sidebar .sidebar-user{border-top:1px solid #ffffff38;flex:none;margin:7px 9px 0;padding:10px 7px}.bmtc-sidebar .sidebar-user,.bmtc-sidebar .sidebar-user>div{color:#fff}.bmtc-sidebar .sidebar-user small{color:#cfe6ff}.bmtc-sidebar .sidebar-user button{color:#fff;border-color:#ffffff73}.bmtc-sidebar .support-card{color:#fff;box-shadow:none;background:#1057b1b8;border:1px solid #ffffffb3;border-radius:11px;flex:none;gap:5px;margin:7px 0 0;padding:12px 15px;font-size:13px;line-height:1.35;display:grid}.bmtc-sidebar .support-card strong{color:#fff;font-size:14px}.bmtc-sidebar .support-card span{color:#fff}.bmtc-sidebar .support-card small{color:#bfe3ff;margin-top:5px;font-size:10px;display:block}.bmtc-sidebar+.content{width:calc(100% - 318px)!important;margin-left:318px!important}@media (width<=720px){.bmtc-sidebar{width:72px!important;padding:10px 7px!important}.bmtc-sidebar .side-brand{padding:0 0 10px}.bmtc-logo-card{width:58px;height:46px;margin-bottom:0}.bmtc-sidebar .side-brand h3,.bmtc-sidebar .bmtc-tab small,.bmtc-sidebar .bmtc-tab i,.bmtc-sidebar .bmtc-submenu,.bmtc-sidebar .bmtc-current-branch,.bmtc-sidebar .sidebar-user>div,.bmtc-sidebar .sidebar-user button,.bmtc-sidebar .support-card{display:none}.bmtc-sidebar .sidebar-menu{padding:6px 0;overflow:hidden}.bmtc-sidebar .bmtc-tab{text-align:center;min-height:46px;padding:10px 5px}.bmtc-sidebar .bmtc-tab span{font-size:0}.bmtc-sidebar .bmtc-tab span:first-letter{font-size:18px}.bmtc-sidebar .sidebar-user{justify-content:center;margin:6px 0 0;padding:10px 0 0}.bmtc-sidebar+.content{width:calc(100% - 72px)!important;margin-left:72px!important}}@media (width>=721px){.bmtc-sidebar{width:338px!important}.bmtc-sidebar+.content{width:calc(100% - 338px)!important;margin-left:338px!important}.app-sidebar.bmtc-sidebar{background:var(--notebook-navy)!important;width:280px!important;padding:0!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - 280px)!important;margin-left:280px!important}}@media (width<=720px){.app-sidebar.bmtc-sidebar{background:var(--notebook-navy)!important;width:60px!important;padding:0!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - 60px)!important;margin-left:60px!important}.app-sidebar .sidebar-user .avatar{display:grid!important}}.notebook-tabs{scrollbar-width:none}.notebook-tabs::-webkit-scrollbar{display:none}:root{--notebook-navy:#062b5c;--notebook-navy-2:#083c78;--notebook-blue:#0b63e6;--notebook-blue-soft:#eaf2ff;--notebook-ink:#14213d;--notebook-muted:#637089;--notebook-line:#dce4ef;--notebook-surface:#fff;--notebook-bg:#f5f7fb;--notebook-green:#079455;--notebook-orange:#ef6c00;--notebook-red:#e5484d;--notebook-radius:12px;--notebook-shadow:0 3px 14px #10264a0f}body{background:var(--notebook-bg);color:var(--notebook-ink)}@media (width>=721px){.app-sidebar.bmtc-sidebar{border-right:1px solid #ffffff14;background:var(--notebook-navy)!important;width:280px!important;padding:0!important}.app-sidebar+.content{width:calc(100% - 280px)!important;margin-left:280px!important}}.app-sidebar .side-brand{align-items:center;min-height:104px;display:flex;border-bottom:1px solid #ffffff21!important;margin:0!important;padding:18px 22px!important}.app-sidebar .bmtc-logo-card{justify-content:flex-start;width:208px!important;height:68px!important;margin:0!important}.app-sidebar .bmtc-logo-card img{object-position:left center}.app-sidebar .sidebar-menu{gap:5px!important;padding:14px 12px 18px!important}.app-sidebar .bmtc-tab{border-radius:9px!important;grid-template-rows:auto auto!important;grid-template-columns:24px minmax(0,1fr)!important;align-content:center!important;align-items:center!important;column-gap:8px!important;min-height:52px!important;padding:9px 34px 9px 10px!important;display:grid!important}.app-sidebar .bmtc-tab>svg{color:#d9e9ff;grid-area:1/1/3}.app-sidebar .bmtc-tab>span{grid-area:1/2;min-width:0;font-weight:750;line-height:1.25;font-size:14px!important}.app-sidebar .bmtc-tab>small{color:#b8cbe5;grid-area:2/2;min-width:0;font-weight:550;margin:2px 0 0!important;font-size:10px!important}.app-sidebar .nav-chevron{color:#d8e8ff;position:absolute;top:18px;right:11px}.app-sidebar .function-tree-node span,.app-sidebar .function-tree-leaf b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-sidebar .function-tree-leaf.active{color:#fff;background:#145daf;box-shadow:inset 3px 0 #59b7ff}.app-sidebar .sidebar-sync-note{color:#bcd2ec;border-top:1px solid #ffffff1f;align-items:center;gap:7px;margin:5px 15px 0;padding:8px 10px;font-size:10px;display:flex}.app-sidebar .sidebar-sync-note i{background:#f59e0b;border-radius:50%;width:7px;height:7px}.app-sidebar .sidebar-sync-note i.online{background:#22c55e}.app-sidebar .sidebar-user{background:#ffffff0d;border-radius:10px;min-height:64px;border:1px solid #ffffff1f!important;grid-template-columns:36px minmax(0,1fr) 30px!important;margin:0 12px 12px!important;padding:10px!important}.app-sidebar .sidebar-user .avatar{color:var(--notebook-navy);background:#fff;width:36px!important;height:36px!important}.app-sidebar .sidebar-user strong{font-size:11.5px!important}.app-sidebar .sidebar-user span{font-size:9.5px!important}.academic-content.teacher-content{background:var(--notebook-bg);padding:0!important}.teacher-notebook-page{min-height:100vh;color:var(--notebook-ink)}.notebook-app-header{z-index:60;border-bottom:1px solid var(--notebook-line);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.notebook-breadcrumbs{color:#64718a;align-items:center;gap:11px;min-width:0;font-size:12px;display:flex}.notebook-breadcrumbs span{white-space:nowrap;align-items:center;gap:7px;display:flex}.notebook-breadcrumbs strong{color:#273650;white-space:nowrap}.notebook-breadcrumbs b{text-overflow:ellipsis;white-space:nowrap;color:#42516c;max-width:390px;font-weight:550;overflow:hidden}.notebook-account-summary{flex:none;align-items:center;gap:10px;display:flex}.notebook-account-summary>div{text-align:right;display:grid}.notebook-account-summary strong{color:#1e2b43;font-size:12px}.notebook-account-summary span{color:#7a879c;font-size:10px}.notebook-icon-button{color:#61708a;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.notebook-icon-button:hover{background:#f0f4fa}.notebook-page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.notebook-page-heading h1{color:#101828;letter-spacing:-.35px;margin:0 0 6px;font-size:25px;line-height:1.25}.notebook-page-heading p{color:var(--notebook-muted);margin:0;font-size:12.5px}.notebook-page-actions{flex:none;gap:10px;display:flex}.notebook-primary-button,.notebook-secondary-button{min-height:39px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:12px;font-weight:700;display:inline-flex}.notebook-primary-button{border:1px solid var(--notebook-blue);color:#fff;background:var(--notebook-blue);box-shadow:0 3px 8px #0b63e62e}.notebook-primary-button:hover{background:#0758ce}.notebook-secondary-button{border:1px solid var(--notebook-line);color:#26354d;background:#fff}.notebook-secondary-button:hover{background:#f9fbfd;border-color:#b8c7da}.notebook-primary-button:disabled,.notebook-secondary-button:disabled{opacity:.56;cursor:not-allowed}.notebook-lock-button{color:#b42318;background:#fff8f8;border-color:#efb5b8}.notebook-lock-button:hover{background:#fff1f1;border-color:#e48d92}.notebook-unlock-button{color:#087a55;background:#effcf6;border-color:#9ddfc5}.notebook-unlock-button:hover{background:#e7f9f0;border-color:#69c69f}.notebook-filter-card{border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);box-shadow:var(--notebook-shadow);background:#fff;grid-template-columns:145px 165px 180px minmax(260px,1fr) 128px;align-items:end;gap:14px;padding:14px 16px;display:grid}.notebook-filter-card label,.teacher-attendance-mobile>label,.notebook-rule-bar label{color:#41506a;gap:6px;font-size:11px;font-weight:700;display:grid}.notebook-filter-card select,.teacher-attendance-mobile select,.notebook-rule-bar input,.attendance-pagination select{color:#27364f;width:100%;height:39px;font:inherit;background:#fff;border:1px solid #d4deeb;border-radius:8px;outline:0;padding:0 34px 0 12px;font-size:12px;font-weight:650}.notebook-filter-card select:focus,.teacher-attendance-mobile select:focus,.notebook-rule-bar input:focus{border-color:#75a8f2;box-shadow:0 0 0 3px #0b63e61a}.notebook-session-badge{gap:6px;display:grid}.notebook-session-badge>span{color:#41506a;font-size:11px;font-weight:700}.notebook-session-badge strong{height:39px;color:var(--notebook-green);white-space:nowrap;background:#effaf5;border:1px solid #cfe9dd;border-radius:20px;justify-content:center;align-items:center;gap:6px;font-size:11.5px;display:flex}.notebook-session-badge.offline strong{color:#b45309;background:#fff8eb;border-color:#fed7aa}.notebook-group-selector{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.notebook-group-selector button{border:1px solid var(--notebook-line);color:#344258;cursor:pointer;background:#fff;border-radius:8px;min-width:84px;height:36px;padding:0 16px;font-size:12px;font-weight:700}.notebook-group-selector button.active{border-color:var(--notebook-blue);color:#fff;background:var(--notebook-blue);box-shadow:0 3px 8px #0b63e62e}.notebook-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.notebook-stat-card{border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);min-height:96px;box-shadow:var(--notebook-shadow);background:#fff;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px;display:flex}.notebook-stat-card>div{grid-template-columns:auto auto;align-items:baseline;column-gap:10px;display:grid}.notebook-stat-card span{color:#5c6980;grid-column:1/3;margin-bottom:8px;font-size:11px}.notebook-stat-card strong{color:#17243c;font-size:25px;line-height:1}.notebook-stat-card small{color:#61708a;font-size:10.5px;font-weight:700}.notebook-stat-card i{border-radius:9px;place-items:center;width:36px;height:36px;font-style:normal;display:grid}.stat-total i{color:#1769e0;background:#e8f0ff}.stat-present i{color:#079455;background:#e5f7ed}.stat-excused i{color:#e46a00;background:#fff0df}.stat-unexcused i{color:#e5484d;background:#ffe7e9}.stat-late i{color:#1769e0;background:#e9f1ff}.notebook-tabs-card{border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);min-height:57px;box-shadow:var(--notebook-shadow);background:#fff;justify-content:space-between;align-items:stretch;gap:16px;margin-bottom:12px;padding:0 12px 0 3px;display:flex}.notebook-tabs{min-width:0;display:flex;overflow-x:auto}.notebook-tabs>button{color:#48566e;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-width:max-content;padding:0 17px;font-size:12px;font-weight:700;display:flex;position:relative}.notebook-tabs>button:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:0;left:8px;right:8px}.notebook-tabs>button.active{color:var(--notebook-blue)}.notebook-tabs>button.active:after{background:var(--notebook-blue)}.notebook-tab-actions{flex:none;align-items:center;gap:7px;display:flex}.notebook-student-sort{color:#607089;white-space:nowrap;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.notebook-student-sort select{border:1px solid var(--notebook-line);color:#35435a;background:#fff;border-radius:8px;max-width:165px;height:34px;padding:0 27px 0 9px;font-size:11px;font-weight:700}.notebook-tab-actions>button,.notebook-more-menu>button,.attendance-card-header button{border:1px solid var(--notebook-line);color:#35435a;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:11px;font-weight:700;display:flex}.notebook-tab-actions>button.active,.attendance-card-header button.active{color:var(--notebook-blue);background:#eff5ff;border-color:#bdd4f7}.notebook-student-search{color:#65748c;background:#fff;border:1px solid #cbd9ea;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 8px 0 10px;display:flex}.notebook-student-search input{color:#25334b;border:0;outline:0;width:150px;font-size:11px}.notebook-student-search button{color:#65748c;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.notebook-more-menu{position:relative}.notebook-more-menu>button{width:36px;padding:0}.notebook-more-menu>div{z-index:90;border:1px solid var(--notebook-line);background:#fff;border-radius:9px;width:180px;padding:5px;position:absolute;top:40px;right:0;box-shadow:0 10px 30px #10264a26}.notebook-more-menu>div button{color:#344258;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:9px;font-size:11px;display:flex}.notebook-more-menu>div button:hover{background:#f1f5fa}.attendance-card,.notebook-panel-card{border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);box-shadow:var(--notebook-shadow);background:#fff;overflow:hidden}.attendance-card-header,.notebook-panel-heading{border-bottom:1px solid var(--notebook-line);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:15px 16px;display:flex}.attendance-card-header h2,.notebook-panel-heading h2{color:#1b2940;margin:0 0 5px;font-size:16px}.attendance-card-header p,.notebook-panel-heading p{color:#69778d;margin:0;font-size:11.5px}.attendance-card-header>div:last-child{gap:8px;display:flex}.attendance-card-header button:not(.shortcut-button){width:36px;padding:0}.teacher-attendance-scroll{scrollbar-width:thin;max-height:485px;overflow:auto}.teacher-attendance-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1080px;font-size:11px}.teacher-attendance-table th,.teacher-attendance-table td{text-align:center;background:#fff;border-bottom:1px solid #e3e9f1;border-right:1px solid #e3e9f1;height:46px;padding:8px}.teacher-attendance-table thead th{z-index:8;color:#24334c;background:#f7f9fc;height:63px;font-weight:750;position:sticky;top:0}.teacher-attendance-table thead .summary-subhead th{height:34px;padding:5px;font-size:10px;top:29px}.teacher-attendance-table th>button{width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:2px;display:grid}.teacher-attendance-table th>button span,.teacher-attendance-table th>button small{color:#66758d;font-size:9.5px}.teacher-attendance-table .index-column{width:48px;left:0}.teacher-attendance-table .code-column{width:112px;left:48px}.teacher-attendance-table .name-column{text-align:left;width:230px;left:160px}.teacher-attendance-table .sticky-left{z-index:5;background:#fff;position:sticky}.teacher-attendance-table thead .sticky-left{z-index:12;background:#f7f9fc}.teacher-attendance-table tbody tr:hover td,.teacher-attendance-table tbody tr:hover .sticky-left{background:#fbfdff}.teacher-attendance-table .name-column small{color:#b54708;margin-top:3px;font-size:9px;font-weight:500;display:block}.teacher-attendance-table .selected-lesson{box-shadow:inset 0 0 0 999px #0b63e609}.teacher-attendance-table thead .selected-lesson{color:var(--notebook-blue);box-shadow:inset 0 -2px 0 var(--notebook-blue)}.teacher-attendance-table .summary-heading{background:#f2f6fb;height:29px}.teacher-attendance-table .summary-cell{color:#526078;background:#fafbfd;width:90px;font-weight:750}.teacher-attendance-table .value-K{color:var(--notebook-red)}.teacher-attendance-table .value-T{color:var(--notebook-blue)}.attendance-cell-control{border:1px solid #0000;border-radius:7px;width:43px;height:31px;margin:auto;display:flex;position:relative}.attendance-cell-control:hover,.attendance-cell-control:focus-within{background:#f2f7ff;border-color:#b8cdf0}.attendance-cell-control input{width:27px;height:29px;color:inherit;text-align:center;text-transform:uppercase;background:0 0;border:0;outline:0;padding:0;font-size:12px;font-weight:850}.attendance-cell-control input::placeholder{color:#0000}.attendance-cell-control.status-present input:after{content:"Đ"}.attendance-cell-control>button{color:#9ba8ba;cursor:pointer;background:0 0;border:0;place-items:center;width:15px;padding:0;display:grid}.attendance-cell-control.status-present{color:var(--notebook-green)}.attendance-cell-control.status-P{color:var(--notebook-orange);background:#fff7ed}.attendance-cell-control.status-K{color:var(--notebook-red);background:#fff1f2}.attendance-cell-control.status-T{color:var(--notebook-blue);background:#eff6ff}.attendance-cell-control.status-present:before{content:"Đ";color:var(--notebook-green);pointer-events:none;font-size:11px;font-weight:850;position:absolute;top:7px;left:9px}.attendance-cell-control.status-present:focus-within:before{opacity:.18}.attendance-cell-menu{z-index:120;border:1px solid var(--notebook-line);background:#fff;border-radius:9px;gap:2px;width:155px;padding:5px;display:grid;position:absolute;top:34px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #1126482e}.attendance-cell-menu button{color:#35435a;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 7px;display:flex}.attendance-cell-menu button:hover{background:#f2f5f9}.attendance-cell-menu b{width:22px;font-size:12px}.attendance-cell-menu span{font-size:10.5px}.teacher-attendance-mobile{display:none}.attendance-pagination{border-top:1px solid var(--notebook-line);color:#69778d;align-items:center;gap:14px;min-height:60px;padding:10px 16px;font-size:10.5px;display:flex}.attendance-pagination>div{margin-right:auto}.attendance-pagination label{align-items:center;gap:7px;font-weight:650;display:flex}.attendance-pagination select{width:80px;height:32px;padding-left:9px;font-size:10.5px}.attendance-pagination nav{gap:5px;display:flex}.attendance-pagination nav button{border:1px solid var(--notebook-line);color:#40506a;cursor:pointer;background:#fff;border-radius:7px;place-items:center;min-width:32px;height:32px;padding:0 7px;font-size:10px;display:grid}.attendance-pagination nav button.active{border-color:var(--notebook-blue);color:#fff;background:var(--notebook-blue)}.attendance-pagination nav button:disabled{opacity:.4;cursor:not-allowed}.attendance-save-bar,.notebook-panel-footer{border-top:1px solid var(--notebook-line);background:#fbfcfe;align-items:center;gap:16px;min-height:64px;padding:10px 16px;display:flex}.attendance-save-bar>p,.notebook-panel-footer>span{color:#6c7a90;margin:0 auto 0 0;font-size:10.5px}.attendance-save-state{color:#69778d;white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.attendance-save-state.dirty{color:#b45309}.attendance-save-state.saving{color:var(--notebook-blue)}.attendance-save-state.saving svg{animation:1s linear infinite notebook-spin}.attendance-save-state.saved{color:var(--notebook-green)}.attendance-save-state.error{color:var(--notebook-red)}@keyframes notebook-spin{to{transform:rotate(360deg)}}.notebook-panel-heading{min-height:72px}.notebook-data-badge,.notebook-result-badge{color:#135fbf;white-space:nowrap;background:#edf5ff;border-radius:16px;padding:7px 10px;font-size:10.5px;font-weight:750}.notebook-result-badge.good{color:#067647;background:#ecfdf3}.notebook-result-badge.bad{color:#b42318;background:#fff1f1}.notebook-result-badge.pending{color:#9a5b00;background:#fff7e6}.score-save-footer>p{color:#6c7a90;flex:1;margin:0;font-size:10.5px}.notebook-table-scroll{overflow:auto}.notebook-data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:11px}.notebook-data-table th,.notebook-data-table td{text-align:left;border-bottom:1px solid #e4eaf2;height:48px;padding:8px 12px}.notebook-data-table th{color:#42516a;background:#f7f9fc;font-weight:750}.notebook-data-table th small,.notebook-data-table td small{color:#8490a3;margin-top:3px;font-size:9px;display:block}.notebook-data-table tbody tr:hover{background:#fbfdff}.score-table th{text-align:center;vertical-align:middle}.score-table thead>tr:first-child>th:nth-child(3),.score-table td:nth-child(3){text-align:left}.score-table .score-component-heading{color:#263752;text-transform:uppercase;letter-spacing:.35px;background:#eef4fc;height:36px}.score-table .score-component-row th{border-top:1px solid #dce4ef;min-width:92px;height:48px;padding:7px 10px}.score-table td:not(:nth-child(3)){text-align:center}.notebook-rule-bar{border-bottom:1px solid var(--notebook-line);background:#fbfcfe;grid-template-columns:repeat(3,minmax(0,220px));gap:12px;padding:12px 16px;display:grid}.notebook-rule-bar input{height:36px;padding:0 10px}.notebook-progress-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.notebook-progress-grid article{border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);min-height:155px;box-shadow:var(--notebook-shadow);background:#fff;align-content:center;place-items:center;gap:8px;padding:24px;display:grid}.notebook-progress-grid i{width:45px;height:45px;color:var(--notebook-blue);background:#eaf2ff;border-radius:12px;place-items:center;display:grid}.notebook-progress-grid strong{color:#18263f;font-size:29px}.notebook-progress-grid span{color:#6b788e;font-size:11.5px}.notebook-export-panel{justify-content:space-between;align-items:center;gap:30px;min-height:190px;padding:28px;display:flex}.notebook-export-panel>div:first-child span{color:var(--notebook-blue);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.notebook-export-panel h2{margin:6px 0 8px;font-size:23px}.notebook-export-panel p{color:#68768c;max-width:620px;margin:0;font-size:12px;line-height:1.6}.notebook-export-panel>div:last-child{gap:9px;display:flex}.notebook-loading-state,.notebook-error-state,.notebook-schedule-state,.notebook-locked-state{border-radius:var(--notebook-radius);min-height:78px;color:var(--notebook-blue);background:#f5f9ff;border:1px solid #cbdcf4;align-items:center;gap:12px;margin:14px 0;padding:15px 18px;display:flex}.notebook-loading-state svg{animation:1s linear infinite notebook-spin}.notebook-loading-state div,.notebook-error-state div,.notebook-schedule-state div,.notebook-locked-state div{gap:3px;display:grid}.notebook-loading-state strong,.notebook-error-state strong,.notebook-schedule-state strong,.notebook-locked-state strong{color:#283750;font-size:12px}.notebook-loading-state span,.notebook-error-state span,.notebook-schedule-state span,.notebook-locked-state span{color:#6d7b90;font-size:10.5px}.notebook-error-state{color:var(--notebook-red);background:#fff8f8;border-color:#f4c7c9}.notebook-schedule-state{color:#b45309;background:#fffbeb;border-color:#f2d08b}.notebook-locked-state{color:#b42318;background:#fff8f8;border-color:#efb5b8}.notebook-error-state button{color:#b42318;cursor:pointer;background:#fff;border:1px solid #efb5b8;border-radius:7px;align-items:center;gap:6px;margin-left:auto;padding:8px 11px;font-size:10.5px;font-weight:700;display:flex}.notebook-empty-state{color:#6a7890;text-align:center;align-content:center;place-items:center;gap:8px;min-height:300px;display:grid}.notebook-empty-state h2{color:#26364f;margin:4px 0 0;font-size:17px}.notebook-empty-state p{margin:0;font-size:11.5px}.empty-calendar-icon{width:54px;height:54px;color:var(--notebook-blue);background:#eaf2ff;border-radius:14px;place-items:center;display:grid}.roster-reference-notice{color:var(--notebook-blue);background:#f5f9ff;border:1px solid #cbdcf4;border-radius:10px;align-items:center;gap:12px;margin:14px 16px;padding:12px 14px;display:flex}.roster-reference-notice .empty-calendar-icon{border-radius:10px;flex:0 0 42px;width:42px;height:42px}.roster-reference-notice>div{gap:3px;display:grid}.roster-reference-notice strong{color:#283750;font-size:12px}.roster-reference-notice span{color:#6d7b90;font-size:10.5px;line-height:1.5}.roster-reference-table{min-width:640px}.roster-loaded-badge{color:#087a55;white-space:nowrap;background:#eaf9f3;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.roster-reference-footer{min-height:48px}.notebook-spin-icon{animation:1s linear infinite notebook-spin}@media (width<=1180px){.teacher-notebook-body{padding:20px 20px 34px}.notebook-app-header{padding:0 20px}.notebook-filter-card{grid-template-columns:repeat(3,minmax(0,1fr))}.notebook-filter-card .subject-filter{grid-column:1/3}.notebook-stat-grid{grid-template-columns:repeat(3,1fr)}.notebook-tabs-card{align-items:center}.notebook-tabs>button{padding:0 12px}}@media (width<=900px){.notebook-page-heading{align-items:center}.notebook-page-heading h1{font-size:22px}.notebook-page-heading p{max-width:520px}.notebook-stat-grid{grid-template-columns:repeat(2,1fr)}.notebook-tabs-card{padding:0 8px;overflow:visible}.notebook-tabs{flex:1}.notebook-tabs>button{padding:0 10px;font-size:11px}.notebook-tab-actions>button{width:36px;padding:0;font-size:0}.notebook-tab-actions>button svg{width:16px}.attendance-save-bar{flex-wrap:wrap}.attendance-save-bar>p{flex-basis:100%;order:3}}@media (width<=720px){.app-sidebar.bmtc-sidebar{background:var(--notebook-navy)!important;width:60px!important;padding:0!important}.app-sidebar+.content{width:calc(100% - 60px)!important;margin-left:60px!important}.app-sidebar .side-brand{min-height:60px;padding:8px!important}.app-sidebar .bmtc-logo-card{overflow:hidden;width:44px!important;height:42px!important}.app-sidebar .bmtc-logo-card img{object-position:left center;max-width:none;width:144px!important}.app-sidebar .sidebar-menu{padding:9px 7px!important;overflow-y:auto!important}.app-sidebar .bmtc-tab{grid-template-columns:1fr!important;place-items:center!important;min-height:44px!important;padding:10px!important;display:grid!important}.app-sidebar .bmtc-tab>svg{grid-area:1/1}.app-sidebar .bmtc-tab>span,.app-sidebar .bmtc-tab>small,.app-sidebar .nav-chevron,.app-sidebar .main-tool-panel,.app-sidebar .sidebar-sync-note,.app-sidebar .sidebar-user>div:not(.avatar),.app-sidebar .sidebar-user>button{display:none!important}.app-sidebar .sidebar-user{min-height:48px;grid-template-columns:1fr!important;place-items:center!important;margin:0 7px 8px!important;padding:6px!important;display:grid!important}.app-sidebar .sidebar-user .avatar{width:32px!important;height:32px!important}.notebook-app-header{height:54px;padding:0 14px}.notebook-breadcrumbs{gap:6px;font-size:10px}.notebook-breadcrumbs span{font-size:0}.notebook-breadcrumbs span svg{width:17px;height:17px}.notebook-breadcrumbs b{max-width:120px}.notebook-account-summary>div,.notebook-account-summary>svg{display:none}.teacher-notebook-body{padding:15px 12px 28px}.notebook-page-heading{gap:13px;margin-bottom:14px;display:grid}.notebook-page-heading h1{font-size:20px}.notebook-page-heading p{font-size:11px;line-height:1.5}.notebook-page-actions{flex-wrap:wrap;width:100%}.notebook-page-actions button{flex:1;padding:0 9px;font-size:10.5px}.notebook-page-actions .notebook-lock-button,.notebook-page-actions .notebook-unlock-button{flex-basis:100%}.notebook-filter-card{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.notebook-filter-card .subject-filter,.notebook-session-badge{grid-column:1/3}.notebook-session-badge>span{display:none}.notebook-group-selector{flex-wrap:nowrap;margin:11px 0;overflow-x:auto}.notebook-group-selector button{min-width:max-content}.notebook-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.notebook-stat-card{min-height:84px;padding:12px}.notebook-stat-card strong{font-size:21px}.notebook-stat-card i{width:31px;height:31px}.notebook-tabs-card{min-height:auto;padding:0;display:block}.notebook-tabs{min-height:51px}.notebook-tabs>button{min-width:49px;padding:0 13px;font-size:0}.notebook-tabs>button svg{width:18px;height:18px}.notebook-tab-actions{border-top:1px solid var(--notebook-line);padding:8px}.notebook-student-search{flex:1}.notebook-student-search input{width:100%;min-width:0}.attendance-card-header{min-height:68px;padding:12px}.attendance-card-header h2{font-size:14px}.attendance-card-header p{font-size:10px}.attendance-card-header .shortcut-button{width:36px;padding:0;font-size:0}.teacher-attendance-desktop{display:none}.teacher-attendance-mobile{padding:12px;display:block}.teacher-attendance-mobile>label{margin-bottom:10px}.mobile-attendance-list{gap:8px;display:grid}.mobile-attendance-list article{background:#fff;border:1px solid #e2e9f2;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.mobile-attendance-list article>div:first-child{align-items:center;gap:9px;min-width:0;display:flex}.mobile-attendance-list article>div:first-child>span{color:#56657c;background:#eef2f7;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.mobile-attendance-list p{min-width:0;margin:0;display:grid}.mobile-attendance-list p strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.mobile-attendance-list p small{color:#7b879a;font-size:9px}.mobile-status-options{gap:4px;display:flex}.mobile-status-options button{color:#67758b;cursor:pointer;background:#fff;border:1px solid #dce4ef;border-radius:6px;width:27px;height:27px;padding:0;font-size:10px;font-weight:800}.mobile-status-options .status-present.active{color:#067647;background:#ecfdf3;border-color:#9edbbd}.mobile-status-options .status-K.active{color:#b42318;background:#fff1f1;border-color:#f3b5b8}.mobile-status-options .status-P.active{color:#b54708;background:#fff7ed;border-color:#f7cf9f}.mobile-status-options .status-T.active{color:#0758ce;background:#eff6ff;border-color:#b9d2f8}.attendance-pagination{flex-wrap:wrap;padding:10px 12px}.attendance-pagination>div{flex-basis:100%}.attendance-pagination label{margin-right:auto}.attendance-pagination nav button{min-width:29px;height:29px}.attendance-save-bar{padding:10px 12px}.attendance-save-bar>p{display:none}.attendance-save-bar .notebook-primary-button{min-height:36px;margin-left:auto;padding:0 10px;font-size:10.5px}.notebook-panel-heading{align-items:flex-start;padding:13px}.notebook-panel-heading h2{font-size:14px}.notebook-rule-bar{grid-template-columns:1fr;padding:12px}.notebook-panel-footer{flex-wrap:wrap;padding:12px}.notebook-panel-footer>span{flex-basis:100%}.notebook-panel-footer button{margin-left:auto}.notebook-progress-grid{grid-template-columns:1fr;gap:9px}.notebook-progress-grid article{min-height:110px;padding:17px}.notebook-export-panel{min-height:220px;padding:20px;display:grid}.notebook-export-panel>div:last-child{flex-wrap:wrap}.notebook-export-panel button{flex:1}}@media print{.app-sidebar,.notebook-app-header,.notebook-page-actions,.notebook-filter-card,.notebook-group-selector,.notebook-stat-grid,.notebook-tab-actions,.attendance-save-bar,.attendance-pagination{display:none!important}.app-sidebar+.content{width:100%!important;margin-left:0!important}.teacher-notebook-body{padding:0}.teacher-attendance-scroll{max-height:none;overflow:visible}}.main-tool-group{gap:3px;display:grid}.main-tool-panel{border-left:1px solid #8ed3ff8c;margin:0 5px 7px 16px;padding:1px 0 2px 11px}.main-tool-tree{color:#fff;gap:2px;display:grid}.main-tree-node{width:100%;min-width:0;margin:1px 0}.main-tree-node summary{box-sizing:border-box;color:#b9d8ff;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;cursor:pointer;background:0 0;border-radius:6px;width:100%;min-width:0;min-height:31px;padding:6px 8px 6px 21px;font-size:13px;font-weight:700;line-height:1.38;list-style:none;display:block;position:relative;overflow:hidden}.main-tree-node summary::-webkit-details-marker{display:none}.main-tree-node summary:before{content:"▸";color:#8bd5ff;font-size:10px;transition:transform .15s;position:absolute;top:7px;left:7px}.main-tree-node[open]>summary:before{transform:rotate(90deg)}.main-tree-node summary:hover{color:#fff;background:#1c6fca8c}.main-tree-node summary.active{color:#fff;background:#1967bf73}.main-tree-node.tree-course{width:calc(100% - 9px);margin-left:9px}.main-tree-node.tree-subject{width:calc(100% - 10px);margin-left:10px}.main-tree-node.tree-subject>summary{color:#d5e9ff;font-weight:750}.tree-class-branch{width:calc(100% - 10px);min-width:0;margin:2px 0 2px 10px;display:block}.tree-class-button{box-sizing:border-box;color:#c7e0ff;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#07418f61;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;width:100%;min-width:0;min-height:34px;padding:7px 9px;font-size:13px;font-weight:800;line-height:1.35;display:flex;overflow:hidden}.tree-class-button span{color:#8bd5ff;flex:0 0 10px;font-size:10px}.tree-class-button b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-class-button:hover{color:#fff;background:#176ec6}.tree-class-button.active{color:#fff;background:#0e62b8;border-color:#7dd3fc66;box-shadow:inset 3px 0 #80d5ff}.tree-class-branch>.main-tree-subjects,.tree-class-branch>.tree-class-subjects{box-sizing:border-box;border-left:1px solid #7dd3fc80;width:calc(100% - 18px);margin:3px 0 5px 18px;padding-left:8px}.tree-class-subjects>.main-tree-node.tree-subject{width:100%;margin-left:0}.main-tree-subjects{gap:2px;margin:2px 0 4px 12px;display:grid}.main-tree-subjects button{color:#d5e9ff;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;min-height:34px;padding:7px 9px;font-size:13px;font-weight:700;line-height:1.35;overflow:hidden}.main-tree-subjects button:hover{color:#fff;background:#176ec6}.main-tree-subjects button.active{color:#fff;background:#1d70c7;box-shadow:inset 3px 0 #80d5ff}.main-tree-leaves{gap:2px;margin:2px 0 4px 14px;display:grid}.main-tree-leaves button{color:#a8c9f2;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;min-height:35px;padding:7px 10px;font-size:13px;font-weight:650;line-height:1.35;overflow:hidden}.main-tree-leaves button:hover{color:#fff;background:#176ec6}.main-tree-leaves button.active{color:#fff;background:#253b64;box-shadow:inset 3px 0 #80d5ff}.main-tool-group.open>.bmtc-tab{border-bottom-right-radius:8px;border-bottom-left-radius:8px}@media (width<=720px){.bmtc-sidebar .main-tool-panel{display:none}}.function-tree{gap:3px;width:100%;min-width:0;display:grid}.function-tree-branch{width:100%;min-width:0;display:block}.function-tree-node,.function-tree-leaf{box-sizing:border-box;color:#c9e1ff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;min-width:0}.function-tree-node{grid-template-columns:12px minmax(0,1fr);align-items:center;gap:5px;min-height:34px;padding:7px 8px;font-size:13px;font-weight:800;display:grid}.function-tree-node i{color:#8bd5ff;font-size:10px;font-style:normal}.function-tree-node span,.function-tree-leaf{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.function-tree-node:hover,.function-tree-node.current{color:#fff;background:#1467bfad}.function-tree-node.class-node.current{background:#0e62b8;box-shadow:inset 3px 0 #80d5ff}.function-tree-children{box-sizing:border-box;border-left:1px solid #7dd3fc6b;gap:2px;width:calc(100% - 12px);min-width:0;margin-left:12px;padding-left:8px;display:grid}.function-tree-leaf{grid-template-columns:13px minmax(0,1fr);align-items:center;gap:4px;min-height:34px;padding:7px 9px;font-size:13px;font-weight:700;display:grid}.function-tree-leaf span{color:#8bd5ff;overflow:visible}.function-tree-leaf b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.function-tree-leaf:hover{color:#fff;background:#176ec6}.function-tree-leaf.active{color:#fff;background:#253b64;box-shadow:inset 3px 0 #80d5ff}.overview-quick-actions{justify-content:flex-end;margin:-8px 0 12px;display:flex}.department-directory-panel{margin-bottom:14px}.department-directory-heading{gap:18px}.department-create-row{border-bottom:1px solid var(--line);background:#fbfdff;grid-template-columns:minmax(150px,.55fr) minmax(260px,1.45fr) auto;align-items:end;gap:12px;padding:15px 20px;display:grid}.department-create-row label{color:#4b5870;gap:6px;font-size:11px;font-weight:750;display:grid}.department-create-row input,.department-name-editor{box-sizing:border-box;color:#1e2b43;width:100%;height:40px;font:inherit;background:#fff;border:1px solid #ced8e5;border-radius:7px;padding:0 11px}.department-create-row input:focus,.department-name-editor:focus{border-color:#3182e5;outline:2px solid #bfdbfe}.department-directory-table{min-width:850px}.department-directory-table td:first-child,.department-directory-table td:nth-child(4),.department-directory-table td:nth-child(5){text-align:center}.department-stable-id{color:#8a97aa;margin-top:3px;font-size:10px;font-weight:500;display:block}.department-name-editor{min-width:220px;height:34px}.department-row-actions{align-items:center;gap:6px;display:flex}.department-row-actions button{color:#245dba;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d4deea;border-radius:6px;min-height:31px;padding:0 9px;font-size:11px;font-weight:700}.department-row-actions button:hover:not(:disabled){background:#f4f8ff;border-color:#8cb8ed}.department-row-actions button:disabled{opacity:.45;cursor:not-allowed}.department-directory-note{color:#6d7a8e;margin:0;padding:11px 20px 14px;font-size:11px;line-height:1.5}@media (width<=900px){.department-create-row{grid-template-columns:1fr 1fr}.department-create-row .primary{grid-column:1/-1;width:100%}}@media (width<=620px){.department-directory-heading{align-items:flex-start}.department-create-row{grid-template-columns:1fr;padding:13px}.department-create-row .primary{grid-column:auto}.department-directory-note{padding:10px 13px 13px}}.group-switch{flex-wrap:wrap;align-items:center;gap:7px;margin:-2px 0 14px;display:flex}.group-switch button{color:#56657a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:36px;padding:8px 15px;font-size:13px;font-weight:750}.group-switch button.active{color:#fff;background:#1769d1;border-color:#1769d1}.student-filters{grid-template-columns:130px 110px 140px 150px 170px minmax(200px,1fr) auto}.monthly-filters{grid-template-columns:110px 130px 150px 180px minmax(260px,1fr)}.report-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}@media (width<=1180px){.student-filters,.monthly-filters,.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-filters .secondary-action,.report-filters .secondary-action,.report-filters .primary{width:100%}}.teacher-control-dock{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f7fbf7;border-bottom:1px solid #dbe3ed;margin:-18px -16px 14px;padding:10px 16px 0;box-shadow:0 8px 22px #0f172a0f}.teacher-control-dock .topbar{gap:18px;min-height:48px;margin-bottom:8px}.teacher-control-dock .eyebrow{letter-spacing:.9px;font-size:9px}.teacher-control-dock .topbar h1{letter-spacing:-.35px;margin:2px 0 1px;font-size:21px;line-height:1.2}.teacher-control-dock .topbar p{max-width:820px;font-size:11px;line-height:1.35}.teacher-control-dock .topbar .source-badge{min-height:30px;padding:6px 12px;font-size:10px}.teacher-control-dock .filter-panel{box-shadow:none;border-radius:10px;gap:9px;margin:0;padding:9px 11px}.teacher-control-dock .filter-panel label{gap:3px;font-size:9px}.teacher-control-dock .filter-panel select{border-radius:7px;height:34px;min-height:34px;padding:0 9px;font-size:12px}.teacher-control-dock .filter-panel>.source-badge{min-height:34px;padding:7px 11px;font-size:10px}.teacher-control-dock .group-switch{gap:5px;margin:6px 0 0}.teacher-control-dock .group-switch button{border-radius:7px;min-height:29px;padding:5px 11px;font-size:11px}.teacher-control-dock .subtabs{gap:2px;min-height:38px;margin:5px 0 0}.teacher-control-dock .subtabs button{padding:8px 12px 7px;font-size:12px}@media (width>=901px){.teacher-control-dock{position:sticky;top:0}}@media (width<=900px){.teacher-control-dock{margin:-10px -8px 12px;padding:8px 8px 0}.teacher-control-dock .topbar{min-height:auto;margin-bottom:7px}.teacher-control-dock .notebook-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-control-dock .filter-panel>.source-badge{grid-column:1/-1;justify-self:start}}@media (width>=721px){.bmtc-sidebar{width:300px!important;padding:6px 5px!important}.bmtc-sidebar+.content{width:calc(100% - 300px)!important;margin-left:300px!important}.bmtc-sidebar .side-brand{margin-bottom:6px;padding:0 10px 10px}.bmtc-logo-card{width:220px;height:58px;margin:0 auto 4px}.bmtc-sidebar .side-brand h3{margin-top:2px;font-size:15px;line-height:1.22}.bmtc-sidebar .sidebar-menu{gap:2px;padding:4px 3px 6px 8px}.bmtc-sidebar .sidebar-menu::-webkit-scrollbar{width:6px}.bmtc-tab{border-radius:8px;min-height:43px;padding:7px 29px 7px 9px}.bmtc-tab span{font-size:14px}.bmtc-tab small{margin:1px 0 0 23px;font-size:10px}.bmtc-tab i{top:12px;right:9px}.main-tool-panel{margin:0 4px 5px 13px;padding-left:8px}.function-tree{gap:2px}.function-tree-node,.function-tree-leaf{min-height:30px;padding:5px 7px;font-size:12px}.function-tree-children{width:calc(100% - 9px);margin-left:9px;padding-left:6px}.bmtc-sidebar .sidebar-user{grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:8px;margin:5px 7px 0;padding:8px 5px;display:grid}.bmtc-sidebar .sidebar-user .avatar{width:34px;height:34px}.bmtc-sidebar .sidebar-user>div:not(.avatar){gap:1px;min-width:0;display:grid}.bmtc-sidebar .sidebar-user strong,.bmtc-sidebar .sidebar-user span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bmtc-sidebar .sidebar-user strong{font-size:12px}.bmtc-sidebar .sidebar-user span{color:#cfe6ff;font-size:10px}.bmtc-sidebar .sidebar-user button{background:#ffffff12;border-radius:7px;width:30px;height:30px;padding:0}.bmtc-sidebar .support-card{border-radius:9px;gap:3px;margin-top:4px;padding:9px 11px;font-size:11px}.bmtc-sidebar .support-card strong{font-size:12px}.bmtc-sidebar .support-card small{margin-top:3px;font-size:9px}.app-sidebar.bmtc-sidebar{background:var(--notebook-navy)!important;width:280px!important;padding:0!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - 280px)!important;margin-left:280px!important}}@media (width<=720px){.app-sidebar.bmtc-sidebar{background:var(--notebook-navy)!important;width:60px!important;padding:0!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - 60px)!important;margin-left:60px!important}}.app-sidebar .notebook-function-tree{gap:1px}.app-sidebar .notebook-function-tree .function-tree-node{border-radius:7px;grid-template-columns:14px minmax(0,1fr);gap:4px;min-height:31px;padding:6px 9px;position:relative}.app-sidebar .notebook-function-tree .function-tree-node>i:first-child{color:#a9d8ff;place-items:center;width:14px;font-size:9px;display:grid}.app-sidebar .notebook-function-tree .level-year>.function-tree-node.current,.app-sidebar .notebook-function-tree .level-department>.function-tree-node.current,.app-sidebar .notebook-function-tree .level-course>.function-tree-node.current{color:#fff;box-shadow:none;background:0 0}.app-sidebar .notebook-function-tree .level-year>.function-tree-node:hover,.app-sidebar .notebook-function-tree .level-department>.function-tree-node:hover,.app-sidebar .notebook-function-tree .level-course>.function-tree-node:hover{background:#ffffff12}.app-sidebar .notebook-function-tree .level-class>.function-tree-node{grid-template-columns:14px minmax(0,1fr) 14px;font-weight:750}.app-sidebar .notebook-function-tree .level-class>.function-tree-node.current{color:#fff;box-shadow:none;background:#0d57a3}.app-sidebar .notebook-function-tree .tree-class-state{color:#d8ecff;place-items:center;width:14px;font-size:12px;font-weight:900;display:grid}.app-sidebar .notebook-function-tree .function-tree-children{border-left-color:#7eb9eb4d;width:calc(100% - 13px);margin-left:13px;padding-left:8px}.app-sidebar .notebook-function-tree .subject-leaves{border-left:1px solid #7eb9eb6b;gap:0;width:calc(100% - 12px);margin-left:12px;padding-left:0;position:relative}.app-sidebar .notebook-function-tree .subject-tree-leaf{color:#d1e1f3;min-height:31px;box-shadow:none;background:0 0;border-radius:7px;grid-template-columns:20px minmax(0,1fr);gap:2px;padding:6px 8px 6px 0;font-weight:600;position:relative;overflow:visible}.app-sidebar .notebook-function-tree .subject-tree-leaf .tree-subject-marker{align-self:stretch;width:20px;position:relative;overflow:visible}.app-sidebar .notebook-function-tree .subject-tree-leaf .tree-subject-marker:before{content:"";border-top:1px solid #7eb9eb85;width:13px;position:absolute;top:50%;left:-1px}.app-sidebar .notebook-function-tree .subject-tree-leaf.last .tree-subject-marker:after{content:"";z-index:1;background:var(--notebook-navy);width:3px;position:absolute;top:calc(50% + 1px);bottom:-7px;left:-2px}.app-sidebar .notebook-function-tree .subject-tree-leaf:hover{color:#fff;background:#1467bf85}.app-sidebar .notebook-function-tree .subject-tree-leaf.active{color:#fff;box-shadow:none;background:#0b63c7}.app-sidebar .notebook-function-tree .subject-tree-leaf.active:before{content:"";z-index:3;width:8px;height:8px;box-shadow:0 0 0 3px var(--notebook-navy);background:#2b92ff;border-radius:50%;position:absolute;top:50%;left:-17px;transform:translateY(-50%)}.app-sidebar .notebook-function-tree .subject-tree-leaf b{font-weight:600}:root{--font-ui:"Inter Variable","Inter","Segoe UI",Arial,sans-serif;--navy-950:#001044;--navy-900:#002b70;--sidebar-top:#002e76;--sidebar-bottom:#0046a4;--blue-600:#0b63e6;--blue-active:#0878f6;--blue-soft:#eaf2ff;--teal-700:#00675f;--teal-600:#08766f;--teal-soft:#edf9f5;--success:#0b7a38;--success-bg:#f0f9f1;--warning:#d45d00;--warning-bg:#fff7ed;--danger:#d92d3a;--danger-bg:#fff1f2;--heading:#00134f;--text:#18345f;--muted:#60749a;--canvas:#fbfcfe;--surface:#fff;--line:#d7e3f0;--line-soft:#e8eef6;--radius-control:7px;--radius-card:10px;--shadow-card:0 2px 10px #002a5e0d;--shadow-drawer:-12px 0 30px #001f4a1a;--sidebar-width:280px;--header-height:80px}html,body{min-height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #0b63e62e}@media (width>=721px){.app-sidebar.bmtc-sidebar{border-right:1px solid #ffffff1f;width:var(--sidebar-width)!important;background:linear-gradient(180deg,var(--sidebar-top) 0%,var(--sidebar-bottom) 100%)!important;padding:0!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - var(--sidebar-width))!important;margin-left:var(--sidebar-width)!important}}.app-sidebar .side-brand{place-items:center;gap:5px;min-height:132px;display:grid;border-bottom:1px solid #ffffff2e!important;padding:16px 22px 14px!important}.app-sidebar .bmtc-logo-card{width:205px!important;height:74px!important;margin:0!important}.app-sidebar .bmtc-logo-card img{object-fit:contain;object-position:center}.sidebar-school-name{color:#fff;letter-spacing:.15px;text-align:center;font-size:14px;font-weight:800;line-height:1.3}.sidebar-department-picker{color:#d8e8fb;gap:5px;margin:10px 11px 0;font-size:10px;font-weight:700;display:grid}.sidebar-department-picker select{color:#fff;background:#0d4d97;border:1px solid #ffffff3d;border-radius:8px;width:100%;min-height:36px;padding:0 28px 0 10px;font-size:11px;font-weight:700}.sidebar-department-picker option{color:#12203a;background:#fff}.app-sidebar .sidebar-menu{scrollbar-width:thin;scrollbar-color:#73c7f4 transparent;gap:4px!important;padding:14px 11px 12px!important}.app-sidebar .bmtc-tab{transition:background .16s,box-shadow .16s;border-radius:8px!important;grid-template-columns:25px minmax(0,1fr)!important;column-gap:9px!important;min-height:52px!important;padding:8px 34px 8px 11px!important}.app-sidebar .bmtc-tab:hover{background:#ffffff1a}.app-sidebar .bmtc-tab.active{background:var(--blue-active)!important;box-shadow:0 5px 14px #001a5b38!important}.app-sidebar .bmtc-tab>svg{stroke-width:1.9px;color:#eef7ff;width:19px;height:19px}.app-sidebar .bmtc-tab>span{font-weight:750;line-height:1.25;font-size:14px!important}.app-sidebar .bmtc-tab>small{color:#cfe3ff;font-weight:500;line-height:1.2;margin-top:2px!important;font-size:11px!important}.app-sidebar .nav-chevron{width:15px;height:15px;top:18px;right:11px}.app-sidebar .main-tool-panel{border-left:1px solid #b9d8ff4d;margin:3px 3px 8px 16px;padding-left:10px}.app-sidebar .function-tree{gap:2px}.app-sidebar .function-tree-node,.app-sidebar .function-tree-leaf{border-radius:7px;min-height:32px;padding:6px 8px;font-size:12px;line-height:1.35}.app-sidebar .function-tree-node i{place-items:center;width:14px;display:grid}.app-sidebar .function-tree-node.current{color:#fff;background:#1b67bead}.app-sidebar .function-tree-node.class-node.current{background:#175fae;box-shadow:inset 3px 0 #79cfff}.app-sidebar .function-tree-leaf.active,.app-sidebar .notebook-function-tree .subject-tree-leaf.active{background:#176ec6;box-shadow:inset 3px 0 #79cfff}.app-sidebar .function-tree-children{border-left-color:#b9d8ff47}.app-sidebar .sidebar-user{display:none!important}.sidebar-support{color:#fff;background:#0c53acad;border:1px solid #ffffff6b;border-radius:10px;flex:none;gap:5px;margin:8px 12px 5px;padding:12px 14px;display:grid;box-shadow:0 6px 18px #0016461f}.sidebar-support strong{align-items:center;gap:8px;margin-bottom:2px;font-size:13px;display:flex}.sidebar-support a{color:#fff;font-size:11.5px;text-decoration:none}.sidebar-support a:hover{text-decoration:underline}.app-sidebar .sidebar-sync-note{color:#d6e9ff;border-top:0;margin:0 12px 12px;padding:7px 4px 0;font-size:10.5px}.academic-content{background:var(--canvas);min-width:0;max-width:none!important}.academic-content:not(.teacher-content){padding:0 28px 42px!important}.workspace-header{z-index:55;height:var(--header-height);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;justify-content:space-between;align-items:center;gap:24px;margin:0 -28px;padding:0 28px;display:flex;position:sticky;top:0}.workspace-product{align-items:center;gap:12px;min-width:0;display:flex}.workspace-product>span{width:42px;height:42px;color:var(--navy-900);background:var(--blue-soft);border-radius:9px;place-items:center;display:grid}.workspace-product>div{gap:2px;min-width:0;display:grid}.workspace-product strong{color:var(--heading);letter-spacing:.1px;font-size:16px;line-height:1.2}.workspace-product small{color:var(--muted);font-size:11px}.header-account-controls{flex:none;align-items:center;gap:14px;display:flex}.workspace-notification{width:40px;height:40px;color:var(--navy-950);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:relative}.workspace-notification:hover{background:#f2f6fb}.workspace-notification i{color:#fff;background:#ef1f2f;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-style:normal;font-weight:800;display:grid;position:absolute;top:1px;right:0}.workspace-week{border-right:1px solid var(--line);color:var(--navy-900);align-items:center;gap:9px;padding-right:14px;display:flex}.workspace-week>div,.workspace-account>div{gap:1px;display:grid}.workspace-week strong,.workspace-account strong{color:var(--heading);font-size:12.5px;line-height:1.2}.workspace-week span,.workspace-account span{color:var(--muted);white-space:nowrap;font-size:10.5px}.workspace-account{align-items:center;gap:9px;display:flex}.workspace-avatar{background:#f4f8fd;border:1px solid #cbdcf0;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid;color:var(--navy-900)!important;font-size:11px!important}.workspace-logout{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.workspace-logout:hover{color:var(--blue-600);border-color:#b8cbe0}.workspace-page-heading{border-bottom:1px solid var(--line-soft);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:112px;margin:0 -28px 20px;padding:22px 28px 18px;display:flex}.workspace-eyebrow{color:var(--teal-700);letter-spacing:.9px;font-size:11px;font-weight:800;line-height:1.3}.workspace-page-heading h1{color:var(--heading);letter-spacing:-.45px;margin:5px 0 4px;font-size:27px;font-weight:750;line-height:1.2}.workspace-page-heading p{color:var(--muted);margin:0;font-size:12.5px}.workspace-role-badge{min-height:34px;color:var(--success);background:var(--success-bg);white-space:nowrap;border:1px solid #cce9db;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex}.primary,.save-button,.auth-primary,.notebook-primary-button{border-color:var(--teal-600)!important;background:var(--teal-600)!important;color:#fff!important;box-shadow:0 4px 12px #08766f29!important}.primary:hover,.save-button:hover,.auth-primary:hover,.notebook-primary-button:hover{background:var(--teal-700)!important}.primary,.secondary-action,.save-button{border-radius:7px;min-height:40px;padding:0 16px;font-size:12.5px;font-weight:700}.secondary-action{color:var(--blue-600);border:1px solid var(--blue-600);background:#fff;justify-content:center;align-items:center;gap:7px;display:inline-flex}.secondary-action:hover{background:#f4f8ff}.panel,.upload-card,.filter-panel,.metric-card,.metrics article{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.metrics{gap:14px;margin-bottom:18px}.metrics article,.metric-card{gap:14px;min-height:104px;padding:18px}.metric-icon{border-radius:10px;flex:0 0 42px;width:42px;height:42px}.metrics b{color:var(--heading);font-size:23px;line-height:1.1}.metrics p{color:var(--text);margin:3px 0 4px;font-size:12px;font-weight:700}.metrics small{color:var(--muted);font-size:10.5px}.overview-quick-actions{margin:-8px 0 14px}.filter-panel{box-shadow:var(--shadow-card);gap:12px;margin-bottom:16px;padding:16px 18px}.filter-panel label,.account-fields label,.student-edit-form label,.meta-form label{color:var(--text);letter-spacing:0;text-transform:none;gap:6px;font-size:11.5px;font-weight:700}.filter-panel select,.filter-panel input,.account-fields input,.account-fields select,.student-edit-form input,.student-edit-form select,.meta-form input,.meta-form select{border-radius:var(--radius-control);height:40px;min-height:40px;color:var(--text);background:#fff;border:1px solid #ccdaea;padding:0 12px;font-size:12.5px}.filter-panel select:focus,.filter-panel input:focus,.account-fields input:focus,.account-fields select:focus,.student-edit-form input:focus,.student-edit-form select:focus{border-color:var(--blue-600);outline:0;box-shadow:0 0 0 3px #0b63e61f}.panel-heading{min-height:70px;padding:17px 20px}.panel-heading h2{color:var(--heading);margin:0 0 4px;font-size:16px;line-height:1.3}.panel-heading p{color:var(--muted);font-size:11.5px}.panel-heading button{border:1px solid var(--line);min-height:34px;color:var(--blue-600);background:#fff;border-radius:7px;padding:0 11px;font-size:11.5px;font-weight:700}.upload-card{padding:20px}.upload-card h2{color:var(--heading);font-size:16px}.upload-card p{color:var(--muted);font-size:11.5px}.upload-icon{flex-basis:42px;width:42px;height:42px}.upload-card li{color:var(--muted);padding:9px;font-size:10.5px}.required-pill,.soft-pill,.status-chip,.data-fresh,.locked-badge{font-size:10.5px}.warning-list b{color:var(--text);font-size:11.5px}.warning-list small{color:var(--muted);font-size:10.5px}.data-table th,.schedule-table th{color:#60708b;background:#f6f9fd;height:38px;padding:9px 12px;font-size:10.5px;font-weight:750}.data-table td,.schedule-table td{min-height:42px;color:var(--text);padding:11px 12px;font-size:12px}.data-table td b,.data-table td strong,.schedule-table td b,.schedule-table td strong{color:var(--heading);font-size:12px}.schedule-table td small{color:var(--muted);font-size:10.5px}.table-action{min-height:32px;padding:0 10px;font-size:10.5px}.status-chip{min-height:23px;padding:4px 9px}.report-options button{min-height:74px;padding:12px}.report-options button span{color:var(--blue-600)}.report-options button b{font-size:12px}.report-options button small{font-size:10.5px}.academic-content.teacher-content{padding:0!important}.notebook-app-header{height:var(--header-height);border-bottom:1px solid var(--line);background:#fffffffa;padding:0 28px}.notebook-breadcrumbs{color:var(--muted);gap:10px;font-size:12.5px}.notebook-breadcrumbs strong,.notebook-breadcrumbs b{color:var(--heading)}.teacher-notebook-body{padding:23px 28px 42px}.notebook-page-heading{margin-bottom:18px}.notebook-page-heading h1{color:var(--heading);font-size:27px;font-weight:750}.notebook-page-heading p{color:var(--muted);font-size:12.5px}.notebook-primary-button,.notebook-secondary-button{border-radius:7px;min-height:40px;padding:0 15px;font-size:12px}.notebook-secondary-button{color:var(--blue-600);border-color:var(--blue-600)}.notebook-filter-card,.notebook-tabs-card,.notebook-stat-card,.attendance-card,.notebook-panel-card{border-color:var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.notebook-filter-card{gap:13px;padding:15px 17px}.notebook-filter-card label,.notebook-session-badge>span{color:var(--text);font-size:11.5px}.notebook-filter-card select{height:40px;color:var(--text);border-radius:7px;font-size:12.5px}.notebook-session-badge strong{height:40px;font-size:11.5px}.notebook-group-selector button{border-radius:7px;height:38px;font-size:12px}.notebook-group-selector button.active{background:var(--blue-600);border-color:var(--blue-600)}.notebook-stat-grid{gap:12px}.notebook-stat-card{min-height:100px;padding:17px}.notebook-stat-card span{color:var(--muted);font-size:11.5px}.notebook-stat-card strong{color:var(--heading);font-size:25px}.notebook-stat-card small{font-size:10.5px}.notebook-tabs-card{min-height:58px}.notebook-tabs>button{padding:0 16px;font-size:12px}.notebook-student-sort,.notebook-student-sort select,.notebook-tab-actions>button{font-size:11px}.attendance-card-header,.notebook-panel-heading{min-height:76px;padding:15px 17px}.attendance-card-header h2,.notebook-panel-heading h2{color:var(--heading);font-size:17px}.attendance-card-header p,.notebook-panel-heading p{color:var(--muted);font-size:11.5px}.teacher-attendance-table{font-size:11.5px}.teacher-attendance-table th,.teacher-attendance-table td{height:48px}.teacher-attendance-table thead th{color:var(--heading);background:#f6f9fd}.teacher-attendance-table th>button strong{font-size:11.5px}.teacher-attendance-table th>button span,.teacher-attendance-table th>button small{font-size:10px}.attendance-save-bar,.notebook-panel-footer{min-height:64px}.student-drawer-backdrop{background:#0010442e;justify-content:flex-end;align-items:stretch;padding:0}.student-drawer-backdrop .student-edit-modal{width:min(496px,100vw);max-width:none;min-height:100vh;box-shadow:var(--shadow-drawer);background:#fff;border-radius:0;flex-direction:column;margin:0;display:flex}.student-drawer-backdrop .modal-head{padding:24px 26px 20px}.student-drawer-backdrop .modal-head h2{color:var(--heading);font-size:21px}.student-drawer-backdrop .student-edit-form{flex:1;grid-template-columns:1fr;align-content:start;gap:16px;padding:22px 26px;display:grid}.student-drawer-backdrop .modal-actions{background:#fff;gap:14px;padding:16px 26px;display:grid;position:sticky;bottom:0}.student-drawer-backdrop .modal-actions>span{font-size:11px;line-height:1.5}.student-drawer-backdrop .modal-actions>div{grid-template-columns:1fr 1fr;display:grid}.auth-shell{background:linear-gradient(135deg,var(--navy-950) 0%,var(--navy-900) 48%,#0756a8 100%)}.auth-card{font-family:var(--font-ui);border:1px solid #d7e3f0cc;border-radius:14px;box-shadow:0 24px 70px #00104447}.auth-school,.auth-heading>span{color:var(--teal-600)}.auth-heading h1{color:var(--heading)}.setup-form label{color:var(--text);font-size:12px}.setup-form input{border-radius:7px;min-height:44px;font-size:13px}@media (width<=1279px) and (width>=721px){:root{--sidebar-width:240px}.app-sidebar .bmtc-logo-card{width:180px!important}.app-sidebar .bmtc-tab>span{font-size:13px!important}.app-sidebar .bmtc-tab>small{font-size:10px!important}.header-account-controls{gap:9px}.workspace-week{display:none}.workspace-logout{justify-content:center;width:36px;padding:0;font-size:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1050px){.workspace-account>div,.workspace-account>svg{display:none}.notebook-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook-filter-card .subject-filter,.notebook-session-badge{grid-column:1/-1}}@media (width<=720px){:root{--header-height:58px;--sidebar-width:64px}.app-sidebar.bmtc-sidebar{width:64px!important}.app-sidebar.bmtc-sidebar+.content{width:calc(100% - 64px)!important;margin-left:64px!important}.app-sidebar .side-brand{min-height:64px;padding:8px!important}.app-sidebar .bmtc-logo-card{overflow:hidden;width:48px!important;height:46px!important}.app-sidebar .bmtc-logo-card img{object-position:left center;max-width:none;width:150px!important}.sidebar-school-name,.sidebar-support,.sidebar-department-picker{display:none}.app-sidebar .sidebar-menu{padding:9px 7px!important}.app-sidebar .bmtc-tab{min-height:46px!important;padding:10px!important}.app-sidebar .bmtc-tab>svg{width:20px;height:20px}.app-sidebar .bmtc-tab>span,.app-sidebar .bmtc-tab>small,.app-sidebar .nav-chevron,.app-sidebar .main-tool-panel,.app-sidebar .sidebar-sync-note{display:none!important}.academic-content:not(.teacher-content){padding:0 13px 28px!important}.workspace-header{height:58px;margin:0 -13px;padding:0 12px}.workspace-product>span{width:36px;height:36px}.workspace-product>div,.workspace-week,.workspace-account>div,.workspace-account>svg{display:none}.header-account-controls{gap:5px}.workspace-notification{width:34px;height:34px}.workspace-avatar{width:35px;height:35px}.workspace-logout{justify-content:center;width:34px;min-height:34px;padding:0;font-size:0}.workspace-page-heading{min-height:102px;margin:0 -13px 14px;padding:16px 13px}.workspace-page-heading h1{font-size:21px}.workspace-page-heading p{max-width:440px;font-size:11px}.workspace-role-badge{display:none}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article,.metric-card{gap:9px;min-height:90px;padding:12px}.metric-icon{flex-basis:35px;width:35px;height:35px}.metrics b{font-size:19px}.metrics p{font-size:10.5px}.metrics small{font-size:9.5px}.filter-panel{padding:12px}.notebook-app-header{height:58px;padding:0 12px}.notebook-app-header .header-account-controls{margin-left:auto}.notebook-breadcrumbs b{max-width:100px}.teacher-notebook-body{padding:15px 12px 28px}.notebook-page-heading h1{font-size:21px}.student-drawer-backdrop .student-edit-modal{width:100vw}}.zalo-page{--zalo-accent:#08766f;--zalo-accent-strong:#00675f;--zalo-accent-soft:#edf9f5;width:100%;min-width:0;color:var(--text);gap:16px;display:grid}.zalo-loading{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-height:150px;box-shadow:var(--shadow-card);color:var(--blue-600);justify-content:center;align-items:center;gap:13px;padding:28px;display:flex}.zalo-loading>div{gap:3px;display:grid}.zalo-loading strong{color:var(--heading);font-size:14px}.zalo-loading span{color:var(--muted);font-size:11.5px}.zalo-loading .spin{animation:.8s linear infinite zalo-spin}@keyframes zalo-spin{to{transform:rotate(360deg)}}.zalo-flow-note{border-radius:var(--radius-card);background:linear-gradient(110deg,#f4fbf8 0%,#fff 72%);border:1px solid #c8e7df;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:14px 16px;display:flex;box-shadow:0 2px 10px #00465a0a}.zalo-flow-note>div{align-items:center;gap:12px;min-width:0;display:flex}.zalo-flow-note>div>svg{width:36px;height:36px;color:var(--zalo-accent);background:#dff4ed;border-radius:9px;flex:0 0 36px;padding:8px}.zalo-flow-note>div>span{color:var(--muted);gap:2px;font-size:11.5px;line-height:1.45;display:grid}.zalo-flow-note strong{color:var(--heading);font-size:12.5px}.zalo-toggle{color:#536783;white-space:nowrap;background:#fff;border:1px solid #d3dfeb;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:11.5px;font-weight:750;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}.zalo-toggle:hover{background:#f8fbfe;border-color:#9fb6ce}.zalo-toggle.active{color:var(--zalo-accent-strong);background:#e9f8f1;border-color:#a9dfca;box-shadow:0 3px 10px #08766f1a}.zalo-toggle:disabled,.zalo-page button:disabled{opacity:.54;cursor:not-allowed;box-shadow:none!important}.zalo-alert{border:1px solid;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:10px 13px;font-size:11.5px;font-weight:650;display:flex}.zalo-alert svg{flex:none}.zalo-alert.error{color:#b4232c;background:var(--danger-bg);border-color:#f2b8bd}.zalo-alert.success{color:#087443;background:var(--success-bg);border-color:#b9dfca}.zalo-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.zalo-status-grid article{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;min-height:112px;box-shadow:var(--shadow-card);align-content:center;gap:7px;padding:16px;display:grid}.zalo-status-grid article>span{color:var(--muted);align-items:center;gap:7px;font-size:10.5px;font-weight:700;display:flex}.zalo-status-grid article>span svg{color:var(--blue-600)}.zalo-status-grid article>strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.25;overflow:hidden}.zalo-status-grid article>small{color:var(--muted);font-size:10.5px;line-height:1.4}.zalo-status-grid .good-text{color:#07804a}.zalo-status-grid .warning-text{color:var(--warning)}.zalo-admin-grid{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:start;gap:16px;display:grid}.zalo-recipient-form,.zalo-preview-panel,.zalo-teacher-access,.zalo-recipient-table,.zalo-history{min-width:0}.zalo-recipient-form>.panel-heading,.zalo-preview-panel>.panel-heading,.zalo-teacher-access>.panel-heading,.zalo-recipient-table>.panel-heading,.zalo-history>.panel-heading{background:linear-gradient(#fff 0%,#fcfdff 100%)}.zalo-form-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr);gap:13px;padding:18px 20px 10px;display:grid}.zalo-form-grid label,.zalo-preview-controls label{min-width:0;color:var(--text);gap:6px;font-size:11.5px;font-weight:700;display:grid}.zalo-form-grid input,.zalo-form-grid select,.zalo-preview-controls input,.zalo-preview-controls select{border-radius:var(--radius-control);width:100%;min-width:0;height:40px;color:var(--text);background:#fff;border:1px solid #ccdaea;padding:0 11px;font-size:12px;transition:border-color .15s,box-shadow .15s}.zalo-form-grid input:focus,.zalo-form-grid select:focus,.zalo-preview-controls input:focus,.zalo-preview-controls select:focus{border-color:var(--blue-600);outline:0;box-shadow:0 0 0 3px #0b63e61c}.zalo-form-grid input::placeholder{color:#94a2b7}.zalo-permission-row{flex-wrap:wrap;gap:8px;padding:8px 20px 12px;display:flex}.zalo-permission-row label,.zalo-class-picker label{color:#405675;cursor:pointer;background:#f9fbfd;border:1px solid #dbe5f0;border-radius:7px;align-items:center;gap:7px;min-height:34px;padding:7px 10px;font-size:10.5px;font-weight:650;display:inline-flex}.zalo-permission-row label:hover,.zalo-class-picker label:hover{background:#f4f8fd;border-color:#bad0e6}.zalo-permission-row input,.zalo-class-picker input{width:15px;height:15px;accent-color:var(--zalo-accent);margin:0}.zalo-class-picker{scrollbar-width:thin;background:#f8fbff;border:1px solid #dce7f2;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px;max-height:150px;margin:0 20px 4px;padding:10px;display:grid;overflow:auto}.zalo-class-picker label{background:#fff;min-width:0}.zalo-consent-note{padding:4px 20px 2px}.zalo-consent-note label{color:var(--text);gap:6px;font-size:11.5px;font-weight:700;display:grid}.zalo-consent-note input{border-radius:var(--radius-control);width:100%;height:40px;color:var(--text);background:#fff;border:1px solid #ccdaea;padding:0 11px;font-size:12px}.zalo-consent-note input:focus{border-color:var(--blue-600);outline:0;box-shadow:0 0 0 3px #0b63e61c}.zalo-form-actions{justify-content:flex-end;align-items:center;gap:9px;padding:12px 20px 18px;display:flex}.zalo-form-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.zalo-preview-controls{grid-template-columns:minmax(150px,1.1fr) minmax(130px,.9fr);gap:12px;padding:18px 20px 4px;display:grid}.zalo-message-preview{background:#f7fbff;border:1px solid #bfd4ee;border-radius:9px;margin:0 20px 20px;overflow:hidden}.zalo-message-preview>div{background:#eff6ff;border-bottom:1px solid #d8e5f3;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 12px;display:flex}.zalo-message-preview>div strong,.zalo-message-preview>div span{color:#335477;background:#fff;border-radius:999px;align-items:center;min-height:24px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.zalo-message-preview>div strong{color:var(--blue-600)}.zalo-message-preview pre{color:#16385f;max-height:330px;font-family:var(--font-ui);white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin;background:#fff;margin:0;padding:15px;font-size:11.5px;line-height:1.6;overflow:auto}.zalo-access-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px 14px;padding:18px 20px 20px;font-size:11.5px;display:flex}.zalo-access-summary b{color:var(--heading);font-size:12px}.zalo-empty{min-height:88px;color:var(--muted);text-align:center;place-items:center;padding:20px;font-size:11.5px;display:grid}.zalo-recipient-table .table-wrap,.zalo-history .table-wrap{scrollbar-width:thin;scrollbar-color:#afc1d6 transparent;width:100%;overflow:auto}.zalo-recipient-table .data-table{min-width:850px}.zalo-history .data-table{min-width:1010px}.zalo-recipient-table .data-table td,.zalo-history .data-table td{vertical-align:middle}.zalo-recipient-table .data-table td small,.zalo-history .data-table td small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35;display:block}.zalo-recipient-table .data-table tbody tr:hover,.zalo-history .data-table tbody tr:hover{background:#fbfdff}.zalo-recipient-table .table-action{min-height:31px;color:var(--blue-600);white-space:nowrap;background:#fff;border:1px solid #c8d8e9;border-radius:6px;padding:0 10px;font-weight:700}.zalo-recipient-table .table-action:hover{background:#f3f8ff;border-color:#9dbce0}@media (width<=1279px){.zalo-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zalo-admin-grid{grid-template-columns:1fr}.zalo-preview-panel{order:-1}}@media (width<=900px){.zalo-form-grid{grid-template-columns:1fr 1fr}.zalo-form-grid label:last-child{grid-column:1/-1}}@media (width<=720px){.zalo-page{gap:11px}.zalo-flow-note{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.zalo-flow-note>div{align-items:flex-start}.zalo-flow-note>div>svg{flex-basis:34px;width:34px;height:34px}.zalo-toggle{border-radius:7px;width:100%}.zalo-status-grid{gap:8px}.zalo-status-grid article{min-height:96px;padding:12px}.zalo-status-grid article>strong{font-size:14px}.zalo-form-grid{grid-template-columns:1fr;gap:10px;padding:14px 13px 7px}.zalo-form-grid label:last-child{grid-column:auto}.zalo-permission-row{padding:7px 13px 10px}.zalo-permission-row label{flex:calc(50% - 8px)}.zalo-class-picker{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 13px 3px}.zalo-consent-note{padding:4px 13px 2px}.zalo-form-actions{padding:10px 13px 14px}.zalo-preview-controls{padding:14px 13px 2px}.zalo-message-preview{margin:0 13px 14px}.zalo-access-summary{padding:15px 13px}.zalo-recipient-form>.panel-heading,.zalo-preview-panel>.panel-heading,.zalo-teacher-access>.panel-heading,.zalo-recipient-table>.panel-heading,.zalo-history>.panel-heading{min-height:62px;padding:14px 13px}}@media (width<=480px){.zalo-status-grid{grid-template-columns:1fr}.zalo-status-grid article{min-height:88px}.zalo-preview-controls{grid-template-columns:1fr}.zalo-form-actions{grid-template-columns:1fr 1fr;display:grid}.zalo-form-actions button{width:100%;min-width:0;padding-inline:8px}.zalo-preview-actions{grid-template-columns:1fr}.zalo-permission-row{grid-template-columns:1fr;display:grid}.zalo-class-picker{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
