@font-face{font-family:Inter;src:url(../fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(27 44 36/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5;font-feature-settings:"cv11","ss01";background:#f6f8fa}body,h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a5c992;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:none;border-color:#88ad7c!important;box-shadow:0 0 0 3px #edf4e7}input[type=checkbox],input[type=radio]{accent-color:#39754b}svg{flex-shrink:0}::-moz-selection{background:#d7e8c8;color:#27432f}::selection{background:#d7e8c8;color:#27432f}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}table{border-collapse:collapse;width:100%}dialog{padding:0;border:none;color:#1b2c24}textarea{resize:vertical}button{background:none}hr{border-color:#edf0ed}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-80px;padding:12px 20px;background:#21613f;color:#fff;z-index:200}.skip-link:focus{top:10px}.\!sidebar{width:246px!important;position:fixed!important;inset:0 auto 0 0!important;background:#fff!important;border-right:1px solid #e7ece8!important;z-index:45!important;display:flex!important;flex-direction:column!important}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e7ece8;z-index:45;display:flex;flex-direction:column}.sidebar-brand{height:92px;padding:28px 24px 20px;justify-content:space-between}.brand,.sidebar-brand{display:flex;align-items:center}.brand{gap:9px;width:-moz-max-content;width:max-content}.brand-symbol{width:37px;height:40px;display:grid;place-items:center;background:#286b48;color:#e4efcb;border-radius:11px 11px 11px 3px}.brand strong{font-size:21px;letter-spacing:-1px;font-weight:760;line-height:1.2;display:block}.brand strong>span:not(.brand-dot){font-weight:460}.brand strong .brand-dot{color:#7c9e53;font-weight:800}.brand small{font-size:7.4px;letter-spacing:1.75px;font-weight:600;display:block;color:#7e8a80;margin-top:3px}.school-switcher{margin:6px 17px 20px}.school-switcher>summary{padding:11px 10px;border:1px solid #e6ebe5;border-radius:9px;display:flex;align-items:center;gap:9px;background:#fdfefd}.school-monogram{width:32px;height:34px;background:#f1eedc;color:#8b834e;border:1px solid #e7e2c7;border-radius:8px;display:grid;place-items:center;font-size:18px;font-family:Georgia,serif;font-weight:700;flex-shrink:0}.school-switcher-text{min-width:0;flex:1}.school-switcher strong{font-size:11.5px;font-weight:650;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-switcher small{display:block;font-size:10px;color:#91978f;margin-top:1px}.sidebar-nav{padding:0 13px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#e2e9e2 transparent}.nav-group+.nav-group{margin-top:20px}.nav-caption{font-size:8.5px;color:#99a09a;letter-spacing:1.35px;font-weight:600;padding:0 15px;margin-bottom:8px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 13px;min-height:40px;border-radius:7px;color:#748078;font-size:11.6px;font-weight:500;transition:background .15s,color .15s;margin:3px 0}.nav-item>span:nth-child(2){flex:1}.nav-item:hover{background:#f5f7f3;color:#295c3e}.nav-item.active{background:#eaf2e3;color:#3e683c;font-weight:650}.nav-item.active .icon{stroke-width:1.9}.nav-count{font-size:9px;min-width:30px;background:#f2f4f1;color:#84907e;padding:2px 5px;border-radius:4px;text-align:center}.active .nav-count{background:#dce9ce;color:#567945}.sidebar-bottom{padding:14px 13px 0}.sidebar-note{margin-top:16px;padding:17px 7px;border-top:1px solid #eef1eb;display:flex;align-items:center;gap:7px;font-size:9px;color:#89917e;white-space:nowrap}.status-dot{height:5px;width:5px;display:inline-block;border-radius:50%;background:#78a06a;box-shadow:0 0 0 3px #f0f5ed;flex-shrink:0}.app-shell{margin-left:246px;min-height:100vh}.topbar{height:78px;padding:0 30px;border-bottom:1px solid #e7ece8;background:#fff;justify-content:space-between;position:sticky;top:0;z-index:35;gap:14px}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:13px;white-space:nowrap;font-size:11px}.breadcrumb-parent{color:#9ba29d}.breadcrumb-current{color:#4b5850;font-weight:500}.topbar-left>.icon{color:#b4bbb5}.topbar-right{display:flex;align-items:center;gap:19px}.global-search-trigger{display:flex;align-items:center;gap:10px;color:#9ba29c;font-size:11px}.global-search-trigger kbd{border:1px solid #e8ece7;border-radius:4px;background:#fafbf9;font-size:9px;padding:1px 5px;margin-left:19px;font-family:inherit;color:#98a192}.icon-button{height:33px;width:33px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#869086;flex-shrink:0;transition:background .15s}.icon-button:hover{background:#f0f4ed;color:#3b693e}.icon-button.danger:hover{background:#fff0ed;color:#c76b5a}.notification-trigger{position:relative}.notification-dot{position:absolute;top:5px;right:7px;width:5px;height:5px;background:#d4a06e;border:1.5px solid #fff;border-radius:50%}.topbar-divider{height:28px;border-left:1px solid #edf0eb}.profile-trigger{display:flex;align-items:center;gap:10px}.profile-trigger strong{display:block;font-size:11px;font-weight:600}.profile-trigger small{display:block;color:#959d94;font-size:9px;margin-top:2px}.profile-trigger>.icon{margin-left:9px;color:#8f988a}.avatar{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:600;flex-shrink:0;letter-spacing:-.2px}.avatar-profile{width:35px;height:35px;border:3px solid #fff;box-shadow:0 0 0 1px #e8ede1;background:#e8edd9!important;color:#6b7958!important}.avatar-lg{width:50px;height:50px;font-size:15px}.avatar-xl{width:78px;height:78px;font-size:25px;border:5px solid #fff;box-shadow:0 2px 5px #1733240d}.avatar-sm{width:28px;height:28px;font-size:9px}.main-content{max-width:1620px;margin:0 auto;padding:29px 31px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading h1{font-size:25px;letter-spacing:-.8px;font-weight:640;line-height:1.3}.page-heading p{color:#919990;font-size:11.5px;margin-top:5px}.page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:37px;padding:9px 14px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:550;line-height:1.4;white-space:nowrap;transition:background .15s,box-shadow .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#2d6b48;border-color:#2d6b48;color:#fff;box-shadow:0 2px 3px #2b503218}.btn-primary:hover{background:#23573b}.btn-secondary{background:#fff;border-color:#e1e6df;color:#57604f;box-shadow:0 1px 2px #20321903}.btn-secondary:hover{background:#f7f9f5;border-color:#ccd8c6}.btn-soft{background:#edf4e7;color:#587948;border-color:#e1ecd7}.btn-danger{background:#bb5f52;color:#fff;border-color:#bb5f52}.btn-sm{min-height:30px;padding:6px 10px;font-size:10px}.btn .icon{width:15px;height:15px}.btn-block{width:100%}.text-button,.text-link{display:inline-flex;align-items:center;gap:7px;color:#63874e;font-size:10.5px;font-weight:550;white-space:nowrap}.text-button:hover,.text-link:hover{color:#2c633d;text-decoration:underline}.text-danger{color:#bc6256!important}.card{background:#fff;border:1px solid #e6ebe6;border-radius:11px;box-shadow:0 2px 4px #21332202;min-width:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px 16px}.card-header h2{font-size:13px;font-weight:620;letter-spacing:-.2px}.card-header p{font-size:10px;color:#959d94;margin-top:3px}.card-body{padding:0 21px 21px}.card-footer{padding:13px 21px;border-top:1px solid #eff2ed}.section-title{font-size:15px;font-weight:620;letter-spacing:-.3px}.section-subtitle{font-size:11px;color:#969e92;margin-top:3px}.kicker{font-size:8.5px;font-weight:650;letter-spacing:1.3px;color:#71915c;text-transform:uppercase}.muted{color:#919a8f}.subtle{color:#a0a69d}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:23px}.stat-card{padding:18px 19px 15px}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.stat-label{color:#838e80;font-size:11px;font-weight:450}.stat-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#f0f5e7;color:#7c995d}.stat-icon.blue{background:#edf3f9;color:#7296b3}.stat-icon.purple{background:#f2eef8;color:#a58bc0}.stat-icon.orange{background:#fcf2e7;color:#c1a075}.stat-value{font-size:28px;font-weight:630;letter-spacing:-1px;line-height:1.2}.stat-bottom{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;color:#9ca395;margin-top:12px}.stat-bottom .positive{color:#708e52;font-weight:500;display:inline-flex;align-items:center;gap:3px}.stat-bottom .mini-dot{width:3px;height:3px;background:#b8c1ae;border-radius:50%;margin:0 2px}.stat-mini{font-size:24px}.term-indicator{display:flex;align-items:center;gap:9px;border:1px solid #e3e8dd;border-radius:7px;padding:9px 12px;background:#fff;font-size:10px;color:#7b8870;white-space:nowrap}.term-indicator strong{font-weight:500;color:#5d6c52}.term-indicator .term-dot{width:3px;height:3px;background:#a9b899;border-radius:50%}.welcome-banner{background:linear-gradient(102deg,#edf3e6,#eef4e4 47%,#f3f3dd);border:1px solid #e5ebd9;border-radius:11px;min-height:172px;position:relative;overflow:hidden;display:flex;align-items:center;padding:26px 30px;margin-bottom:23px}.welcome-content{z-index:1;position:relative}.welcome-eyebrow{display:flex;align-items:center;gap:6px;font-size:10px;color:#7a8b61;margin-bottom:8px}.welcome-banner h2{font-size:25px;font-weight:610;letter-spacing:-.75px;color:#2f4a33;line-height:1.35}.welcome-banner p{font-size:11px;color:#839275;margin-top:6px}.welcome-actions{display:flex;gap:16px;align-items:center;margin-top:18px}.welcome-actions .btn{min-height:32px;font-size:10px;padding:8px 12px}.welcome-actions .text-link{font-size:10px;color:#758858}.campus-illustration{position:absolute;right:16px;bottom:-7px;width:355px;height:190px;-o-object-fit:contain;object-fit:contain}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(280px,1fr);gap:22px;margin-bottom:22px}.attendance-chart .card-header{padding-bottom:8px}.chart-headline{display:flex;align-items:baseline;gap:9px;padding:0 21px}.chart-headline strong{font-size:26px;letter-spacing:-1px;font-weight:620}.chart-headline small{font-size:9px;color:#929d87}.chart-headline .trend-tag{font-size:9px;color:#749256;background:#f1f6e9;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;margin-left:auto}.chart-area{padding:8px 13px 8px 14px}.line-chart{display:block;width:100%;height:auto;min-height:150px;max-height:212px}.line-chart circle{transition:r .15s}.line-chart circle:hover{r:6}.chart-foot{display:flex;justify-content:center;gap:17px;padding:0 0 15px;font-size:9px;color:#8e9982}.legend-dot{width:7px;height:7px;border-radius:2px;background:#86a462;display:inline-block;margin-right:5px}.select-small{font-size:9px;border:1px solid #e6ebdf;border-radius:6px;padding:6px 27px 6px 9px;background:#fff;color:#859079;min-height:28px;max-width:150px}.donut-layout{display:flex;align-items:center;justify-content:center;gap:21px;padding:7px 21px 24px}.donut-chart{height:158px;width:158px;border-radius:50%;position:relative;display:grid;place-items:center;flex-shrink:0;transform:rotate(-90deg)}.donut-hole{height:121px;width:121px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg);box-shadow:0 0 0 6px #fff}.donut-hole strong{font-size:25px;font-weight:640;letter-spacing:-.8px}.donut-hole span{font-size:9px;color:#959e8d;margin-top:1px}.donut-legend{display:flex;flex-direction:column;gap:16px;min-width:89px}.donut-legend-item{font-size:9px;color:#8d987f;display:flex;gap:7px}.donut-legend-item .legend-dot{margin-top:4px;width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-right:0}.donut-legend-item strong{display:block;color:#42543a;font-size:13px;font-weight:580;margin-top:2px}.donut-legend-item small{color:#a1ab94;font-weight:400;margin-left:6px;font-size:9px}.donut-card .card-header{padding-bottom:20px}.donut-card .card-footer{font-size:9px;color:#919c85;display:flex;gap:7px;align-items:center}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(280px,1fr);gap:22px}.dashboard-bottom .card+.card{margin-top:22px}.events-list{padding:0 21px 4px}.event-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f0f3eb}.event-item:last-child{border:none}.event-date{width:39px;height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;border:1px solid #e7eddd;background:#f8faf4;flex-shrink:0}.event-date strong{font-size:15px;color:#738856;font-weight:580;line-height:1.2}.event-date small{font-size:8px;text-transform:uppercase;color:#9aa989;margin-top:1px}.event-item h3{font-size:10.5px;font-weight:550;color:#5a694c}.event-meta{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:8.5px;color:#a1aa96}.event-item>.event-info,.event-item>a{flex:1;min-width:0}.event-item>.icon{color:#a9b39b}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 21px 20px}.quick-action{padding:14px 6px 10px;border:1px solid #e9eddf;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#7e8f69;font-size:9px;background:#fcfdf9;transition:background .15s}.quick-action:hover{background:#edf4e6;border-color:#cadab9}.quick-action>span:first-child{width:31px;height:31px;border-radius:8px;background:#edf3e4;display:grid;place-items:center}.notice-preview{padding:0 21px 17px}.notice-preview-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:550;margin-bottom:7px}.notice-preview p{font-size:10px;color:#8f9b83;line-height:1.8}.notice-preview small{display:flex;align-items:center;gap:5px;margin-top:11px;font-size:9px;color:#a1ad94}.table-wrap{width:100%;overflow-x:auto;border-radius:0 0 10px 10px;scrollbar-width:thin;scrollbar-color:#dce5d6 transparent}.data-table{font-size:11px;white-space:nowrap;text-align:left}.data-table thead{background:#fafbf8}.data-table th{padding:12px 20px;border-top:1px solid #eef1e9;border-bottom:1px solid #eef1e9;color:#95a087;font-weight:450;font-size:9px}.data-table td{padding:13px 20px;border-bottom:1px solid #f0f3eb;color:#707d61}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fcfdf9}.data-table .name-cell{display:flex;align-items:center;gap:10px}.name-cell strong{font-size:11px;font-weight:550;display:block;color:#4b5b3d}.name-cell small{font-size:9px;display:block;color:#a0aa92;margin-top:3px}.data-table .money-cell{font-weight:550;color:#546642;font-variant-numeric:tabular-nums}.data-table .row-actions{display:flex;align-items:center;gap:3px;justify-content:flex-end}.data-table input[type=checkbox]{width:13px;height:13px;border-color:#dbe3d1}.checkbox-cell{width:34px!important;padding-right:0!important}.compact-table td,.compact-table th{padding-left:20px;padding-right:13px}.compact-table td{padding-top:11px;padding-bottom:11px}.compact-table .avatar{width:29px;height:29px;font-size:9px}.compact-table .name-cell{gap:9px}.compact-table .name-cell strong{font-size:10px}.compact-table .name-cell small{font-size:8px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:5px;font-size:8.5px;font-weight:500;line-height:1.5;white-space:nowrap}.badge-dot{height:3px;width:3px;border-radius:50%;background:currentColor;opacity:.8}.badge-green{background:#edf5e8;color:#749554}.badge-amber{background:#fcf5e5;color:#b39753}.badge-red{background:#fbefeb;color:#bd8972}.badge-blue{background:#edf3f9;color:#789bb8}.badge-purple{background:#f2eef9;color:#9e87bb}.badge-gray{background:#f1f4ef;color:#8b9880}.toolbar{justify-content:space-between;gap:13px;padding:18px 20px}.filter-form,.toolbar{display:flex;align-items:center;flex-wrap:wrap}.filter-form{gap:10px;flex:1}.input-search{display:flex;align-items:center;position:relative;min-width:220px;max-width:340px;flex:1}.input-search>.icon{position:absolute;left:11px;color:#a0ac92}.input-search input{height:35px;border:1px solid #e1e7db;border-radius:6px;padding:8px 11px 8px 34px;font-size:11px;width:100%;background:#fff;color:#4f6040}.input-search input::-moz-placeholder{color:#a4af96}.input-search input::placeholder{color:#a4af96}.filter-select{padding:6px 30px 6px 11px;max-width:190px}.filter-date,.filter-select{height:35px;border:1px solid #e1e7db;border-radius:6px;background:#fff;font-size:10px;color:#859472}.filter-date{padding:6px 11px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid #eef2e9;font-size:10px;color:#9ba78d;gap:12px}.pagination strong{font-weight:500;color:#78896a}.page-numbers{display:flex;gap:5px;align-items:center}.page-number{width:29px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e6ecdf;border-radius:5px;font-size:10px;color:#8b997a;background:#fff}.page-number.active{background:#edf4e5;color:#6f8f52;border-color:#dce8cf;font-weight:600}.page-number:hover{background:#f0f5e9}.page-ellipsis{padding:0 5px}.tabs{gap:25px;border-bottom:1px solid #e5eadf;margin-bottom:23px;overflow-x:auto}.tab,.tabs{display:flex;align-items:center}.tab{gap:7px;position:relative;color:#929f83;font-size:11px;font-weight:500;padding:0 1px 13px;white-space:nowrap}.tab.active{color:#5e7b46}.tab.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#6e8d4e}.tab-count{background:#edf2e6;border-radius:4px;padding:1px 5px;font-size:8px;color:#8fa076}.empty-state{padding:62px 25px;text-align:center;max-width:540px;margin:0 auto}.empty-icon{background:#edf3e6;width:64px;height:64px;border-radius:18px;color:#91a777;display:grid;place-items:center;margin:0 auto 18px}.empty-state h3{font-size:17px;font-weight:600;letter-spacing:-.3px}.empty-state p{font-size:12px;color:#8e9b80;line-height:1.8;margin:8px 0 21px}.app-footer{justify-content:space-between;border-top:1px solid #e7ece1;padding:21px 0 22px;margin-top:32px;font-size:9px;color:#a1ac94}.app-footer,.footer-status{display:flex;align-items:center}.footer-status{gap:7px}.\!dropdown{position:relative!important}.dropdown{position:relative}.dropdown-panel{position:absolute;top:calc(100% + 12px);right:0;min-width:220px;background:#fff;border:1px solid #e5ecdd;border-radius:10px;box-shadow:0 14px 45px #22391815;z-index:80;padding:6px;animation:drop-in .15s ease}.dropdown-panel>a,.dropdown-panel>form>button{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;border-radius:6px;font-size:11px;color:#728160;text-align:left}.dropdown-panel>a:hover,.dropdown-panel>form>button:hover{background:#f4f7ef;color:#526d3a}.dropdown-caption{font-size:8px;letter-spacing:1px;color:#a2ad94;padding:11px 12px 7px;font-weight:550}.dropdown-separator{margin:5px 6px;border-top:1px solid #edf1e5}.school-menu{left:0;right:auto;width:243px}.current-school{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#638349;font-size:11px;background:#f5f8ef;border-radius:6px;margin-bottom:5px}.current-school span{min-width:0;overflow-wrap:anywhere}.profile-panel{width:240px}.profile-menu-heading{padding:12px;border-bottom:1px solid #edf1e6;margin-bottom:5px}.profile-menu-heading strong{font-size:12px;display:block}.profile-menu-heading small{font-size:10px;color:#929f82;display:block;margin-top:4px;overflow-wrap:anywhere}.notification-panel{width:350px;padding:0}.notification-heading{padding:17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1e6}.notification-heading h3{font-size:13px;font-weight:600}.notification-panel .notification-item{padding:15px 17px;border-bottom:1px solid #f0f3eb;border-radius:0;align-items:flex-start}.notification-icon{width:32px;height:32px;border-radius:8px;background:#f0f5e7;color:#90a775;display:grid;place-items:center;flex-shrink:0}.notification-item strong{display:block;font-size:11px;line-height:1.5;font-weight:500}.notification-item small{display:block;font-size:9px;color:#a1ae92;margin-top:4px}.notification-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:10px;color:#8da076}.notification-panel .notification-footer button{display:inline-flex;width:auto;padding:0}.dropdown-empty{padding:25px 17px;font-size:11px;color:#8d9b7c}.toast-stack{position:fixed;top:90px;right:27px;z-index:120;display:flex;flex-direction:column;gap:10px;width:440px;max-width:calc(100vw - 30px)}.\!toast{display:flex!important;align-items:flex-start!important;gap:11px!important;background:#fff!important;border:1px solid #dce9d1!important;border-radius:10px!important;padding:15px 13px 15px 16px!important;box-shadow:0 8px 30px #22321a12!important;font-size:11px!important;color:#657a51!important;animation:drop-in .25s ease!important;line-height:1.7!important}.toast{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid #dce9d1;border-radius:10px;padding:15px 13px 15px 16px;box-shadow:0 8px 30px #22321a12;font-size:11px;color:#657a51;animation:drop-in .25s ease;line-height:1.7}.\!toast>.icon{margin-top:2px!important;color:#789e5f!important}.toast>.icon{margin-top:2px;color:#789e5f}.\!toast>span{flex:1!important}.toast>span{flex:1}.\!toast>.icon-button{width:24px!important;height:24px!important}.toast>.icon-button{width:24px;height:24px}.toast-error{border-color:#efd9ce;color:#aa7b61}.toast-error>.icon{color:#ba8268}.modal{width:540px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 60px);border-radius:14px;box-shadow:0 30px 100px #19271630;overflow:auto;margin:auto;background:#fff}.modal::backdrop{background:#1c2d2452;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal[open]{animation:drop-in .2s ease}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 25px 19px;border-bottom:1px solid #ebf0e4;gap:12px}.modal-head h2{font-size:19px;font-weight:600;letter-spacing:-.5px}.modal-head p{font-size:11px;color:#95a286;margin-top:5px;line-height:1.7}.modal-body{padding:22px 25px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:9px;background:#fafcf7;border-top:1px solid #eaf0e1;padding:17px 25px}.modal-wide{width:690px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:11px;color:#647653;font-weight:500}.field em{font-style:normal;color:#b9a25e}.field input,.field select,.field textarea{border:1px solid #dee6d5;background:#fff;border-radius:7px;min-height:39px;padding:9px 11px;color:#556b42;font-size:11px;width:100%;font-weight:400}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:#acb79e}.field input::placeholder,.field textarea::placeholder{color:#acb79e}.field small,.form-help{font-size:10px;color:#a0ad90;font-weight:400;line-height:1.7}.form-section-title{font-size:10px;color:#8fa374;font-weight:600;letter-spacing:.5px;margin-bottom:16px;display:flex;gap:7px;align-items:center}.form-divider{border-top:1px solid #e9f0e0;padding-top:21px;margin-top:23px}.form-notice{border:1px solid #e3ead8;background:#f8faf3;border-radius:7px;padding:12px 14px;display:flex;align-items:flex-start;gap:9px;font-size:10px;color:#95a47f;line-height:1.7}.form-notice>.icon{margin-top:2px;color:#92a971}.check-field{display:flex;align-items:center;gap:8px;font-size:11px;color:#7f916c;cursor:pointer}.check-field input{width:14px;height:14px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:13px;border:1px solid #e4ebda;border-radius:7px}.credentials-card{padding:20px 24px;background:#edf5e6;border:1px solid #d7e8c6;border-radius:10px;margin-bottom:22px}.credentials-card>div:first-child{display:flex;align-items:center;gap:9px;color:#628746;font-size:12px}.credentials-card p{font-size:10px;color:#8aa16e;margin:7px 0 15px}.credentials-card dl{display:flex;flex-wrap:wrap;gap:16px 30px}.credentials-card dt{font-size:9px;color:#8ea578}.credentials-card dd{font-size:11px;font-family:ui-monospace,monospace;margin-top:3px;color:#527334}.confirm-modal{padding:30px;text-align:center;width:420px}.confirm-icon{width:55px;height:55px;display:grid;place-items:center;background:#fcf3e3;color:#b4985c;border-radius:50%;margin:0 auto 15px}.confirm-modal h2{font-size:19px;font-weight:600}.confirm-modal p{color:#93a282;font-size:12px;line-height:1.8;margin:10px 0 24px}.confirm-actions{display:flex;justify-content:center;gap:10px}.search-modal{width:620px}.search-modal .modal-head{display:none}.search-modal-body{padding:12px}.search-input-large{padding:8px 8px 16px;display:flex;gap:13px;align-items:center;border-bottom:1px solid #eaf0e2;color:#94aa7a}.search-input-large input{border:0;box-shadow:none!important;outline:none;width:100%;font-size:13px;padding:10px 0;color:#577340}.search-input-large input::-moz-placeholder{color:#a2b391}.search-input-large input::placeholder{color:#a2b391}.search-input-large kbd{font-family:inherit;font-size:9px;border:1px solid #e6eedc;padding:2px 6px;border-radius:4px;color:#9faf8d}.search-results{padding:7px 0;max-height:380px;overflow:auto}.search-results>a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:6px;font-size:12px;color:#7b9166}.search-results>a:hover{background:#f1f6e9}.search-results>a>span{flex:1}.search-results small{display:block;font-size:10px;color:#a1b08e;margin-top:2px}.search-no-results{padding:25px 12px;color:#9cae88;font-size:12px;text-align:center}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.class-card{padding:20px}.class-card-head{display:flex;align-items:center;gap:12px}.class-symbol{height:40px;width:40px;border-radius:10px;display:grid;place-items:center;background:#edf4e4;color:#8da872;font-size:12px;font-weight:600}.class-symbol.blue{background:#edf4fa;color:#7d9fb7}.class-symbol.purple{background:#f2eef7;color:#a692b9}.class-card h3{font-size:14px;font-weight:600}.class-card-head>div:nth-child(2){flex:1}.class-card-head p{color:#a0ad91;font-size:10px;margin-top:3px}.class-teacher{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:10px;color:#8ca079}.class-teacher strong{font-weight:500;color:#6d8658}.class-info{justify-content:space-between;margin-top:19px;padding-top:15px;border-top:1px solid #edf2e4;font-size:10px;color:#95a781}.class-info,.class-info span{display:flex;align-items:center}.class-info span{gap:5px}.capacity-bar{height:4px;border-radius:10px;background:#eef3e6;overflow:hidden;margin:12px 0 0}.capacity-bar>div{height:100%;background:#aec794;border-radius:10px}.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.profile-cover{height:120px;border-radius:10px 10px 0 0;background:linear-gradient(120deg,#e7efdc,#f3f2da);position:relative;overflow:hidden}.profile-cover:after{content:"";position:absolute;width:270px;height:270px;border:30px solid #d7e3bd66;right:-30px;top:-75px;border-radius:50%}.profile-overview{padding:0 24px 24px}.profile-mainline{display:flex;gap:17px;align-items:flex-end;margin-top:-31px;position:relative;margin-bottom:20px}.profile-mainline h2{font-size:22px;letter-spacing:-.5px;font-weight:620}.profile-mainline p{font-size:10px;color:#94a17e;margin-top:3px}.profile-mainline>.badge{margin-left:auto;margin-bottom:8px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail-list dt{font-size:9px;color:#a0ad8d;margin-bottom:4px}.detail-list dd{font-size:11px;color:#748b5c;overflow-wrap:anywhere}.info-list{display:flex;flex-direction:column;gap:18px}.info-list>div{display:flex;gap:11px;color:#97ac7d}.info-list .icon{margin-top:2px}.info-list strong{font-size:11px;color:#7c9664;font-weight:500;display:block}.info-list small{font-size:9px;color:#a1b38d;display:block;margin-top:4px;overflow-wrap:anywhere}.progress-track{height:6px;background:#edf3e5;border-radius:4px;overflow:hidden}.progress-track>span{display:block;height:100%;background:#9ebd7a;border-radius:4px}.attendance-option{display:inline-flex;align-items:center;position:relative;margin-right:4px}.attendance-option input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.attendance-option span{font-size:9px;border:1px solid #e6eedd;color:#a0b08b;border-radius:5px;padding:5px 9px;pointer-events:none}.attendance-option input:checked+span{color:#6e8f4e;background:#eef5e4;border-color:#cadaaf}.attendance-option.absent input:checked+span{color:#b78568;background:#fff3eb;border-color:#efceb8}.attendance-option.late input:checked+span{color:#b49c5c;background:#fdf8e8;border-color:#e8dba9}.attendance-option.excused input:checked+span{color:#8c96b5;background:#f1f3f9;border-color:#d9dfee}.attendance-option input:focus-visible+span{outline:2px solid #acc594;outline-offset:2px}.form-sticky-footer{padding:16px 21px;border-top:1px solid #e8efdf;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fcfdf9;border-radius:0 0 10px 10px;font-size:10px;color:#9aae86}.score-input{width:65px!important;border:1px solid #e0e9d5;border-radius:5px;text-align:center;font-size:11px;padding:7px 5px;color:#698650;background:#fff}.score-total{font-weight:600;color:#5f7c43!important}.grade-letter{font-weight:650;font-size:11px;display:inline-flex;background:#eff5e6;color:#8aa56b;border-radius:5px;width:25px;height:26px;align-items:center;justify-content:center}.result-class{padding:19px 20px}.result-class .result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 15px}.result-stats strong{display:block;font-size:17px;font-weight:550;color:#687f4e;letter-spacing:-.4px}.result-stats small{font-size:8px;color:#a0af8c;display:block;margin-top:2px}.result-class-footer{display:flex;align-items:center;gap:8px;justify-content:space-between;border-top:1px solid #ebf1e2;padding-top:15px}.score-key{display:flex;gap:13px;font-size:10px;color:#9bad85;flex-wrap:wrap}.score-key strong{color:#77945a;font-weight:500}.score-key span{display:flex;gap:4px;align-items:center}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.notice-card{padding:23px;display:flex;flex-direction:column}.notice-topline{display:flex;align-items:center;gap:8px;margin-bottom:16px}.notice-topline>.icon{margin-left:auto;color:#9ab278}.notice-card h2{font-size:16px;font-weight:600;letter-spacing:-.3px;line-height:1.5;color:#4f6840}.notice-card .notice-content{font-size:11px;color:#90a47c;line-height:1.9;margin:12px 0 22px;white-space:pre-line;flex:1}.notice-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf3e4;padding-top:16px}.notice-author{display:flex;gap:8px;align-items:center}.notice-author strong{display:block;font-size:10px;font-weight:500;color:#879d71}.notice-author small{display:block;font-size:8px;margin-top:2px;color:#a2b48e}.notice-card.highlight{border-color:#b9ce9e;box-shadow:0 0 0 3px #eaf3dc}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.calendar-topbar{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:15px}.calendar-topbar h2{font-size:17px;font-weight:600;letter-spacing:-.3px}.calendar-controls{display:flex;align-items:center;gap:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{font-size:9px;color:#9baf86;text-align:center;padding:13px 0;background:#fafcf6;border-bottom:1px solid #e7efde;border-top:1px solid #e7efde}.calendar-day{min-height:108px;border-bottom:1px solid #ebf2e1;border-right:1px solid #ebf2e1;padding:8px 6px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.other-month{background:#fcfdf9;color:#c6d2b8}.calendar-day .day-number{font-size:10px;color:#90a677;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;margin-bottom:4px}.calendar-day.other-month .day-number{color:#c0cdb0}.calendar-day.today{background:#fbfdf6}.calendar-day.today .day-number{background:#809e5c;color:#fff}.calendar-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;padding:4px 5px;margin:3px 0;border-radius:3px;background:#edf4e1;color:#8ea66d;border-left:2px solid #aac385}.calendar-event.sports{background:#fbf3e2;color:#b4a169;border-color:#dfc989}.calendar-event.community{background:#f0edf7;color:#a797bf;border-color:#c4b5d9}.calendar-event.staff{background:#edf4fa;color:#8ea9c1;border-color:#b4cbdc}.calendar-event.holiday{background:#fbefeb;color:#bd9a83;border-color:#e0c4b0}.event-detail{padding:23px}.event-detail h2{font-size:17px;font-weight:600;letter-spacing:-.3px;line-height:1.6;margin-top:14px}.event-detail>p{font-size:11px;color:#9aae87;line-height:1.9;margin-top:13px}.event-detail .info-list{margin-top:21px}.timetable-scroll{overflow-x:auto}.timetable-grid{display:grid;grid-template-columns:86px repeat(5,minmax(130px,1fr));min-width:760px}.timetable-day{background:#fafcf7;font-size:10px;font-weight:500;color:#93a97a;padding:16px;text-align:center;border-bottom:1px solid #e8f0df}.timetable-time{padding:23px 14px;border-bottom:1px solid #edf3e5;color:#9bb086;font-size:9px;display:flex;flex-direction:column;justify-content:center}.timetable-time small{font-size:8px;margin-top:3px;color:#b2c29f}.timetable-cell{border-bottom:1px solid #edf3e5;border-left:1px solid #edf3e5;min-height:102px;padding:8px;display:flex;flex-direction:column}.\!lesson{display:flex!important;flex-direction:column!important;padding:10px!important;border-radius:6px!important;background:#f1f6e9!important;text-align:left!important;flex:1!important;border-left:2px solid #c2d5a8!important;gap:4px!important;color:#8ba471!important;width:100%!important}.lesson{display:flex;flex-direction:column;padding:10px;border-radius:6px;background:#f1f6e9;text-align:left;flex:1;border-left:2px solid #c2d5a8;gap:4px;color:#8ba471;width:100%}.\!lesson.blue{background:#eef5fa!important;border-color:#bdd5e6!important;color:#8ba9c0!important}.lesson.blue{background:#eef5fa;border-color:#bdd5e6;color:#8ba9c0}.\!lesson.purple{background:#f4eff8!important;border-color:#d6c5e7!important;color:#ab95bf!important}.lesson.purple{background:#f4eff8;border-color:#d6c5e7;color:#ab95bf}.\!lesson.amber{background:#fbf7e9!important;border-color:#e4d7a6!important;color:#b2a169!important}.lesson.amber{background:#fbf7e9;border-color:#e4d7a6;color:#b2a169}.\!lesson strong{font-size:10px!important;font-weight:550!important;line-height:1.5!important}.lesson strong{font-size:10px;font-weight:550;line-height:1.5}.\!lesson small{font-size:8px!important;opacity:.85!important}.lesson small{font-size:8px;opacity:.85}.\!lesson span{display:flex!important;align-items:center!important;gap:4px!important;font-size:8px!important;margin-top:auto!important;padding-top:4px!important}.lesson span{display:flex;align-items:center;gap:4px;font-size:8px;margin-top:auto;padding-top:4px}.lesson-empty{background:transparent;border:1px dashed #e1ecd4;color:#b3c69c;align-items:center;justify-content:center}.timetable-break{grid-column:1/-1;background:#fafbf6;text-align:center;font-size:8px;letter-spacing:.5px;padding:9px;color:#b0c19c;border-bottom:1px solid #eaf1e1}.settings-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:24px}.settings-nav{display:flex;flex-direction:column;gap:5px;align-self:start;position:sticky;top:100px}.settings-nav a{display:flex;align-items:center;gap:10px;padding:12px 13px;font-size:11px;color:#93a67d;border-radius:7px}.settings-nav a.active{background:#eaf2df;color:#7f9b5e;font-weight:550}.settings-content .card+.card{margin-top:22px}.settings-form{padding:0 23px 23px}.grade-scale-table td,.grade-scale-table th{padding:12px 17px}.grade-scale-table input{border:1px solid #e2ecd6;border-radius:5px;padding:7px 9px;width:100%;font-size:11px;color:#88a36c}.grade-scale-table .grade-number{max-width:90px}.report-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.bar-chart{align-items:flex-end;justify-content:space-around;height:225px;gap:15px;padding:20px 20px 35px;border-bottom:1px solid #edf3e4;background:repeating-linear-gradient(0deg,transparent 0,transparent 44px,#f0f4e9 0,#f0f4e9 45px)}.bar-chart,.bar-chart-item{display:flex;position:relative}.bar-chart-item{width:46px;height:100%;flex-direction:column;justify-content:flex-end;align-items:center}.bar-chart-item .bar{width:100%;max-width:42px;background:linear-gradient(#abc687,#c5d9ab);border-radius:5px 5px 0 0;min-height:2px;position:relative}.bar-chart-item .bar strong{position:absolute;top:-20px;left:0;right:0;text-align:center;font-weight:500;font-size:9px;color:#99b177}.bar-chart-item small{position:absolute;top:calc(100% + 10px);text-align:center;font-size:8px;color:#a6b994;white-space:nowrap}.export-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 21px 21px}.export-card{display:flex;align-items:center;gap:12px;border:1px solid #e5efda;border-radius:7px;padding:16px;color:#95ae7c}.export-card:hover{background:#f6faef}.export-card span{flex:1}.export-card strong{font-size:10px;font-weight:500;display:block;color:#88a26e}.export-card small{font-size:8px;color:#b0c09d;display:block;margin-top:4px}.faq details{border-bottom:1px solid #eaf2e1}.faq details:last-child{border:none}.faq summary{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8ba572;font-weight:500;gap:18px}.faq details[open] summary>.icon{transform:rotate(180deg)}.faq details p{font-size:11px;color:#a0b48b;line-height:1.9;padding:0 23px 22px}.help-hero{padding:35px;background:linear-gradient(105deg,#eaf2df,#f3f5df);text-align:center;margin-bottom:24px}.help-hero .empty-icon{margin-bottom:13px}.help-hero h2{font-size:24px;font-weight:600;letter-spacing:-.7px}.help-hero p{font-size:12px;color:#96ad7b;max-width:450px;margin:8px auto 0;line-height:1.8}.setup-steps{counter-reset:steps;padding:0 23px 23px}.setup-step{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #edf3e4}.setup-step:last-child{border:0}.setup-step>span{height:27px;width:27px;flex-shrink:0;border-radius:50%;background:#eff5e6;color:#8fab6e;display:grid;place-items:center;font-size:10px;font-weight:550}.setup-step h3{font-size:11px;font-weight:550;color:#819b64}.setup-step p{font-size:10px;color:#a0b38a;line-height:1.9;margin-top:3px}.mobile-menu,.mobile-sidebar-close,.sidebar-backdrop{display:none}.selection-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 20px;background:#edf4e4;border-top:1px solid #e1eccf;font-size:10px;color:#8aa26c}.selection-bar[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.\!m-0{margin:0!important}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.\!h-16{height:4rem!important}.\!h-8{height:2rem!important}.\!h-\[235px\]{height:235px!important}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.\!w-16{width:4rem!important}.\!w-8{width:2rem!important}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-24{width:6rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-16{max-width:4rem!important}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\!grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.\!rounded-xl{border-radius:.75rem!important}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.\!rounded-b-xl{border-bottom-right-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#e1ead3\]{--tw-border-opacity:1;border-color:rgb(225 234 211/var(--tw-border-opacity,1))}.border-\[\#e5edd9\]{--tw-border-opacity:1;border-color:rgb(229 237 217/var(--tw-border-opacity,1))}.border-\[\#eaf0e1\]{--tw-border-opacity:1;border-color:rgb(234 240 225/var(--tw-border-opacity,1))}.border-\[\#edf2e5\]{--tw-border-opacity:1;border-color:rgb(237 242 229/var(--tw-border-opacity,1))}.border-\[\#eef1e8\]{--tw-border-opacity:1;border-color:rgb(238 241 232/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.\!bg-forest-50{--tw-bg-opacity:1!important;background-color:rgb(237 247 241/var(--tw-bg-opacity,1))!important}.bg-\[\#f6f9ef\]{--tw-bg-opacity:1;background-color:rgb(246 249 239/var(--tw-bg-opacity,1))}.bg-\[\#f6f9f0\]{--tw-bg-opacity:1;background-color:rgb(246 249 240/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-12{padding-left:3rem!important;padding-right:3rem!important}.\!py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.\!pt-5{padding-top:1.25rem!important}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.\!text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.\!text-\[10px\]{font-size:10px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.\!text-forest-600{--tw-text-opacity:1!important;color:rgb(40 115 79/var(--tw-text-opacity,1))!important}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}@keyframes drop-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1550px){.main-content{padding:34px 38px 0}.topbar{padding:0 38px}.welcome-banner{min-height:183px}.campus-illustration{right:45px;width:385px;height:208px}.donut-layout{gap:30px}.stat-card{padding:21px 23px 19px}.stat-value{font-size:32px}.page-heading h1{font-size:28px}.data-table{font-size:12px}.data-table td{padding-top:15px;padding-bottom:15px}.compact-table td{padding-top:13px;padding-bottom:13px}}@media(max-width:1250px){.sidebar{width:224px}.app-shell{margin-left:224px}.sidebar-brand{padding-left:20px}.nav-item{font-size:10.5px;gap:9px;padding-left:12px;padding-right:11px}.brand strong{font-size:20px}.brand-symbol{width:34px;height:37px}.nav-count{font-size:8px;min-width:25px}.main-content{padding:25px 23px 0}.topbar{padding:0 23px}.topbar-right{gap:12px}.global-search-trigger{width:32px;justify-content:center}.global-search-trigger>kbd,.global-search-trigger>span{display:none}.welcome-banner{padding-left:24px}.welcome-banner h2{font-size:23px}.campus-illustration{right:-24px;width:300px;opacity:.95}.welcome-content{max-width:70%}.welcome-banner p{max-width:330px}.stat-grid{gap:13px}.stat-card{padding:16px 15px 14px}.stat-value{font-size:25px}.stat-label{font-size:10px}.stat-icon{width:29px;height:29px}.stat-bottom{font-size:8px}.dashboard-bottom,.dashboard-middle{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:18px}.donut-layout{flex-direction:column;gap:12px;padding:0 14px 17px}.donut-chart{width:136px;height:136px}.donut-hole{width:105px;height:105px;box-shadow:0 0 0 4px #fff}.donut-hole strong{font-size:24px}.donut-legend{flex-direction:row;gap:15px}.donut-legend-item{font-size:8px;gap:5px}.donut-legend-item strong{font-size:10px}.donut-legend-item small{font-size:8px;margin-left:3px}.donut-card .card-header{padding-bottom:13px}.donut-card .card-footer{display:none}.card-header{padding:17px}.chart-headline{padding:0 17px}.card-header h2{font-size:12px}.quick-actions{gap:8px;padding-left:17px;padding-right:17px}.quick-action{font-size:8px}.compact-table td,.compact-table th{padding-left:16px;padding-right:10px}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.class-card{padding:17px}.class-info,.class-teacher{font-size:9px}.detail-layout{grid-template-columns:minmax(0,1fr) 260px}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.page-heading h1{font-size:24px}}@media(max-width:1023px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px}.app-shell{margin-left:0}.mobile-menu,.mobile-sidebar-close{display:inline-flex}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.open{position:fixed;inset:0;background:#20322855;z-index:44;display:block;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-brand{padding-left:24px}.mobile-sidebar-close{width:25px;margin-left:3px}.sidebar-nav .nav-item{font-size:11.5px}.topbar{height:70px}.main-content{padding:25px 26px 0}.campus-illustration{right:10px;width:330px}.welcome-banner h2{font-size:25px}.welcome-content{max-width:65%}.stat-value{font-size:27px}.class-grid{gap:18px}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.settings-layout{grid-template-columns:170px minmax(0,1fr)}.nav-group+.nav-group{margin-top:17px}}@media(max-width:767px){.main-content{padding:21px 18px 0}.topbar{padding:0 18px;height:65px}.topbar-left{gap:8px;font-size:10px}.breadcrumb-parent,.topbar-left>.icon{display:none}.topbar-right{gap:9px}.profile-trigger>.icon,.profile-trigger>span:not(.avatar){display:none}.topbar-divider{margin:0 3px}.header-help{display:none}.profile-trigger{gap:0}.page-heading{align-items:flex-start;gap:13px;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading p{font-size:10px;line-height:1.8;max-width:310px}.page-actions{gap:7px}.page-actions .btn{font-size:10px;min-height:34px;padding:8px 11px}.page-actions .btn.hide-small{display:none}.term-indicator{font-size:9px;padding:8px;gap:6px}.term-indicator>.icon{display:none}.welcome-banner{min-height:168px;padding:22px}.welcome-content{max-width:70%}.welcome-banner h2{font-size:23px;max-width:340px}.welcome-banner p{font-size:10px;max-width:290px}.campus-illustration{right:-53px;bottom:-4px;width:285px;height:165px;opacity:.72}.welcome-actions{gap:12px}.welcome-actions .text-link{font-size:9px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:20px}.stat-card{padding:16px 18px}.stat-label{font-size:10px}.stat-value{font-size:28px}.stat-bottom{font-size:9px;margin-top:10px}.dashboard-bottom,.dashboard-middle{grid-template-columns:1fr;gap:20px}.donut-layout{flex-direction:row;gap:40px;padding:5px 20px 23px}.donut-legend{flex-direction:column;gap:15px}.donut-legend-item{font-size:10px;gap:8px}.donut-legend-item strong{font-size:13px}.donut-legend-item small{font-size:10px;margin-left:8px}.donut-chart{width:155px;height:155px}.donut-hole{width:119px;height:119px}.donut-card .card-footer{display:flex}.card-header h2{font-size:13px}.chart-area{padding:10px}.line-chart{min-height:175px;max-height:210px}.quick-actions{padding-left:18px;padding-right:18px;gap:12px}.quick-action{font-size:10px;gap:11px;padding:16px 6px 13px}.dashboard-bottom .card+.card{margin-top:20px}.app-footer{font-size:8px;gap:15px;line-height:1.8;margin-top:25px}.footer-status{display:none}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.detail-layout{grid-template-columns:1fr}.detail-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-layout>aside>.card{margin-top:0!important}.calendar-layout,.notice-grid{grid-template-columns:1fr}.calendar-layout>aside{display:none}.calendar-day{min-height:95px}.calendar-topbar{padding:17px}.calendar-topbar h2{font-size:16px}.calendar-event{font-size:7px;padding:3px}.settings-layout{grid-template-columns:1fr;gap:18px}.settings-nav{position:static;flex-direction:row;overflow:auto;border-bottom:1px solid #e1ecd4;padding-bottom:9px;white-space:nowrap}.settings-nav a{padding:9px 12px;font-size:10px;gap:7px}.settings-nav a>.icon{width:16px;height:16px}.report-grid{grid-template-columns:1fr}.toolbar{padding:15px}.filter-form{gap:8px}.input-search{min-width:185px}.filter-select{font-size:10px;max-width:150px;padding-right:23px}.data-table td,.data-table th{padding-left:16px;padding-right:16px}.pagination{padding:14px 16px;font-size:9px}.modal{max-height:calc(100dvh - 30px)}.modal-head{padding:21px 21px 17px}.modal-body{padding:21px}.modal-footer{padding:15px 21px}.toast-stack{top:77px;right:15px}.notification-panel{right:-52px;width:320px}.form-sticky-footer{font-size:9px;padding:15px}.mobile-only{display:block}.result-class .result-stats{gap:6px}.result-stats strong{font-size:16px}.result-class{padding:17px}.result-class-footer{gap:5px}.result-class-footer .btn{font-size:9px;padding:7px}.tabs{gap:23px}.section-row{flex-wrap:wrap}.school-switcher strong{font-size:12px}}@media(max-width:479px){.main-content{padding:20px 15px 0}.topbar{padding:0 13px}.topbar-right{gap:5px}.page-heading{flex-wrap:wrap}.page-heading .page-actions{width:100%;justify-content:flex-start;margin-top:2px}.page-heading.dashboard-heading .page-actions{width:auto;margin:0}.page-heading.dashboard-heading{gap:8px}.dashboard-heading h1{font-size:23px}.dashboard-heading p{font-size:9px}.dashboard-heading .term-indicator{display:none}.welcome-banner{padding:20px;min-height:200px}.welcome-content{max-width:100%}.welcome-banner h2{max-width:230px;font-size:25px;line-height:1.3;letter-spacing:-.8px}.welcome-banner p{max-width:200px;font-size:10px;line-height:1.7}.campus-illustration{width:225px;right:-81px;bottom:4px;opacity:.7}.welcome-eyebrow{font-size:9px}.welcome-actions{margin-top:18px}.welcome-actions .text-link{display:none}.stat-card{padding:14px 15px}.stat-label{font-size:9px}.stat-icon{width:27px;height:27px}.stat-icon>.icon{width:17px;height:17px}.stat-value{font-size:26px}.stat-bottom{font-size:8px;gap:4px;line-height:1.6;margin-top:9px}.stat-bottom .mini-dot{display:none}.stat-bottom>span:last-child{display:block}.class-grid{grid-template-columns:1fr}.class-info,.class-teacher{font-size:10px}.result-class .result-stats{margin-top:20px}.result-class-footer .btn{font-size:10px;padding:8px 10px}.form-grid{grid-template-columns:1fr;gap:16px}.detail-list{gap:20px 16px}.detail-layout>aside{display:flex;flex-direction:column}.profile-mainline{flex-wrap:wrap;gap:12px}.profile-mainline h2{font-size:20px}.profile-overview{padding-left:20px;padding-right:20px}.filter-form{width:100%;flex-basis:100%}.filter-form .input-search{max-width:none;width:100%;flex-basis:100%}.filter-select{flex:1;max-width:none;min-width:0}.pagination{flex-direction:column;align-items:flex-start;gap:14px}.pagination .page-numbers{align-self:flex-end}.calendar-weekday{font-size:8px}.calendar-day{padding:4px 2px;min-height:82px}.calendar-event{font-size:6px;padding:2px;letter-spacing:-.2px}.calendar-day .day-number{width:23px;height:23px;font-size:9px}.calendar-topbar h2{font-size:14px}.calendar-topbar{padding:15px 12px}.calendar-controls{gap:2px}.calendar-controls .btn{font-size:9px;padding:5px 8px}.calendar-controls .icon-button{width:26px}.quick-actions{gap:9px}.quick-action{font-size:8px}.notification-panel{right:-45px;width:300px}.settings-nav a{font-size:9px;padding:8px 10px}.settings-form{padding:0 18px 20px}.score-key{font-size:9px;gap:10px}.form-sticky-footer{align-items:flex-start;flex-direction:column;gap:12px}.form-sticky-footer>.btn{align-self:flex-end}.toast{font-size:11px}.export-grid{grid-template-columns:1fr}.credentials-card dl{gap:13px}.credentials-card dl>div{min-width:45%}.bar-chart{gap:8px;padding-left:15px;padding-right:15px}.bar-chart-item{width:30px}.bar-chart-item small{font-size:7px}.checkbox-grid{grid-template-columns:1fr}.checkbox-grid .check-field{font-size:11px}.help-hero{padding:28px 20px}.help-hero h2{font-size:22px}.help-hero p{font-size:11px}.chart-headline strong{font-size:24px}.chart-headline .trend-tag,.chart-headline small{font-size:8px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.public-body{background:#f9fbf7}.public-header{max-width:1320px;margin:0 auto;padding:27px 44px;display:flex;justify-content:space-between;align-items:center;gap:20px}.public-header nav{display:flex;align-items:center;gap:28px;font-size:11px;color:#839177}.public-header nav>a.active{color:#397147;font-weight:550}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1160px;margin:7px auto 25px;min-height:665px;background:#fff;border:1px solid #e8eee1;border-radius:15px;overflow:hidden}.auth-story{background:#214d36;position:relative;display:flex;flex-direction:column;overflow:hidden;padding:45px 43px 30px;color:#fff}.auth-story:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 70%,#4e794c33,transparent 70%);pointer-events:none}.auth-story-top{position:relative;z-index:1}.auth-pill{display:inline-flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.3px;color:#c1d3a8;padding:7px 10px;border:1px solid #50714a;border-radius:5px;background:#ffffff03}.auth-story h1{font-size:42px;line-height:1.25;letter-spacing:-1.8px;font-weight:540;margin-top:24px;color:#f2f7e9}.auth-story-top>p{color:#9db499;font-size:12px;line-height:1.9;margin-top:17px;max-width:355px}.auth-features{display:flex;gap:12px 16px;flex-wrap:wrap;margin-top:21px}.auth-features>span{font-size:9px;color:#b1c49f;display:flex;align-items:center;gap:5px}.auth-features .icon{color:#b1c489}.auth-illustration{position:relative;flex:1;min-height:205px;display:flex;align-items:center;justify-content:center;margin:10px -25px 3px}.auth-illustration:before{content:"";position:absolute;top:40px;left:80px;right:20px;bottom:0;background:#aecb8e05;border-radius:50%}.auth-illustration>img{width:100%;max-width:405px;position:relative;z-index:1;filter:saturate(.8);opacity:.97}.auth-story-bottom{display:flex;align-items:center;gap:10px;padding-top:22px;border-top:1px solid #56744a55;position:relative}.auth-story-bottom>.icon{color:#b7cc9c}.auth-story-bottom>span{font-size:9px;color:#abc49b;line-height:1.8}.auth-story-bottom strong{font-weight:450;color:#d2e0bf}.auth-story-dots{display:flex;margin-left:auto;gap:5px}.auth-story-dots>span{height:4px;width:4px;border-radius:50%;background:#547649}.auth-story-dots>span:first-child{width:15px;border-radius:4px;background:#c5d69b}.auth-form-side{display:flex;flex-direction:column;justify-content:center;padding:38px 50px 22px}.auth-form-inner{max-width:392px;width:100%;margin:auto}.auth-form-icon{width:48px;height:48px;display:grid;place-items:center;background:#f0f5e8;border:1px solid #e6eedd;border-radius:12px;color:#769858;margin-bottom:22px}.auth-form-inner h2{font-size:26px;font-weight:630;line-height:1.3;letter-spacing:-.9px;color:#324930}.auth-intro{font-size:11px;line-height:1.8;color:#909f83;margin-top:8px;margin-bottom:26px}.auth-form .field>span{font-size:10.5px;color:#687d59}.auth-form .field input,.auth-form .field select{min-height:41px;font-size:11px}.auth-form .form-grid{gap:17px}.password-field{display:flex!important;position:relative;gap:0}.password-field input{padding-right:40px!important}.password-field>button{position:absolute;right:4px;top:4px;height:33px;width:33px;display:grid;place-items:center;color:#a7b59a;border-radius:5px}.password-field>button:hover{background:#f2f7e9;color:#708d55}.auth-assistance{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:8px;color:#97a689}.auth-assistance>span{display:flex;align-items:center;gap:4px}.auth-assistance .text-link{font-size:9px}.auth-submit{margin-top:22px;width:100%;min-height:43px;justify-content:space-between;padding:12px 15px;font-size:11px;background:#316f48}.auth-divider{position:relative;text-align:center;margin:25px 0 18px;font-size:9px;color:#a1af92}.auth-divider:before{content:"";position:absolute;top:50%;height:1px;background:#e7efdd;left:0;right:0}.auth-divider>span{padding:0 12px;background:#fff;position:relative}.demo-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.demo-roles button{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:13px 6px;border:1px solid #e0ead5;border-radius:7px;background:#fcfdf9;color:#86a16a;transition:background .15s}.demo-roles button:hover{background:#eff5e5;border-color:#bace9f}.demo-roles button>span{font-size:9px;color:#8a9f74}.demo-note{font-size:8px;color:#a5b397;text-align:center;margin-top:10px}.auth-switch{font-size:9px;color:#9bad88;text-align:center;margin-top:23px;line-height:1.8}.auth-switch>a{color:#638947;font-weight:550;margin-left:3px}.auth-switch .text-link{font-size:9px}.auth-security{display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;color:#a9b799;margin-top:28px}.public-footer{max-width:1160px;margin:0 auto;justify-content:space-between;padding:0 0 24px;color:#a0b18d}.checker-privacy,.public-footer{display:flex;align-items:center;font-size:9px}.checker-privacy{justify-content:center;gap:6px;color:#94ab7c;margin-top:13px}.checker-demo{padding:16px;border:1px dashed #d7e4c7;border-radius:7px;background:#f9fcf4;margin-top:20px}.checker-demo strong{font-size:10px;color:#789761;font-weight:550}.checker-demo p{font-size:9px;color:#9eb38b;margin-top:4px}.checker-demo .text-link{font-size:10px;margin-top:11px}.modal-open,.sidebar-open{overflow:hidden}.search-result-type{flex:none!important;width:31px;height:31px;display:grid;place-items:center;background:#edf4e4;border-radius:7px;font-size:10px;color:#759456}.search-result-arrow{flex:none!important;font-size:16px;color:#97b079}.score-input.score-invalid{border-color:#d99d83;background:#fff8f4}.chart-empty{height:190px;justify-content:center;color:#a2b58d;font-size:11px;padding:20px;text-align:center}.chart-empty,.report-toolbar{display:flex;align-items:center}.report-toolbar{max-width:880px;margin:27px auto 19px;justify-content:space-between;gap:20px}.report-paper{max-width:880px;background:#fff;margin:0 auto;border:1px solid #dfe7d5;border-top:5px solid #577a41;border-radius:10px;box-shadow:0 8px 40px #31412208;padding:32px 43px 25px;position:relative}.report-draft{padding:10px;background:#fbf5e6;border:1px solid #e9dcba;color:#b39963;font-size:10px;font-weight:550;border-radius:5px;margin-bottom:22px}.report-draft,.report-school{text-align:center}.report-school-seal{width:67px;height:67px;border:1px solid #cfdcba;background:#f1f6e7;color:#77915b;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;box-shadow:inset 0 0 0 5px #fff}.report-school h1{font-size:27px;font-weight:650;letter-spacing:-.7px;color:#415638}.report-motto{font-size:11px;font-style:italic;color:#8fa176;margin-top:4px}.report-contact{font-size:9px;line-height:1.9;color:#9dad8d;margin-top:9px}.report-title{font-size:12px;font-weight:650;letter-spacing:2px;color:#68864f;margin-top:22px;padding-top:18px;border-top:1px solid #e6eedd}.report-term{font-size:8px;font-weight:500;letter-spacing:.8px;color:#95a880;margin-top:7px}.report-term>span{margin:0 11px;color:#b7c5a4}.report-student{padding:23px 0;border-top:1px solid #e7edde;border-bottom:1px solid #e7edde;margin-top:23px;display:flex;gap:20px;align-items:center;justify-content:space-between}.report-student h2{font-size:16px;font-weight:620;letter-spacing:-.4px;color:#597047}.report-student p{font-size:9px;color:#96aa81;margin-top:4px}.report-student-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}.report-student-grid small{font-size:8px;color:#a4b490;display:block}.report-student-grid strong{font-size:10px;font-weight:500;color:#72895b;display:block;margin-top:3px}.report-summaries{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e5edda;background:#f8fbf2;border-radius:7px;margin:22px 0;padding:16px 0}.report-summaries>div{padding:0 18px;border-right:1px solid #e1eacf}.report-summaries>div:last-child{border:none}.report-summaries span{font-size:8px;color:#98ac81;display:block}.report-summaries strong{font-size:21px;font-weight:620;letter-spacing:-.5px;display:block;color:#6a8451;margin-top:6px;line-height:1.3}.report-summaries strong small{font-size:9px;font-weight:400;letter-spacing:0;color:#9baf84}.report-table-wrap{overflow-x:auto}.report-table{text-align:center;font-size:10px}.report-table thead{background:#edf4e2}.report-table th{font-size:9px;font-weight:550;color:#839e69;padding:12px 9px;border-bottom:1px solid #dde8cd}.report-table th small{font-size:7px;font-weight:400;display:block;margin-top:3px;color:#a4b68e}.report-table td{padding:13px 9px;border-bottom:1px solid #eaf0e0;color:#889f71}.report-table td:first-child,.report-table th:first-child{text-align:left;padding-left:14px;color:#68844f}.report-table td:last-child,.report-table th:last-child{text-align:left;font-size:9px}.report-table tbody tr:nth-child(2n){background:#fcfdf9}.report-grade{width:23px;height:24px;border-radius:4px;display:inline-grid;place-items:center;background:#f0f6e7;color:#8ca86c;font-size:10px;font-weight:600}.report-grading{margin:21px 0;border:1px solid #e6efda;border-radius:6px;padding:13px 15px;display:flex;gap:20px;align-items:center}.report-grading>strong{font-size:7px;letter-spacing:.8px;color:#8ba372;white-space:nowrap}.report-grading>div{display:flex;flex-wrap:wrap;gap:9px 17px}.report-grading span{font-size:8px;color:#9aaf83}.report-grading b{color:#809b64;margin-right:3px;font-weight:650}.report-grading small{display:block;font-size:7px;color:#adbf97;margin-top:2px}.report-comments{background:#f7faf0;border:1px solid #e5efd7;border-radius:7px;padding:17px;display:flex;gap:12px;align-items:flex-start}.report-comment-icon{color:#9ab679;margin-top:2px}.report-comments h3{font-size:10px;font-weight:550;color:#7d995f}.report-comments p{font-size:9px;color:#95ac7a;line-height:1.9;margin-top:6px}.report-paper-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e9f0df;padding-top:19px;margin-top:24px}.report-verification{display:flex;align-items:center;gap:9px;color:#90aa70}.report-verification strong{font-size:9px;font-weight:500;color:#879f69;display:block}.report-verification small{font-size:8px;color:#a6b992;margin-top:3px;display:block}.report-powered{text-align:right}.report-powered strong{font-size:16px;color:#6d8852;font-weight:650;letter-spacing:-.7px;display:block}.report-powered strong>span{font-weight:400}.report-powered small{font-size:7px;color:#a5b791;display:block;margin-top:1px}.report-fineprint{font-size:7px;line-height:1.9;color:#a8b897;border-top:1px solid #eef3e7;margin-top:17px;padding-top:12px}.report-bottom-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:8px;color:#a4b88e;margin:20px auto 30px;max-width:880px;text-align:center;padding:0 16px}.report-access-denied{max-width:800px;margin:70px auto;background:#fff;border:1px solid #e6eddc;border-radius:12px}.card-header p,.page-heading p,.section-subtitle{color:#879187}.muted{color:#87917f}.data-table td{color:#707b68}.data-table th{color:#8b9683}.name-cell strong{color:#465340}.name-cell small{color:#94a087}.event-item h3{color:#59674d}.notice-card h2{color:#455b37}.notice-card .notice-content{color:#7f8e73}.notice-author strong{color:#728561}.notice-author small{color:#98a78c}.class-card h3{color:#465839}.class-card-head p{color:#92a183}.class-teacher strong{color:#6b8058}.class-info{color:#8c9e7b}.detail-list dd,.info-list strong{color:#6d825b}.detail-list dt,.info-list small{color:#91a181}.form-notice{color:#82956d}.field small,.form-help{color:#91a47b}.stat-bottom{color:#94a183}.stat-label{color:#7b8870}.report-table td{color:#718760}.report-table td:first-child{color:#526f3e}.report-comments p{color:#829b67}.report-fineprint{color:#94a782}.faq summary{color:#607b49}.faq details p{color:#81986b}.setup-step h3{color:#6e8957}.setup-step p{color:#92a77d}.auth-intro{color:#8a9b7d}.auth-switch{color:#8a9e7c}.lesson{color:#749654}.lesson.blue{color:#6c91ad}.lesson.purple{color:#967bae}.lesson.amber{color:#a7924e}@media(max-width:1200px){.auth-layout{margin:5px 35px 22px}.public-footer{padding-left:35px;padding-right:35px}.auth-form-side{padding:36px 39px 22px}.auth-story{padding:40px 35px 26px}.auth-story h1{font-size:38px}}@media(max-width:900px){.auth-layout{grid-template-columns:.9fr 1fr;margin:7px 24px 20px}.auth-story{padding:34px 28px 27px}.auth-story h1{font-size:32px;letter-spacing:-1.2px}.auth-story-top>p{font-size:11px}.auth-features{gap:9px}.auth-features>span{font-size:8px}.auth-form-side{padding:35px 30px 23px}.auth-form-inner h2{font-size:24px}.auth-illustration{min-height:180px;margin-left:-25px;margin-right:-25px}.public-header{padding:25px}.public-footer{padding-left:25px;padding-right:25px}.report-paper{margin:0 20px;padding:28px 32px 23px}.report-toolbar{margin:24px 20px 18px}}@media(max-width:767px){.public-header{padding:22px}.public-header nav{gap:17px;font-size:10px}.public-header .brand strong{font-size:21px}.auth-layout{display:block;max-width:550px;margin:5px auto 22px;min-height:auto}.auth-story{display:none}.auth-form-side{padding:35px 45px 23px}.auth-form-inner{max-width:none}.auth-form-inner h2{font-size:27px}.auth-security{margin-top:30px}.public-footer{max-width:550px;font-size:8px;padding:0 0 20px}.report-paper{padding:24px 25px 22px}.report-toolbar .text-link{font-size:10px}.report-student{align-items:flex-start;flex-direction:column;gap:20px}.report-student-grid{grid-template-columns:repeat(4,1fr);width:100%;gap:12px}.report-summaries{padding:14px 0}.report-summaries>div{padding:0 12px}.report-summaries strong{font-size:19px}.report-summaries strong small{font-size:8px}.report-school h1{font-size:25px}.report-grading{gap:13px}.report-grading>div{gap:10px 15px}.report-table{min-width:535px}.report-access-denied{margin:40px 20px}}@media(max-width:579px){.public-header{padding:19px 20px}.public-header nav>a:first-child:not(.btn){display:none}.public-header .brand strong{font-size:20px}.public-header .brand-symbol{width:34px;height:37px}.public-header .brand small{font-size:6.5px}.public-header nav .btn{font-size:9px;min-height:32px;padding:7px 10px}.auth-layout{margin:5px 18px 20px;border-radius:12px}.auth-form-side{padding:30px 25px 20px}.auth-form-inner h2{font-size:25px}.auth-intro{font-size:10.5px;margin-bottom:23px}.auth-form .form-grid{grid-template-columns:repeat(2,1fr);gap:15px}.auth-form .field input,.auth-form .field select,.auth-form .field>span{font-size:10px}.auth-form-icon{width:43px;height:43px;margin-bottom:17px}.public-footer{padding:0 21px 18px;font-size:7px;gap:15px}.public-footer>span:last-child{display:none}.report-paper{margin:0 12px;padding:23px 17px 18px}.report-toolbar{margin:20px 13px 15px;gap:10px}.report-toolbar>.text-link{font-size:9px}.report-toolbar .btn{font-size:9px;padding:8px 10px;min-height:33px}.report-toolbar .badge{display:none}.report-school h1{font-size:23px}.report-motto{font-size:10px}.report-contact{font-size:8px}.report-title{font-size:10px;letter-spacing:1.4px}.report-term{font-size:7px;letter-spacing:.5px}.report-school-seal{height:58px;width:58px}.report-student h2{font-size:16px}.report-student-grid{grid-template-columns:1fr 1fr;gap:13px 20px}.report-summaries{grid-template-columns:repeat(2,1fr);gap:17px 0;padding:17px 0}.report-summaries>div:nth-child(2){border:0}.report-summaries strong{font-size:20px}.report-summaries strong small{font-size:9px}.report-grading{align-items:flex-start;flex-direction:column;gap:10px}.report-grading>div{gap:12px 21px}.report-grading span{font-size:8px}.report-comments{padding:14px 12px;gap:9px}.report-comments p{font-size:9px}.report-comments .icon{width:18px;height:18px}.report-verification strong{font-size:8px}.report-verification small{font-size:7px}.report-verification>.icon{width:21px;height:21px}.report-powered strong{font-size:14px}.report-powered small{font-size:6px}.report-bottom-note,.report-fineprint{font-size:7px}}@media print{@page{size:A4;margin:12mm}body,html{background:#fff!important;font-size:11px!important;color:#263d21!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-footer,.form-sticky-footer,.global-search-trigger,.page-actions,.public-footer,.public-header,.report-bottom-note,.report-toolbar,.selection-bar,.sidebar,.sidebar-backdrop,.skip-link,.toast-stack,.topbar{display:none!important}.app-shell{margin:0!important}.main-content{padding:0!important;max-width:none!important}.page-heading{margin-bottom:20px}.page-heading h1{font-size:22px}.card{box-shadow:none!important;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;border-color:#dce6d0!important}.table-wrap,.timetable-scroll{overflow:visible!important}.data-table{font-size:9px!important;white-space:normal}.data-table td,.data-table th{padding:8px 10px!important}.data-table .icon-button,.data-table .row-actions{display:none!important}.data-table .avatar{width:25px;height:25px}.data-table .name-cell strong{font-size:9px}.data-table .name-cell small{font-size:8px}a{text-decoration:none!important}button:not(.lesson),dialog{display:none!important}.timetable-grid{min-width:0!important;grid-template-columns:55px repeat(5,1fr)}.timetable-day{padding:10px;font-size:9px}.timetable-time{padding:10px 6px;font-size:8px}.timetable-cell{padding:5px;min-height:88px}.lesson{padding:8px 6px}.lesson strong{font-size:9px}.lesson small,.lesson span{font-size:7px}.toolbar{padding:13px}.toolbar form{display:none!important}.report-paper{margin:0!important;max-width:none!important;border:0!important;border-top:3px solid #6f8c55!important;box-shadow:none!important;padding:15px 0 0!important;border-radius:0}.report-school-seal{width:52px;height:52px;margin-bottom:8px}.report-school-seal>.icon{width:30px;height:30px}.report-school h1{font-size:24px}.report-motto{font-size:10px}.report-contact{font-size:8px;margin-top:6px}.report-title{margin-top:14px;padding-top:12px;font-size:10px}.report-term{font-size:8px;margin-top:5px}.report-student{flex-direction:row!important;gap:20px;padding:17px 0;margin-top:16px}.report-student h2{font-size:14px}.report-student-grid{grid-template-columns:1fr 1fr!important;width:auto;gap:10px 20px}.report-student-grid strong{font-size:9px}.report-summaries{grid-template-columns:repeat(4,1fr)!important;gap:0;margin:16px 0;padding:13px 0}.report-summaries>div{padding:0 13px}.report-summaries strong{font-size:19px}.report-table-wrap{overflow:visible}.report-table{min-width:0!important;font-size:9px}.report-table th{padding:9px 8px;font-size:8px}.report-table td{padding:10px 8px;font-size:9px}.report-table tbody tr{-moz-column-break-inside:avoid;break-inside:avoid}.report-grading{flex-direction:row!important;align-items:center;gap:15px;margin:15px 0;padding:10px 13px}.report-grading>div{gap:8px 16px}.report-grading span{font-size:7px}.report-comments{padding:13px;-moz-column-break-inside:avoid;break-inside:avoid}.report-comments p{font-size:8px}.report-comments h3{font-size:9px}.report-paper-footer{margin-top:18px;padding-top:14px}.report-fineprint{font-size:6.5px;margin-top:13px;padding-top:10px}.report-powered strong{font-size:14px}.report-draft{font-size:10px}.report-grid{grid-template-columns:1.3fr 1fr}.bar-chart{height:180px!important}.export-grid{display:none}.printing-modal *{visibility:hidden!important}.printing-modal dialog.print-active,.printing-modal dialog.print-active *{visibility:visible!important}.printing-modal dialog.print-active{display:block!important;position:absolute!important;inset:0 auto auto 0!important;width:100%!important;max-width:100%!important;max-height:none!important;overflow:visible!important;border-radius:0;box-shadow:none;padding:0;margin:0;background:#fff!important}.printing-modal .print-active .modal-footer,.printing-modal .print-active .modal-head{display:none!important}.printing-modal .print-active::backdrop{background:none!important}.printing-modal .print-active .modal-body{padding:0!important}}.dashboard-bottom>*,.detail-layout>*,.report-grid>*,.settings-content{min-width:0}@media(max-width:767px){.calendar-layout,.dashboard-bottom,.dashboard-middle,.detail-layout,.report-grid{grid-template-columns:minmax(0,1fr)}}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-card,.export-card>span{min-width:0}@media screen and (max-width:1100px){.report-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:479px){.export-grid{grid-template-columns:1fr}}.print-invoice-sheet{display:none}@media print{.report-school-seal{width:43px;height:43px;margin-bottom:6px}.report-school-seal>.icon{width:26px;height:26px}.report-contact{margin-top:4px;line-height:1.7}.report-title{margin-top:11px;padding-top:10px}.report-student{padding:11px 0;margin-top:13px}.report-student-grid small{font-size:9px}.report-student-grid strong{font-size:10px}.report-summaries{padding:10px 0;margin:13px 0}.report-summaries span{font-size:9px}.report-table th{padding:8px;font-size:9px}.report-table td{padding:6px 8px;font-size:11px}.report-table td:last-child{font-size:10px}.report-grade{width:22px;height:21px;font-size:11px}.report-comments p{font-size:9px}.report-grading{margin:13px 0}.report-fineprint{font-size:7px}body.printing-modal{height:auto!important;min-height:0!important;overflow:visible!important}body.printing-modal>*{display:none!important}body.printing-modal>.print-invoice-sheet{display:block!important;visibility:visible!important;position:static!important;width:100%;height:auto!important;padding:0!important}body.printing-modal>.print-invoice-sheet *{visibility:visible!important}body.printing-modal>.print-invoice-sheet .modal-body{padding:0!important}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:inline{display:inline}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}