@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/dm-sans-latin-800-normal-C2H8778U.woff2) format("woff2"),url(/assets/dm-sans-latin-800-normal-BwbkPQqB.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{font-family:DM Sans,Arial,sans-serif;color:#203047;background:#f6f8fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{height:66px;color:#fff;box-shadow:0 2px 8px #17477722}.header-inner{height:100%;width:min(1160px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:10px;align-items:center;color:#2162a9;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:21px;letter-spacing:-.8px}.brand-light{color:#fff}.brand-thin{font-weight:500}.brand-icon{height:32px;width:32px;display:grid;place-items:center;border:1.7px solid currentColor;border-radius:8px}.header-right{display:flex;align-items:center;gap:25px}.header-school{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e3effb}.header-logout{background:#ffffff19;border:1px solid #ffffff42;color:#fff;border-radius:8px;padding:8px 11px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.header-logout:hover{background:#ffffff30}.footer{margin-top:auto;min-height:68px;border-top:1px solid #e5ebf3;display:flex;justify-content:space-between;align-items:center;color:#91a0b2;font-size:12px}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#8a9bad}.login-main{flex:1;display:flex;align-items:center;padding-block:48px 55px}.login-layout{width:100%;display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#fff;border:1px solid #e2eaf4;border-radius:18px;box-shadow:0 19px 55px #23496d10;overflow:hidden}.intro-panel{position:relative;padding:66px 60px 42px;background:linear-gradient(145deg,#1d579b,#2b72b9 65%,#3c89c5);color:#fff;overflow:hidden}.intro-panel:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff20;border-radius:50%;right:-190px;bottom:-190px;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff06}.intro-badge{font-size:10px;font-weight:800;letter-spacing:1.5px;display:flex;align-items:center;gap:9px;color:#d4e9fb}.intro-badge-dot{height:7px;width:7px;background:#74d7e1;border-radius:50%;box-shadow:0 0 0 4px #75d8e324}.intro-panel h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,3.3vw,49px);line-height:1.22;letter-spacing:-2px;margin:36px 0 20px;font-weight:800}.intro-panel h1 span{color:#aee8f3}.intro-panel p{max-width:385px;font-size:15px;line-height:1.7;color:#dbebf8;margin:0}.intro-graphic{height:205px;position:relative;margin-top:25px}.graphic-sheet{position:absolute;width:172px;height:175px;border-radius:15px;background:#fff;box-shadow:0 20px 35px #123f7770;left:112px;top:13px}.sheet-back{background:#90c1e8;transform:rotate(12deg) translate(22px,-5px)}.sheet-front{transform:rotate(-7deg);padding:24px;display:flex;flex-direction:column;gap:12px}.graphic-icon{height:47px;width:47px;border-radius:11px;background:#e7f3fd;color:#2465ab;display:grid;place-items:center;margin-bottom:3px}.graphic-line{height:7px;background:#dae9f5;border-radius:10px}.line-long{width:100%}.line-short{width:58%}.line-med{width:80%}.graphic-check{position:absolute;left:274px;top:129px;z-index:2;height:47px;width:47px;border-radius:50%;background:#5cc3ad;display:grid;place-items:center;box-shadow:0 8px 17px #0b4d6550}.intro-foot{position:absolute;bottom:42px;left:60px;display:flex;align-items:center;gap:8px;color:#d5e9f7;font-size:12px}.form-panel{padding:58px 67px 50px;display:flex;flex-direction:column;justify-content:center}.form-topline{display:flex;align-items:center;gap:9px;color:#2866a7;font-size:10px;font-weight:800;letter-spacing:1.5px;margin-bottom:36px}.form-mini-icon{height:28px;width:28px;background:#e7f1fa;border-radius:7px;display:grid;place-items:center}.steps{display:flex;align-items:center;gap:13px;margin-bottom:31px}.step{display:flex;align-items:center;gap:8px;color:#a0aec0;font-size:12px;font-weight:700}.step>span{height:24px;width:24px;display:grid;place-items:center;border-radius:50%;background:#ecf1f6;color:#8c9eb3;font-size:11px}.step.active{color:#2465ab}.step.active>span{background:#2465ab;color:#fff}.step.done{color:#4a9b8e}.step.done>span{background:#e2f5ee;color:#3f9d89}.step-rule{width:27px;height:1px;background:#cdd9e6}.form-panel h2{font-family:Manrope,Arial,sans-serif;font-size:28px;line-height:1.25;letter-spacing:-1px;margin:0 0 9px;color:#17395f}.form-subtitle{font-size:14px;color:#7c8ca0;line-height:1.6;margin:0 0 27px}.form-panel form{display:flex;flex-direction:column}.form-panel label{font-size:12px;font-weight:800;color:#3f536b;margin-bottom:9px}.input-wrap,.select-wrap{height:48px;border:1px solid #d9e3ee;background:#fbfdff;border-radius:8px;display:flex;align-items:center;gap:11px;padding:0 14px;color:#89a0b7;margin-bottom:21px;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within,.select-wrap:focus-within{border-color:#3983c4;box-shadow:0 0 0 3px #3b8dca1b}.input-wrap input,.select-wrap select{border:0;background:transparent;outline:0;color:#263d57;width:100%;min-width:0;font-size:14px}.input-wrap input::placeholder{color:#a6b3c3}.select-wrap select{appearance:none;cursor:pointer}.select-chevron{pointer-events:none;flex:none}.show-password{border:0;background:transparent;color:#2870b2;font-size:11px;font-weight:800;padding:5px}.primary-btn{height:48px;width:100%;border:0;border-radius:8px;background:#246ab3;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 7px 15px #286db32b;transition:background .2s,transform .2s}.primary-btn:hover{background:#195995;transform:translateY(-1px)}.primary-btn:disabled{opacity:.6;cursor:wait;transform:none}.form-help{font-size:12px;color:#9aaabb;text-align:center;margin:24px 0 0}.form-error{font-size:12px;color:#ad3145;background:#fff0f2;border:1px solid #ffd6de;padding:10px 12px;border-radius:7px;margin:0 0 16px}.selected-school{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #dce8f2;background:#f4f9fd;border-radius:8px;color:#2864a2;font-size:12px;font-weight:800;margin-bottom:24px}.selected-school button{border:0;background:none;color:#4d83b4;text-decoration:underline;font-size:11px;font-weight:700;margin-left:auto}.dashboard{padding-bottom:75px}.feature-page{background:#fff;border:1px solid #e0e9f1;border-radius:14px;min-height:450px;padding:32px 42px;box-shadow:0 7px 23px #245b8310}.back-link{display:flex;align-items:center;gap:8px;color:#2d72b1;border:0;background:none;padding:0;font-size:12px;font-weight:800;margin-bottom:60px}.feature-icon{display:grid;place-items:center;width:65px;height:65px;background:#e9f3fa;color:#2d72b1;border-radius:14px;margin-bottom:20px}.feature-page h1{font-family:Manrope,Arial,sans-serif;color:#17395f;font-size:30px;margin:0 0 10px}.feature-page p{max-width:500px;color:#7890a6;line-height:1.7;font-size:14px}.feature-back{width:max-content;padding:0 18px;margin-top:24px}@media(max-width:800px){.login-layout{grid-template-columns:1fr}.intro-panel{min-height:280px;padding:39px 40px}.intro-panel h1{font-size:37px;margin:19px 0 10px}.intro-graphic{display:none}.intro-foot{position:static;margin-top:25px}.form-panel{padding:40px}}@media(max-width:520px){.container,.header-inner{width:min(100% - 30px,1160px)}.site-header{height:60px}.brand{font-size:18px}.brand-icon{height:29px;width:29px}.header-school,.header-logout span{display:none}.login-main{padding-block:22px}.intro-panel{padding:32px 28px;min-height:260px}.intro-panel h1{font-size:33px}.intro-panel p{font-size:13px}.form-panel{padding:34px 25px 40px}.form-panel h2{font-size:25px}.footer{font-size:10px}.footer span:last-child{display:none}.feature-page{padding:26px}}:root,body{background:#f6f8fa}.site-header{position:sticky;top:0;z-index:100;height:46px;background:#438bc7;box-shadow:none}.brand{font-family:Arial,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.3px;gap:4px}.brand-thin{font-weight:700}.brand-icon{width:24px;height:24px;border:0}.header-logout{padding:4px 8px;border:0;background:transparent;font-weight:400}.header-logout:hover{background:#ffffff20}.header-reports-link{position:relative}.header-report-badge,.report-new-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;color:#fff;background:#d93645;border-radius:999px;font-size:11px;font-weight:700;line-height:1}.report-new-badge{margin-left:8px}.login-main{align-items:flex-start;padding-block:65px}.login-layout{width:min(100%,520px);min-height:0;margin-inline:auto;grid-template-columns:1fr;border-color:#d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.intro-panel{display:none}.form-panel{padding:38px 40px 42px}.form-topline{display:none}.form-panel h2{color:#2d6faa;font-family:Arial,sans-serif;font-size:27px;font-weight:400;letter-spacing:0}.primary-btn{background:#438bc7;box-shadow:none;font-weight:600}.primary-btn:hover{background:#347bb8;transform:none}.login-known-user{display:flex;align-items:center;gap:9px;min-height:39px;margin-bottom:18px;padding:8px 12px;color:#315f83;background:#eef5fa;border:1px solid #d0e2ef;border-radius:5px;font-size:14px;font-weight:700}.footer a{color:#467da8;text-decoration:underline;text-underline-offset:2px}.privacy-page{max-width:900px;padding-bottom:32px}.privacy-page>h1{margin:0 0 10px;color:#2d6faa;font-size:32px;font-weight:400}.privacy-page>p{margin:0 0 24px;color:#5b6872;line-height:1.6}.privacy-page .entry-panel{margin-bottom:18px}.privacy-content{padding:18px 22px;color:#344553;font-size:14px;line-height:1.6}.privacy-content p{margin:0 0 12px}.privacy-content p:last-child{margin-bottom:0}.privacy-content ul{margin:0 0 14px;padding-left:21px}.privacy-content li+li{margin-top:7px}.privacy-address{white-space:pre-line}.dashboard{max-width:1160px;padding-top:20px;font-family:Arial,sans-serif}.dashboard-welcome{text-align:center;margin:0 0 25px}.dashboard-welcome h1{color:#2d6faa;font-family:Arial,sans-serif;font-size:clamp(28px,3vw,36px);font-weight:400;line-height:1.3;margin:0}.dashboard-welcome p{color:#999;font-size:16px;font-style:italic;margin:7px 0 0}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.admin-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-content{padding:22px}.comparison-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:26px}.comparison-legend-item{display:inline-flex;align-items:center;gap:7px;color:#42515c;font-size:13px}.comparison-legend-item i{width:13px;height:13px;flex:0 0 auto;border-radius:3px}.comparison-rows{display:grid;gap:17px}.comparison-row{display:grid;grid-template-columns:minmax(130px,210px) minmax(0,1fr) 42px;align-items:center;gap:14px}.comparison-name{overflow-wrap:anywhere;color:#263c4d;font-size:14px;font-weight:600}.comparison-track{display:flex;height:30px;overflow:hidden;background:#e9eef2;border-radius:5px}.comparison-segment{display:block;height:100%;min-width:0}.comparison-segment+.comparison-segment{border-left:1px solid #ffffffa8}.comparison-total{color:#263c4d;font-size:14px;text-align:right}.comparison-note{margin:22px 0 0;color:#667681;font-size:12px}.admin-dashboard-reports{min-height:40px;margin:24px 0 0 auto;padding:8px 14px;display:flex;align-items:center;gap:8px;color:#2d6faa;background:#fff;border:1px solid #a9c5dc;border-radius:5px;font-size:13px;font-weight:700}.admin-dashboard-reports:hover{background:#edf5fb}.tool-card{display:flex;flex-direction:column;width:100%;min-height:185px;padding:0;overflow:hidden;text-align:left;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.tool-card:hover{border-color:#9cbfdd}.tool-card:focus-visible{outline:3px solid #7db6e6;outline-offset:3px}.tool-card-header{display:flex;justify-content:center;align-items:center;gap:6px;width:100%;min-height:42px;padding:8px;color:#fff;background:#438bc7;font-size:16px;font-weight:700}.tool-card-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px;flex:1;width:100%;padding:18px 14px 14px;color:#333;font-size:14px}.tool-card-link{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;flex:none;color:#fff;background:#438bc7;border-radius:5px;padding:9px 13px;font-size:13px}.settings-page{max-width:800px;margin:0 auto}.settings-page>h1{color:#2d6faa;font-size:32px;font-weight:400;text-align:center;margin:0 0 24px}.settings-page .back-link{margin:0 0 18px}.settings-card{overflow:hidden;margin-bottom:22px;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.settings-card>h2{margin:0;padding:10px 16px;color:#fff;background:#438bc7;font-size:16px;font-weight:700;text-align:center}.settings-card-body{padding:22px 24px}.settings-card-body>p:first-child{margin:0 0 18px;color:#333;font-size:14px}.settings-card-body form{display:flex;flex-direction:column;max-width:470px}.settings-card-body label{margin:0 0 7px;color:#333;font-size:14px;font-weight:700}.settings-card-body input{height:39px;margin:0 0 17px;padding:8px 11px;color:#222;background:#fff;border:1px solid #bfcbd6;border-radius:4px;outline:none}.settings-card-body input:focus{border-color:#438bc7;box-shadow:0 0 0 2px #438bc72e}.settings-button,.settings-delete-button,.settings-outline-button{align-self:flex-start;min-height:35px;padding:7px 13px;border-radius:5px;font-size:13px}.settings-button{color:#fff;background:#438bc7;border:1px solid #438bc7}.settings-button:hover{background:#347bb8}.settings-button:disabled,.settings-delete-button:disabled{opacity:.55;cursor:not-allowed}.settings-note{max-width:620px;color:#777;font-size:12px;line-height:1.5;margin:15px 0 0}.settings-message{max-width:470px;margin:0 0 16px;padding:9px 11px;border-radius:4px;font-size:13px}.settings-message.success{color:#236b39;background:#e9f6ec;border:1px solid #b9dfc2}.settings-message.error{color:#a92b36;background:#fcecee;border:1px solid #edc1c7}.settings-danger{margin-top:35px}.settings-danger>h2{background:#b7454f}.settings-outline-button{color:#555;background:#fff;border:1px solid #bfcbd6}.settings-delete-button{color:#fff;background:#b7454f;border:1px solid #b7454f}.settings-delete-button:hover:not(:disabled){background:#9f333e}.settings-actions{display:flex;flex-wrap:wrap;gap:10px}.global-error{margin-top:15px;padding:10px 12px;color:#a92b36;background:#fcecee;border:1px solid #edc1c7;border-radius:4px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.new-entry-heading{text-align:center;margin-bottom:27px}.new-entry-heading h1{margin:0;color:#2d6faa;font-size:clamp(28px,3vw,36px);font-weight:400}.new-entry-heading p{margin:7px 0 0;color:#999;font-size:16px;font-style:italic}.entry-home-link{display:inline-flex;align-items:center;gap:5px;margin-top:13px;padding:3px 5px;color:#8a98a6;background:transparent;border:0;font-size:14px}.entry-home-link:hover{color:#2d6faa;text-decoration:underline}.teacher-panel{overflow:hidden;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.teacher-panel-bar{min-height:43px;padding:10px 17px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#438bc7}.teacher-panel-bar h2{margin:0;font-size:16px;font-weight:700}.teacher-panel-bar span{font-size:13px}.teacher-toolbar{padding:15px 17px;border-bottom:1px solid #dce1e5}.teacher-search{width:min(100%,340px);height:36px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid #cbd4dc;border-radius:4px;color:#8795a2}.teacher-search:focus-within{border-color:#438bc7;box-shadow:0 0 0 2px #438bc727}.teacher-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#333;font-size:14px}.teacher-table-scroll{overflow-x:auto}.teacher-table{width:100%;border-collapse:collapse;color:#26323b;font-size:14px}.teacher-table th{padding:11px 14px;text-align:left;font-weight:700;background:#f8f9fa;border-bottom:1px solid #d4dbe1}.teacher-table td{padding:9px 14px;border-bottom:1px solid #dce1e5}.teacher-table th:first-child,.teacher-table td:first-child{width:58px;padding-left:20px}.teacher-table th:last-child,.teacher-table td:last-child{width:30%}.teacher-table tbody tr{cursor:pointer}.teacher-table tbody tr:nth-child(2n){background:#f4f5f6}.teacher-table tbody tr:hover{background:#e9f3fb}.teacher-table tbody tr.selected{background:#e2f0fb}.teacher-table input[type=radio]{width:15px;height:15px;margin:0;accent-color:#438bc7;cursor:pointer}.teacher-state{margin:0;padding:26px 20px;color:#678;font-size:14px}.teacher-selection{padding:14px 18px;border-top:1px solid #dce1e5;background:#f8fbfd;color:#4e6172;font-size:14px}.teacher-selection strong{color:#2d6faa}.entry-steps{display:flex;gap:10px;margin:0 0 20px;color:#8a98a6;font-size:13px}.entry-steps span{padding:7px 12px;border-radius:4px;background:#e9edf0}.entry-steps span.active{color:#fff;background:#438bc7}.entry-steps span.done{color:#2c6f42;background:#e2f1e5}.entry-panel{overflow:hidden;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.entry-panel-body{padding:24px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.category-card{min-height:126px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;border:1px solid;border-radius:5px;font-size:16px;font-weight:700;line-height:1.35;transition:box-shadow .15s,transform .15s}.category-card:hover{transform:translateY(-2px)}.category-card:focus-visible{outline:3px solid #438bc7;outline-offset:3px}.category-card.positive{color:#25643c;background:#e7f4e9;border-color:#b7d9be}.category-card.negative{color:#a33d3d;background:#fbeaea;border-color:#edc4c4}.category-card.positive.selected{border-color:#399454;box-shadow:inset 0 0 0 2px #399454}.category-card.negative.selected{border-color:#c75b5b;box-shadow:inset 0 0 0 2px #c75b5b}.category-card svg{flex:none}.entry-actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:21px}.entry-actions .entry-next-button{grid-column:1 / -1;width:100%}.entry-next-button,.entry-secondary-button{min-height:39px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:700}.entry-next-button{color:#fff;background:#4ca568}.entry-next-button:hover:not(:disabled){background:#3d8d57}.entry-next-button:disabled{opacity:.52;cursor:not-allowed}.entry-secondary-button{color:#4b6273;background:#fff;border-color:#bfccd5}.entry-secondary-button:hover{background:#f0f5f8}.entry-summary{display:flex;flex-wrap:wrap;gap:10px 30px;margin-bottom:25px;padding:13px 15px;color:#546675;background:#f5f8fa;border:1px solid #e2e8ec;border-radius:4px;font-size:14px}.entry-summary strong{color:#2b465c}.comment-label{display:block;margin-bottom:9px;color:#26323b;font-size:14px;font-weight:700}.comment-label span{color:#8a98a6;font-weight:400}.entry-panel textarea{display:block;width:100%;max-width:730px;min-height:155px;padding:12px;resize:vertical;color:#26323b;background:#fff;border:1px solid #bfcbd6;border-radius:4px;font:inherit;font-size:14px;line-height:1.5}.entry-panel textarea:focus{outline:0;border-color:#438bc7;box-shadow:0 0 0 2px #438bc727}.comment-count{max-width:730px;margin:7px 0 0;color:#8a98a6;text-align:right;font-size:12px}.entry-error{max-width:730px;padding:10px 12px;color:#a92b36;background:#fcecee;border:1px solid #edc1c7;border-radius:4px;font-size:13px}.entry-saved{padding:52px 28px;text-align:center;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.entry-saved-icon{width:58px;height:58px;margin:0 auto 15px;display:grid;place-items:center;color:#fff;background:#4ca568;border-radius:50%}.entry-saved-icon-warning{background:#cf3342}.entry-saved .entry-next-button{margin-right:12px;margin-bottom:10px}.moderation-setting{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-weight:600;cursor:pointer}.moderation-setting input{width:18px;height:18px;margin-top:2px;accent-color:#2374c8}.school-reset-panel{border-color:#e8b8bd}.school-reset-panel .teacher-panel-bar{background:#b72d3d}.school-reset-button{min-height:40px;padding:9px 15px;border:1px solid #b72d3d;border-radius:5px;background:#b72d3d;color:#fff;font:inherit;font-weight:700;cursor:pointer}.school-reset-button:disabled{opacity:.5;cursor:not-allowed}.school-reset-confirm{display:grid;gap:12px;max-width:540px}.school-reset-confirm input{width:100%;padding:10px;border:1px solid #bfcbd6;border-radius:5px;font:inherit}.school-reset-confirm>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.category-management-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:12px;align-items:end;margin:20px 0}.category-management-form label{display:grid;gap:6px;font-weight:600}.category-management-form input,.category-management-form select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bfcbd6;border-radius:5px;font:inherit}.category-management-form .school-create-button{margin:0}.category-management-list{list-style:none;padding:0;margin:0}.category-management-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #e1e6eb}.category-management-list li strong{flex:1}.category-tone-positive{color:#25643c}.category-tone-negative{color:#a33d3d}@media(max-width:650px){.category-management-form{grid-template-columns:1fr}}.entry-saved h2{margin:0 0 10px;color:#2d6faa;font-size:25px;font-weight:400}.entry-saved p{margin:0 0 24px;color:#678;font-size:14px}.read-page .new-entry-heading{margin-bottom:28px}.read-view-tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid #cbd6df}.read-view-tabs button{min-height:44px;margin-bottom:-1px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#5d7080;background:transparent;border:0;border-bottom:3px solid transparent;font-size:14px;font-weight:600}.read-view-tabs button:hover{color:#2d6faa;background:#ecf3f9}.read-view-tabs button.active{color:#2d6faa;border-bottom-color:#438bc7}.read-view-tabs button:focus-visible{outline:2px solid #438bc7;outline-offset:-3px}.read-teacher-panel,.read-categories-panel{margin-bottom:22px}.read-comment-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 13px;margin:0 0 17px;padding:13px 16px;background:#fff;border:1px solid #dce5ec;border-radius:7px;color:#344553;font-size:13px}.read-comment-controls>label:first-child{font-weight:700}.read-comment-controls select{min-height:35px;padding:5px 10px;color:#26323b;background:#fff;border:1px solid #bfcbd6;border-radius:5px}.read-comments-only{display:inline-flex;align-items:center;gap:7px;margin-left:auto;cursor:pointer}.read-comments-only input{width:16px;height:16px;accent-color:#438bc7}@media(max-width:650px){.read-comments-only{width:100%;margin-left:0}}.read-current-selection{margin:0 0 12px;color:#678;text-align:center;font-size:14px}.read-current-selection strong{color:#2d6faa}.read-select-wrap{position:relative;width:100%;margin-inline:auto}.read-select-wrap select{width:100%;height:42px;padding:0 38px 0 12px;appearance:none;color:#26323b;background:#fff;border:1px solid #bfcbd6;border-radius:4px;font-size:14px;cursor:pointer}.read-select-wrap select:focus{outline:0;border-color:#438bc7;box-shadow:0 0 0 2px #438bc727}.read-select-wrap select:disabled{color:#8a98a6;cursor:not-allowed}.read-select-wrap svg{position:absolute;top:12px;right:12px;color:#7c8e9e;pointer-events:none}.read-hint{margin:0;color:#678;font-size:14px}.read-select-wrap+.read-hint{margin-top:12px}.read-balance{max-width:100%;margin-top:22px}.read-balance-bar{width:100%;height:18px;display:flex;overflow:hidden;background:#e9edf0;border-radius:4px}.read-balance-bar span{display:block;height:100%;transition:width .25s ease}.read-balance-positive{background:#4ca568}.read-balance-negative{background:#c85a5a}.read-balance-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 25px;margin-top:10px;color:#678;font-size:12px}.read-balance-legend span{display:inline-flex;align-items:center;gap:6px}.read-balance-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}.read-legend-positive{background:#4ca568}.read-legend-negative{background:#c85a5a}.read-category-table{width:100%;border-collapse:collapse;color:#26323b;font-size:14px}.read-category-table th{padding:11px 17px;text-align:left;background:#f8f9fa;border-bottom:1px solid #d4dbe1;font-weight:700}.read-category-table td{padding:0 17px;border-bottom:1px solid #dce1e5}.read-category-table tbody tr:last-child td{border-bottom:0}.read-category-table th:last-child,.read-category-table td:last-child{width:130px;text-align:center}.read-category-table tbody tr{cursor:pointer}.read-category-table tbody tr:hover{background:#f1f7fc}.read-category-table tbody tr.selected{background:#e7f2fb}.read-category-table button{width:100%;min-height:42px;padding:10px 0;display:flex;align-items:center;gap:10px;color:#26323b;background:transparent;border:0;text-align:left;font-size:14px}.read-category-table button:focus-visible{outline:2px solid #438bc7;outline-offset:-2px}.read-category-table button svg{flex:none}.read-type-positive{color:#4ca568}.read-type-negative{color:#c85a5a}.read-group-scroll{overflow-x:auto}.read-group-table{width:100%;border-collapse:collapse;color:#26323b;font-size:14px}.read-group-table th{padding:11px 17px;text-align:left;background:#f8f9fa;border-bottom:1px solid #d4dbe1;font-weight:700}.read-group-table td{padding:14px 17px;border-bottom:1px solid #dce1e5;vertical-align:top}.read-group-table tbody tr:last-child td{border-bottom:0}.read-group-table tbody tr:nth-child(2n){background:#f8f9fa}.read-group-table th:first-child,.read-group-table td:first-child{width:28%}.read-group-table th:nth-child(2),.read-group-table td:nth-child(2){width:110px;text-align:center}.read-teacher-counts{margin:0;padding:0;list-style:none}.read-teacher-counts>li+li{margin-top:16px}.read-teacher-line{font-weight:700}.read-teacher-line span{color:#2d6faa;font-weight:400}.read-individual-list{margin:7px 0 0;padding:0;list-style:none}.read-comment-list{margin:0;padding:0;list-style:none}.read-individual-entry{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 14px;padding:6px 0;color:#4c6070;font-size:13px}.read-individual-entry+.read-individual-entry{border-top:1px solid #e5eaed}.read-individual-entry>span:first-child{min-width:0;flex:1;line-height:1.5;overflow-wrap:anywhere}.read-inline-comment{color:#657584;font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere}.read-entry-actions{display:inline-flex;flex:none;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 10px}.read-report-button{flex:none;padding:3px 6px;display:inline-flex;align-items:center;gap:4px;color:#a83f47;background:transparent;border:0;border-radius:4px;font-size:12px}.read-report-button:hover{background:#fbecee}.read-report-button:focus-visible{outline:2px solid #a83f47}.read-like-wrap{display:inline-flex;align-items:center;gap:4px}.read-like-button{padding:3px 5px;display:inline-flex;align-items:center;gap:4px;color:#477a58;background:transparent;border:0;border-radius:4px;font-size:12px}.read-like-button:hover:not(:disabled),.read-like-button.is-liked{color:#2d6e42;background:#eaf5ed}.read-like-button:focus-visible{outline:2px solid #2d6e42}.read-like-button:disabled{opacity:.55;cursor:wait}.read-like-count{color:#657584;font-size:12px;font-style:italic}.read-hype-list{margin:0;padding:0;list-style:none}.read-hype-item{padding:19px 21px;display:flex;align-items:flex-start;gap:16px;border-bottom:1px solid #dce1e5}.read-hype-item:last-child{border-bottom:0}.read-hype-item:nth-child(2n){background:#f8f9fa}.read-hype-rank{width:28px;height:28px;flex:none;display:grid;place-items:center;color:#2d6faa;background:#e8f1f8;border-radius:4px;font-size:13px;font-weight:700}.read-hype-content{min-width:0;flex:1}.read-hype-comment{margin:2px 0 10px;color:#26323b;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.read-hype-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;color:#657584;font-size:12px}.read-hype-meta span{display:inline-flex;align-items:center;gap:5px}.read-hype-positive{color:#36814d}.read-hype-negative{color:#b34545}.read-hype-item>.read-entry-actions{align-self:center}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px}.today-filter{display:inline-flex;align-items:center;gap:8px;margin:17px 20px 0;color:#344553;font-size:13px;cursor:pointer}.today-filter input{width:16px;height:16px;accent-color:#438bc7}.today-no-comment{color:#8a98a6;font-style:italic}.today-card{display:flex;flex-direction:column;min-width:0;padding:19px;background:#fff;border:1px solid #dce5ec;border-radius:9px;box-shadow:0 2px 6px #1d2e3a0b}.today-comment{flex:1;margin:0 0 18px;color:#26323b;font-size:16px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.today-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 13px;color:#63717c;font-size:12px}.today-category{display:inline-flex;padding:5px 8px;border-radius:5px;font-weight:700}.today-category.positive{color:#287044;background:#e8f5ec}.today-category.negative{color:#9c4147;background:#fbecef}.today-actions{display:flex;justify-content:flex-end;min-height:29px;margin-top:16px;padding-top:12px;border-top:1px solid #e5eaed}@media(max-width:650px){.today-grid{grid-template-columns:1fr;padding:14px}}.read-export{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-top:24px}.read-export-button{min-height:40px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:#438bc7;border:1px solid #438bc7;border-radius:5px;font-size:14px;font-weight:700}.read-export-button:hover:not(:disabled){background:#347bb8}.read-export-button:disabled{opacity:.55;cursor:not-allowed}.read-export .entry-error{margin:0}.report-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:#18293999}.report-modal{width:min(100%,530px);max-height:min(90vh,760px);overflow:auto;background:#fff;border:1px solid #b9c7d2;border-radius:8px;box-shadow:0 20px 55px #11263d52}.report-modal-head{min-height:48px;padding:10px 16px 10px 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#438bc7}.report-modal-head h2{margin:0;font-size:18px;font-weight:700}.report-close{width:28px;height:28px;display:grid;place-items:center;color:#fff;background:transparent;border:0;border-radius:4px}.report-close:hover:not(:disabled){background:#ffffff2e}.report-modal-body{padding:23px 25px 25px}.report-context{margin:0 0 12px;color:#40576a;font-size:14px;font-weight:700}.report-entry-comment{margin:0 0 20px;color:#657584;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.report-modal-body label{display:block;margin-bottom:8px;color:#26323b;font-size:14px;font-weight:700}.report-modal-body textarea{width:100%;min-height:130px;padding:11px;resize:vertical;color:#26323b;background:#fff;border:1px solid #bfcbd6;border-radius:4px;font:inherit;font-size:14px;line-height:1.5}.report-modal-body textarea:focus{outline:0;border-color:#438bc7;box-shadow:0 0 0 2px #438bc727}.report-helper{margin:6px 0 18px;color:#8a98a6;font-size:12px}.report-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.report-submit{min-height:39px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#b7454f;border:1px solid #b7454f;border-radius:5px;font-size:13px;font-weight:700}.report-submit:hover:not(:disabled){background:#9e343f}.report-submit:disabled{opacity:.55;cursor:not-allowed}.report-success{display:flex;flex-direction:column;align-items:center;text-align:center}.report-success-icon{width:48px;height:48px;display:grid;place-items:center;color:#fff;background:#4ca568;border-radius:50%}.report-success p{margin:17px 0 23px;color:#40576a;font-size:14px}.report-case-label{color:#7b8b98;font-size:12px}.report-case-number{margin:4px 0 25px;color:#2d6faa;font-size:22px;letter-spacing:.4px}.admin-page{max-width:1000px}.admin-page .new-entry-heading{margin-bottom:25px}.admin-page>.entry-error{max-width:none;margin-bottom:16px}.admin-notice{margin:0 0 16px;padding:10px 12px;color:#236b39;background:#e9f6ec;border:1px solid #b9dfc2;border-radius:4px;font-size:13px}.admin-report-list{margin:0;padding:0;list-style:none}.admin-report-item{padding:20px 24px;border-bottom:1px solid #dce1e5}.admin-report-item:last-child{border-bottom:0}.admin-report-topline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}.admin-report-topline strong{color:#2d6faa;font-size:16px}.admin-report-topline time{color:#7a8996;font-size:12px}.admin-report-meta{display:flex;flex-wrap:wrap;gap:5px 18px;margin:10px 0 17px;color:#526575;font-size:13px}.admin-report-meta span+span:before{content:"·";margin-right:18px;color:#9caab5}.admin-report-comment,.admin-report-reason{margin:0 0 14px;padding:11px 13px;color:#26323b;background:#f7f9fa;border-left:3px solid #b8cad8;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.admin-report-reason{border-left-color:#438bc7}.admin-report-comment span,.admin-report-reason span{display:block;margin-bottom:3px;color:#678;font-size:12px;font-weight:700}.admin-report-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}.admin-keep-button,.admin-delete-button{min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid;border-radius:5px;font-size:13px;font-weight:700}.admin-keep-button{color:#236b39;background:#fff;border-color:#9fcbab}.admin-keep-button:hover:not(:disabled){background:#e9f6ec}.admin-delete-button{color:#fff;background:#b7454f;border-color:#b7454f}.admin-delete-button:hover:not(:disabled){background:#9f333e}.admin-keep-button:disabled,.admin-delete-button:disabled{opacity:.55;cursor:not-allowed}.admin-history{margin:24px 0;background:#fff;border:1px solid #d3d3d3;border-radius:8px;box-shadow:0 2px 6px #0000002b}.admin-history summary{padding:13px 17px;display:flex;align-items:center;gap:9px;color:#2d6faa;cursor:pointer;font-size:14px;font-weight:700}.admin-history summary:focus-visible{outline:2px solid #438bc7;outline-offset:-3px}.admin-history-list{border-top:1px solid #dce1e5}.admin-history-row{padding:11px 17px;display:grid;grid-template-columns:135px minmax(0,1fr) 145px 145px;align-items:center;gap:10px;border-bottom:1px solid #e4e9ec;color:#526575;font-size:12px}.admin-history-row:last-child{border-bottom:0}.admin-history-row strong{color:#2d6faa}.admin-history-row time{text-align:right}.admin-status-kept{color:#287042}.admin-status-deleted{color:#b34545}.admin-delete-modal .report-modal-body>p{margin:0 0 23px;color:#40576a;font-size:14px;line-height:1.5}.school-management-page{max-width:1000px}.school-management-page .new-entry-heading{margin-bottom:25px}.school-management-page>.entry-error{max-width:none}.school-create-panel{margin-bottom:23px}.school-create-form{padding:22px 24px 24px}.school-create-form>p{margin:0 0 19px;color:#657584;font-size:13px}.school-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.school-create-grid label{display:block;margin-bottom:7px;color:#26323b;font-size:13px;font-weight:700}.school-create-grid input{width:100%;height:40px;padding:8px 10px;color:#26323b;background:#fff;border:1px solid #bfcbd6;border-radius:4px;font:inherit;font-size:14px}.school-create-grid input:focus{outline:0;border-color:#438bc7;box-shadow:0 0 0 2px #438bc727}.school-create-button{min-height:39px;margin-top:22px;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;color:#fff;background:#438bc7;border:1px solid #438bc7;border-radius:5px;font-size:13px;font-weight:700}.school-create-button:hover:not(:disabled){background:#347bb8}.school-create-button:disabled{opacity:.55;cursor:wait}.school-management-list{margin:0;padding:0;list-style:none}.school-management-list li{padding:13px 18px;display:flex;align-items:center;gap:12px;color:#26323b;border-bottom:1px solid #dce1e5;font-size:14px}.school-management-list li:last-child{border-bottom:0}.school-management-list svg{color:#438bc7}.school-management-list span{flex:1}.school-management-list small{color:#287042;font-size:12px}.school-import-panel{margin-bottom:20px}.school-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.school-import-item{padding:20px}.school-import-item+.school-import-item{border-left:1px solid #e0e5e9}.school-import-item h3{margin:0 0 8px;font-size:16px}.school-import-item p{min-height:42px;margin:0 0 16px;color:#68737c;font-size:13px;line-height:1.55}.school-import-item code{color:#315f83}.school-import-item label{display:block;margin-bottom:7px;font-size:13px;font-weight:650}.school-import-item input[type=file]{width:100%;font-size:13px}.import-overlay{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:18px;background:#152c3cc4}.import-dialog{display:flex;flex-direction:column;width:min(100%,1050px);max-height:min(92vh,900px);overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 20px 70px #0718245c}.import-dialog-head{display:flex;justify-content:space-between;gap:16px;padding:20px 24px;color:#fff;background:#438bc7}.import-dialog-head span{font-size:11px;font-weight:800;letter-spacing:.1em;opacity:.8}.import-dialog-head h2{margin:5px 0;font-size:22px}.import-dialog-head p{margin:0;font-size:12px;opacity:.85}.import-dialog-head button{align-self:flex-start;display:grid;place-items:center;width:32px;height:32px;color:#fff;background:#ffffff25;border:0;border-radius:5px}.import-dialog-body{min-height:0;overflow-y:auto;padding:23px 24px;color:#344553}.import-dialog-body h3{margin:0 0 7px;color:#315f83;font-size:17px}.import-dialog-body>p{margin:0 0 18px;color:#647583;font-size:13px;line-height:1.5}.import-mapping{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 26px}.import-mapping label{display:grid;gap:6px;min-width:175px;flex:1;color:#344553;font-size:13px;font-weight:700}.import-mapping select{width:100%;height:39px;padding:7px 10px;background:#fff;border:1px solid #bfccd6;border-radius:5px}.import-table-wrap{max-height:360px;overflow:auto;border:1px solid #dce5ec;border-radius:7px}.import-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.import-table-wrap th,.import-table-wrap td{padding:9px 12px;border-bottom:1px solid #e7edf1;text-align:left;white-space:nowrap}.import-table-wrap th{position:sticky;top:0;z-index:1;color:#315f83;background:#eff5f9}.import-disabled-row{color:#8b969e;background:#f2f4f6}.import-disabled-row input{cursor:not-allowed}.import-ready{display:inline-flex;align-items:center;gap:4px;color:#19804d;font-weight:700}.import-summary{margin:0 0 14px;padding:10px 13px;color:#315f83;background:#edf5fb;border-radius:5px;font-size:13px}.import-small{margin:8px 0 0!important;font-size:12px!important}.import-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:15px 24px;border-top:1px solid #e1e8ed}.import-dialog-actions .school-create-button,.import-dialog-actions .settings-outline-button{margin:0;align-self:auto}@media(max-width:650px){.school-import-grid{grid-template-columns:1fr}.school-import-item+.school-import-item{border-left:0;border-top:1px solid #e0e5e9}}@media(max-width:650px){.import-overlay{padding:8px}.import-dialog{max-height:98vh}.import-dialog-head,.import-dialog-body,.import-dialog-actions{padding:15px}.import-dialog-head h2{font-size:18px}}.roster-panel{margin-bottom:32px}.roster-table-wrap{overflow-x:auto}.roster-table{width:100%;border-collapse:collapse;font-size:14px}.roster-table th,.roster-table td{padding:10px 18px;border-bottom:1px solid #e0e5e9;text-align:left}.roster-table thead th{color:#63717c;font-size:12px;font-weight:650}.roster-class-row th{padding-top:15px;background:#f6f8fa;color:#315f83;font-size:14px}.roster-table tbody tr:last-child td{border-bottom-color:#cdd6dd}.account-activated{color:#16834a}.account-not-activated{color:#c43d46}.account-remove-button{display:inline-grid;width:32px;height:32px;place-items:center;padding:0;color:#a84049;background:#fff;border:1px solid #e6c7ca;border-radius:5px;cursor:pointer}.account-remove-button:hover:not(:disabled){color:#fff;background:#a84049;border-color:#a84049}.account-remove-button:disabled{opacity:.5;cursor:not-allowed}.school-admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:14px 0 24px}.school-admin-heading h1{margin:0;color:#315f83;font-size:30px}.school-admin-heading p{margin:5px 0 0;color:#77828b;font-size:14px}.school-admin-eyebrow{display:block;margin-bottom:8px;color:#438bc7;font-size:11px;font-weight:800;letter-spacing:.12em}.school-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.school-overview-card{display:flex;align-items:center;gap:13px;min-width:0;padding:17px;text-align:left;color:#315f83;background:#fff;border:1px solid #dce5ec;border-radius:9px;box-shadow:0 2px 6px #1d2e3a0b;cursor:pointer}.school-overview-card:hover{border-color:#91bbda;background:#fafdff}.school-overview-card:focus-visible{outline:3px solid #7db6e6;outline-offset:2px}.school-overview-icon{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:9px;background:#eaf3f9;color:#287cb7}.school-overview-card>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.school-overview-card strong{font-size:25px;line-height:1}.school-overview-card small{color:#63717c;font-size:12px}.school-overview-card>svg{flex:0 0 auto;color:#8aa5b8}.school-admin-layout{display:grid;grid-template-columns:225px minmax(0,1fr);align-items:start;gap:22px}.school-admin-nav{position:sticky;top:82px;display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid #e0e5e9;border-radius:10px;background:#fff;box-shadow:0 2px 8px #1d2e3a0b}.school-admin-nav button{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:#52616c;text-align:left;font:inherit;font-size:14px;cursor:pointer}.school-admin-nav button svg{color:#64849c}.school-admin-nav button:hover{background:#f3f7fa}.school-admin-nav button.active{background:#eaf3f9;color:#286c9f;font-weight:650}.school-admin-nav button.active svg{color:#287cb7}.school-admin-nav button:focus-visible{outline:2px solid #438bc7;outline-offset:-2px}.school-admin-content{min-width:0}.school-admin-content>.entry-panel{margin-bottom:18px}.school-section-panel{min-height:180px}.school-section-panel .teacher-state,.account-generation-content{padding:22px}.account-generation-content>p{max-width:760px;margin:0 0 18px;color:#5b6872;font-size:14px;line-height:1.6}.account-generation-content>label{display:block;margin-bottom:7px;font-size:13px;font-weight:650}.account-generation-content>input{width:min(100%,280px);padding:10px 12px;border:1px solid #cbd5dc;border-radius:6px;font:inherit}.account-generation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}.account-generation-content>small{color:#71808a;font-size:12px}.school-import-intro{margin:0;padding:18px 20px 0;color:#5b6872;font-size:13px;line-height:1.5}.school-import-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:12px;color:#287cb7;background:#eaf3f9;border-radius:8px}.first-password-panel .primary-btn{margin-top:18px}.teacher-account-welcome{display:flex;align-items:center;gap:12px;max-width:620px;padding:22px;color:#52616c}.teacher-account-welcome svg{flex:0 0 auto;color:#438bc7}.teacher-account-welcome p{margin:0}@media(max-width:760px){.school-admin-layout{grid-template-columns:1fr;gap:14px}.school-admin-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.school-admin-heading{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.school-overview-grid{grid-template-columns:1fr;gap:9px}.school-overview-card{padding:12px 14px}}@media(max-width:420px){.school-admin-nav{grid-template-columns:1fr}}@media(max-width:900px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.tool-grid{grid-template-columns:1fr;gap:16px}.dashboard-welcome{margin-bottom:27px}.tool-card{min-height:135px}.settings-card-body{padding:18px}}@media(max-width:650px){.comparison-content{padding:16px}.comparison-row{grid-template-columns:minmax(0,1fr) 35px;gap:6px 10px}.comparison-name{grid-column:1 / -1}}@media(max-width:650px){.entry-steps{flex-wrap:wrap}.entry-panel-body{padding:16px}.category-grid{gap:10px}.category-card{min-height:112px;padding:12px;font-size:14px}}@media(max-width:650px){.read-hype-item{flex-wrap:wrap;gap:8px 12px;padding:16px}.read-hype-item>.read-entry-actions{width:100%;justify-content:flex-end}}@media(max-width:650px){.admin-report-item{padding:17px}.admin-history-row{grid-template-columns:1fr 1fr}.admin-history-row time{text-align:left}}@media(max-width:650px){.school-create-grid{grid-template-columns:1fr;gap:14px}.school-create-form{padding:17px}}@media(max-width:650px){.admin-tool-grid{grid-template-columns:1fr}}@media(max-width:520px){.login-main{padding-block:24px}.form-panel{padding:30px 24px}}@media(max-width:520px){.site-header{height:46px}.brand{font-size:18px}}@media(max-width:650px){.container,.header-inner{width:calc(100% - 28px)}.app-shell,.dashboard,.school-admin-content,.entry-panel,.teacher-panel{min-width:0}.dashboard{padding-top:16px;padding-bottom:38px}.dashboard-welcome h1,.new-entry-heading h1,.school-admin-heading h1{font-size:clamp(25px,7vw,30px)}.dashboard-welcome p,.new-entry-heading p{font-size:14px}.header-inner{gap:8px}.header-right{gap:3px;flex:0 0 auto}.header-logout{width:40px;height:40px;padding:0;justify-content:center}.header-logout svg{width:19px;height:19px}.header-report-badge{display:inline-flex!important;position:absolute;top:-2px;right:-3px;min-width:17px;height:17px;font-size:10px}.header-school{display:none}.footer{min-height:62px;gap:12px;padding-block:12px;font-size:11px}.footer a{text-align:right}.tool-grid,.admin-tool-grid,.teacher-tool-grid{grid-template-columns:1fr;gap:12px}.tool-card{min-height:115px}.tool-card-body{gap:8px}.entry-panel-body,.settings-card-body,.account-generation-content{padding:16px}.teacher-panel-bar{gap:8px}.teacher-panel-bar h2{font-size:15px}.teacher-toolbar{padding:12px}.teacher-search{width:100%}.teacher-table-scroll,.read-group-scroll,.roster-table-wrap,.import-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.teacher-table{min-width:560px}.read-group-table{min-width:600px}.roster-table{min-width:760px}.import-table-wrap table{min-width:600px}.read-view-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.read-view-tabs button{flex:0 0 auto;padding-inline:12px}.read-category-table th,.read-category-table td{padding-inline:10px}.read-category-table th:last-child,.read-category-table td:last-child{width:80px}.read-comment-controls select{max-width:100%}.admin-history-row{grid-template-columns:minmax(0,1fr) auto}.admin-history-row>*{min-width:0;overflow-wrap:anywhere}.school-admin-nav{display:flex;flex-direction:row;overflow-x:auto;max-width:100%;padding:5px;gap:3px;-webkit-overflow-scrolling:touch}.school-admin-nav button{flex:0 0 auto;min-height:44px;white-space:nowrap;padding-inline:10px}.school-admin-heading{gap:8px}.account-generation-actions{flex-direction:column}.account-generation-actions button{width:100%;justify-content:center}.school-create-button,.settings-outline-button,.admin-keep-button,.admin-delete-button{min-height:44px}.import-dialog-actions{flex-wrap:wrap}.import-dialog-actions button{flex:1 1 140px}.import-mapping label{min-width:min(100%,175px)}input[type=text],input[type=password],input[type=email],input[type=search],select,textarea{font-size:16px}}@media(max-width:380px){.container,.header-inner{width:calc(100% - 20px)}.brand{font-size:16px}.header-logout{width:36px}.read-category-table,.read-category-table button{font-size:12px}}.school-management-page{width:100%;max-width:none;padding:0}.school-admin-layout{grid-template-columns:240px minmax(0,1fr);gap:0;align-items:stretch}.school-admin-nav{position:sticky;top:46px;align-self:start;height:calc(100dvh - 46px);min-height:480px;padding:22px 12px 16px;border:0;border-right:1px solid #dbe5ed;border-radius:0;background:#fff;box-shadow:2px 0 8px #1d2e3a0b}.school-admin-nav-title{display:block;padding:0 13px 18px;color:#315f83;font-size:17px;font-weight:700}.school-admin-nav button{width:100%}.school-admin-nav .school-admin-nav-back{margin-top:auto;color:#2d6faa;border-top:1px solid #e3ebf1;border-radius:0;padding-top:14px}.school-admin-content{width:min(100%,1500px);padding:22px clamp(20px,3vw,48px) 48px}.school-admin-heading{margin-top:0}.school-admin-content .entry-panel{width:100%}.school-module-description{margin:0;padding:15px 20px;color:#5b6872;font-size:14px;line-height:1.5}.roster-table th,.roster-table td{padding:13px 20px}.roster-table-wrap{width:100%}.manual-person-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px 16px;padding:0 20px 20px}.manual-person-form label{display:grid;gap:6px;flex:1 1 170px;min-width:0;color:#344553;font-size:13px;font-weight:700}.manual-person-form input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bfcbd6;border-radius:5px;background:#fff;color:#26323b;font:inherit;font-weight:400}.manual-person-form input:focus{outline:2px solid #438bc766;border-color:#438bc7}.manual-person-form .school-create-button{margin:0;justify-content:center}@media(max-width:760px){.school-admin-layout{grid-template-columns:1fr}.school-admin-nav{position:sticky;top:46px;z-index:50;display:flex;flex-direction:row;align-items:center;width:100%;height:auto;min-height:0;overflow-x:auto;padding:7px 12px;border-right:0;border-bottom:1px solid #dbe5ed}.school-admin-nav-title{display:none}.school-admin-nav button{width:auto;flex:0 0 auto}.school-admin-nav .school-admin-nav-back{margin:0 0 0 8px;padding:0 10px;border-top:0;border-left:1px solid #e3ebf1}.school-admin-content{padding:18px 14px 32px}.school-admin-heading{margin-bottom:18px}.manual-person-form{padding-inline:16px}.manual-person-form .school-create-button{width:100%}}.welcome-page{max-width:760px;padding-block:32px 60px}.welcome-card{overflow:hidden;background:#fff;border:1px solid #d6e2eb;border-radius:12px;box-shadow:0 8px 25px #1d2e3a12}.welcome-card-header{display:flex;align-items:center;gap:16px;padding:22px 26px;color:#fff;background:#438bc7}.welcome-card-header>svg{flex:none}.welcome-card-header span{font-size:11px;font-weight:800;letter-spacing:.12em}.welcome-card-header h1{margin:3px 0 0;font-size:clamp(21px,3vw,29px);line-height:1.2}.welcome-intro{margin:0;padding:22px 26px 12px;color:#526575;font-size:15px}.welcome-notices{height:270px;margin:4px 26px 0;padding:19px 22px;overflow-y:auto;border:1px solid #cbdbe7;border-radius:8px;background:#f8fbfd;color:#334655;font-size:14px;line-height:1.65}.welcome-notices:focus{outline:2px solid #438bc7;outline-offset:2px}.welcome-notices h2{margin:20px 0 7px;color:#2d6faa;font-size:17px}.welcome-notices p{margin:0 0 11px}.welcome-notices ul{margin:0 0 13px;padding-left:22px}.welcome-notices li+li{margin-top:6px}.welcome-notices .welcome-end{margin:30px 0 0;color:#657584;font-weight:700}.welcome-read-state{margin:9px 26px 19px;color:#617b90;font-size:12px}.welcome-card form{display:grid;gap:14px;padding:0 26px 26px}.welcome-checkbox{display:flex;align-items:flex-start;gap:11px;color:#263c4d;font-size:14px;line-height:1.45;cursor:pointer}.welcome-checkbox input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#438bc7}.welcome-signature{margin-top:8px;color:#344553;font-size:13px;font-weight:700}.welcome-signature-input{width:100%;min-height:44px;margin-top:-8px;padding:9px 12px;border:1px solid #bfcbd6;border-radius:5px;font:inherit;font-size:16px}.welcome-signature-hint{margin:-4px 0 0;color:#657584;font-size:12px}.welcome-submit{justify-content:center;margin:4px 0 0}@media(max-width:600px){.welcome-page{width:calc(100% - 24px);padding-block:18px 35px}.welcome-card-header{padding:18px}.welcome-intro{padding:17px 18px 10px}.welcome-notices{margin-inline:18px;padding:15px}.welcome-read-state{margin-inline:18px}.welcome-card form{padding-inline:18px}}.school-import-panel{overflow:hidden}.school-import-intro{padding:19px 22px 14px;font-size:14px}.school-import-grid{gap:16px;padding:4px 22px 19px}.school-import-item{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #dce6ee;border-radius:9px;background:#fbfdff}.school-import-item+.school-import-item{border-left:1px solid #dce6ee}.school-import-item h3{margin-bottom:4px;color:#315f83;font-size:17px}.school-import-item p{min-height:0;margin:0 0 5px;color:#63717c}.school-import-item code{display:inline-block;width:fit-content;padding:5px 8px;background:#eaf3f9;border-radius:5px;font-size:13px}.school-import-icon{width:46px;height:46px;margin-bottom:14px}.school-import-file-button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:21px 0 0!important;padding:9px 12px;color:#fff;background:#438bc7;border-radius:6px;cursor:pointer;text-align:center}.school-import-file-button:hover{background:#347bb8}.school-import-file-button:focus-within{outline:2px solid #1e5d92}.school-import-file-input{position:absolute;width:1px!important;height:1px;opacity:0;overflow:hidden}.school-import-footnote{margin:0;padding:0 22px 20px;color:#71808a;font-size:12px}.import-dialog-head p{display:flex;align-items:center;gap:7px;overflow-wrap:anywhere}.import-steps{display:flex;gap:25px;padding:14px 24px;border-bottom:1px solid #e0e8ef;background:#f8fbfd}.import-steps span{display:inline-flex;align-items:center;gap:8px;color:#7b8c99;font-size:13px;font-weight:700}.import-steps span.active{color:#2d6faa}.import-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e5edf3;color:#657584;font-size:12px}.import-steps .active b{background:#438bc7;color:#fff}.import-summary{display:flex;flex-wrap:wrap;gap:8px 20px}.import-summary strong{font-size:16px}.import-selection-tools{display:flex;flex-wrap:wrap;gap:8px 16px;margin:-4px 0 13px}.import-selection-tools button{padding:5px 0;border:0;background:transparent;color:#2d6faa;font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer}.import-selection-tools button:disabled{color:#9aa9b5;cursor:default}@media(max-width:650px){.school-import-grid{grid-template-columns:1fr;padding-inline:16px}.school-import-item+.school-import-item{border-left:1px solid #dce6ee;border-top:1px solid #dce6ee}.school-import-intro,.school-import-footnote{padding-inline:16px}.import-steps{gap:14px;padding-inline:15px}.import-steps span{font-size:11px}}
